| |
|
|
Uwe ''Pascal'' Niemeier | Hi gens!
la fois wieder quoi Neues: KompilierenMarqueSéparationwindow %maxx,%maxy
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
ocxInit()
var objLocator&=ocxCreate("WbemScripting.SWbemLocator")
var objService&=ocxMethod(objLocator&,"ConnectServer",".","root\cimv2")
declare Exec$
Exec$="SELECT * FROM Win32_PerfRawData_PerfOS_Memory"----Speicher
Exec$="SELECT * FROM Win32_SystemEnclosure"--------------PC-Gehäuse
Exec$="SELECT * FROM Win32_LogicalDisk"------------------Laufwerke
Exec$="SELECT * FROM Win32_OperatingSystem"--------------Infos über Windows
Exec$="SELECT * FROM Win32_PointingDevice"---------------Infos über Maus
Exec$="SELECT * FROM Win32_USBHub"-----------------------Verfügbare USB-Anschlüsse
Exec$="SELECT * FROM Win32_Printer"----------------------Infos über Drucker
Exec$="SELECT * FROM Win32_Process"----------------------Prozesse
Exec$="SELECT * FROM Win32_QuickFixEngineering"----------HotFixes
Exec$="SELECT * FROM Win32_Product"----------------------Alle installierten Programme
Exec$="SELECT * FROM Win32_StartupCommand"---------------Autostart-Programme
Exec$="SELECT * FROM Win32_NetworkAdapterConfiguration"--verfügbare Netzwerkverbindungen
Exec$="SELECT * FROM Win32_Service"----------------------Services
var Collection&=ocxMethod(objService&,"ExecQuery",Exec$)
var Count%=ocxGet(Collection&,"Count")
var Enum&=ocxGet(Collection&,"_NewEnum")
declare Obj&
whileloop 0,Count%
CallMethod(Enum&,3,1,Var#,0)--IEnumVARIANT::Next
casenot Var#.vt%=~VT_DISPATCH:break
Obj&=Var#.Val&
print &loop;" von ",Count%
print ocxMethod(Obj&,"GetObjectText_")
ocxRelease(Obj&)
print "<ENTER>"
waitinput
cls
endwhile
print "Ende"
ocxRelease(Enum&,Collection&,objService&,objLocator&)
ocxDeInit()
waitinput
BTW1: là qui Abfrage sur une SQL-Befehl erfolgt, läßt sich cela Ergebnis im Vorfeld sur entsprechende WHERE-Bedingungen eingrenzen.
BTW2: aussi qui Ausgabe läßt sich sur einzelne Datenfelder begrenzen. là mais pas alle Datensätze qui selben Felder enthalten (pas einmal dedans einer System-catégorie), serait chez Abfrage eines pas vorhandenen Feldes qui Fehlermeldung "Unbekannter Name" avoir lieu. ca läßt sich unterdrücken par Changement des ocx-internen ErrorLevels. KompilierenMarqueSéparationwindow %maxx,%maxy
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
ocxInit()
var Exec$=" SELECT * FROM Win32_LogicalDisk WHERE FileSystem = FAT32 "
var objLocator&=ocxCreate("WbemScripting.SWbemLocator")
var objService&=ocxMethod(objLocator&,"ConnectServer",".","root\cimv2")
var Collection&=ocxMethod(objService&,"ExecQuery",Exec$)
var Count%=ocxGet(Collection&,"Count")
var Enum&=ocxGet(Collection&,"_NewEnum")
declare Obj&
whileloop 1,Count%
CallMethod(Enum&,3,1,Var#,0)--IEnumVARIANT::Next
casenot Var#.vt%=~VT_DISPATCH:pause
Obj&=Var#.Val&
ocxErrorlevel%=0--Fehlermeldung à cause de "Irgendwas" unterdrücken
imprimer "Name : ",ocxGet(Obj&,"Name")
imprimer "Description: ",ocxGet(Obj&,"Description")
imprimer "Irgendwas : ",ocxGet(Obj&,"Irgendwas")
ocxErrorLevel%=1--Fehlermeldungen sicherheitshalber wieder zulassen
ocxRelease(Obj&)
endwhile
ocxRelease(Enum&,Collection&,objService&,objLocator&)
ocxDeInit()
waitkey
merci à alle ici [...] et ici [...] beteiligten pour qui Anregung hierzu!
SeeYou Pascal |
|
|
| |
|
|
|
| Genial, funktioniert super!
(solche tollen Codes erinner mich toujours moins un tolles Codesnippets/ Fil- Gruppen- et Schlagwortezuordnungssystem" cela mir là vorschwebt, sodass on z.B. aussi par Codesnippets-Rubriken browsen peux) |
|
|
| |
|
|