AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

SysInfo

 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions
View previous topic :: View next topic  
Author Message
dinkosta



Joined: 28 Sep 2005
Posts: 37
Location: Pirot

PostPosted: Mon Feb 13, 2006 9:23 pm    Post subject: SysInfo Reply with quote

This is a small utility to get some basic information about a system. The button 'Registry Run items' creates a text file with 'Run' entries found under HKLM. The 'Installed software' button creates a text file with entries found under 'HKLM\...\Uninstall'.
Modifications, improvements are welcome. I'd like to include more system info, so if somebody knows how to reliably retrieve information about installed printers, graphic card, processor speed etc. on all OS's (Win 98, XP etc.) ...
Code:
;;; Author: Kostic Dejan
;;; OS: Windows 98SE
;;; AHK Version: 1.0.37.04
;;; Date: 12.01.2006

FormatTime, dat,,dd.MM.yyyy
FormatTime, vrem,A_now,HH:mm

RegRead,tif,HKCU,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Cache   ;get TIF folder

FileSelectFolder, folder, , 3, Select a drive to analyze:
if folder =
   return
DriveGet, list, list                           ;example code from help file
DriveGet, cap, capacity, %folder%
DrivespaceFree, free, %folder%
DriveGet, fs, fs, %folder%
DriveGet, label, label, %folder%
DriveGet, serial, serial, %folder%
DriveGet, type, type, %folder%
DriveGet, status, status, %folder%
     
statString:=MemGetStats()
StringSplit, stats, statString, |
     
Gui,font,s9
Gui, Add, ListView, vDriveInfoListView x10 w410 r32, Data|Value
     LV_Add("","Date:",dat)
     LV_Add("","Time:",vrem)
     LV_Add("","OS:",a_osversion)
     LV_Add("","User name:",a_username)
     LV_Add("","Computer name:",a_computername)
     LV_Add("","Windows folder:",a_windir)
     LV_Add("","Desktop folder:",a_desktop)
     LV_Add("","Start menu folder:",a_startmenu)
     LV_Add("","Startup folder:",a_startup)
     LV_Add("","Temp folder:",temp)
     LV_Add("","Programs folder:",a_programfiles)
     LV_Add("","My documents:",a_mydocuments)
     LV_Add("","Temporary Internet folder:",tif)
     LV_Add("","IP address:",a_ipaddress1)
     LV_Add("","Desktop Width:",a_screenwidth)
     LV_Add("","Desktop Height:",a_screenheight)
     LV_Add("","All drives:",list)
     LV_Add("","Selected drive:",folder)
     LV_Add("","Drive type:",type)
     LV_Add("","Drive Status:",status)
     LV_Add("","Total capacity (MB):",cap)
     LV_Add("","Free space (MB):",free)
     LV_Add("","File system:",fs)
     LV_Add("","Volume label:",label)
     LV_Add("","Serial number:",serial)
     LV_Add("","Memory load (in %):",stats1)
     LV_Add("","Total physical Ram:",stats2)
     LV_Add("","Available physical Ram:",stats3)
     LV_Add("","Total Pagefile:",stats4)
     LV_Add("","Available Pagefile:",stats5)
     LV_Add("","Total Virtual:",stats6)
     LV_Add("","Available Virtual:",stats7)
     LV_ModifyCol(1,"130")
     LV_ModifyCol(2,"Autohdr")
Gui,add,button,x10 w110 grunit,Registry Run items
Gui,add,button,x130 yp w100 ginsw,Installed Software
Gui,add,button,x360 yp w50,E&xit
Gui,show
return

MemGetStats()                    ; code posted by antonyb
{
  VarSetCapacity(memorystatus, 4+4+4+4+4+4+4+4)
  success := DllCall("kernel32.dll\GlobalMemoryStatus", "uint", &memorystatus)
  stats := ReadInteger(&memorystatus,4,4, false)                          ; Memory Load (Percentage of memory in use)
  stats := stats "|" Round(ReadInteger(&memorystatus,8,4, false)/1024)    ; Total Physical Ram
  stats := stats "|" Round(ReadInteger(&memorystatus,12,4, false)/1024)   ; Available Physical Ram
  stats := stats "|" Round(ReadInteger(&memorystatus,16,4, false)/1024)   ; Total Pagefile
  stats := stats "|" Round(ReadInteger(&memorystatus,20,4, false)/1024)   ; Available Pagefile
  stats := stats "|" Round(ReadInteger(&memorystatus,24,4, false)/1024)   ; Total Virtual
  stats := stats "|" Round(ReadInteger(&memorystatus,28,4, false)/1024)   ; Available Virtual
  return stats
}

ReadInteger( p_address, p_offset, p_size, p_hex=true )
{
  value = 0
  old_FormatInteger := a_FormatInteger
  if ( p_hex )
    SetFormat, integer, hex
  else
    SetFormat, integer, dec
  loop, %p_size%
    value := value+( *( ( p_address+p_offset )+( a_Index-1 ) ) << ( 8* ( a_Index-1 ) ) )
  SetFormat, integer, %old_FormatInteger%
  return, value
}

runit:                  ;get Run entries from registry
fileappend,HKLM\Software\Microsoft\Windows\CurrentVersion\Run`n`n,run items.txt
Loop,HKLM, Software\Microsoft\Windows\CurrentVersion\Run,1,1
  {
   RegRead, RegValue
   if ErrorLevel <> 0
   return
   fileappend,Name = %A_LoopRegName%`nValue = %RegValue%`n`n,run items.txt
  }
return

insw:                   ;get installed software
fileappend,HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall`n`t~~~~~~~~~~`n`n,installed software.txt
  Loop, HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, 1, 1
  {
   if a_loopregname = DisplayName
   {
   regread,regvalue
   fileappend, %A_LoopRegSubKey%`nDisplayName = %RegValue%`n`n, installed software.txt
  }
 }
return

GuiClose:
ButtonExit:
ExitApp


Last edited by dinkosta on Sun Feb 19, 2006 9:25 pm; edited 1 time in total
Back to top
View user's profile Send private message
Veovis



Joined: 13 Feb 2006
Posts: 390
Location: Utah

PostPosted: Tue Feb 14, 2006 3:45 am    Post subject: Reply with quote

very nice, i like the guis!
thats a lot of good information

you might be able to look in the 'printers and faxes' folder on a computer (but i think thats an XP things perhaps)

For hardware info...well thats what device manager is for.

But nice work!
_________________

"Power can be given overnight, but responsibility must be taught. Long years go into its making."
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dinkosta



Joined: 28 Sep 2005
Posts: 37
Location: Pirot

PostPosted: Tue Feb 14, 2006 8:44 pm    Post subject: Reply with quote

Thanks for the feedback, Veovis.
BTW, isn't it funny we both posted scripts with similar title at almost the same time?!
Back to top
View user's profile Send private message
SKAN



Joined: 26 Dec 2005
Posts: 6264

PostPosted: Sun Feb 19, 2006 7:39 pm    Post subject: Reply with quote

Dear dinkosta,
I tried you util & its nice Smile

Regards Smile


Quote:
LV_Add("", "Start meni folder:", a_startmenu)

_________________


Last edited by SKAN on Mon Feb 20, 2006 5:17 am; edited 1 time in total
Back to top
View user's profile Send private message
dinkosta



Joined: 28 Sep 2005
Posts: 37
Location: Pirot

PostPosted: Sun Feb 19, 2006 9:24 pm    Post subject: Reply with quote

Hi goyyah,
thanks for the feedback and for pointing out the typo. I've fixed it.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group