| |
|
|
Uwe ''Pascal'' Niemeier | Hi Personas!
Tiempo otra vez qué Neues: KompilierenMarcaSeparaciónwindow %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: Como el Abfrage encima una SQL-Befehl es, läßt se el Ergebnis en el Vorfeld encima entsprechende WHERE-Bedingungen eingrenzen.
BTW2: Auch el Edición läßt se en einzelne Datenfelder begrenzen. Como pero no todos Datensätze el selben Felder enthalten (no una vez innerhalb uno Sistema-Kategorie), sería en Abfrage uno no vorhandenen Feldes el Fehlermeldung "Unbekannter Name" tener lugar. Dies läßt se unterdrücken por Änderung des ocx-internen ErrorLevels. KompilierenMarcaSeparaciónwindow %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")
declarar Obj&
whileloop 1,Count%
CallMethod(Enum&,3,1,Var#,0)--IEnumVARIANT::Next
casenot Var#.vt%=~VT_DISPATCH:romper
Obj&=Var#.Val&
ocxErrorlevel%=0--Fehlermeldung wegen "Irgendwas" unterdrücken
imprimir "Name : ",ocxGet(Obj&,"Name")
imprimir "Description: ",ocxGet(Obj&,"Description")
imprimir "Irgendwas : ",ocxGet(Obj&,"Irgendwas")
ocxErrorLevel%=1--Fehlermeldungen sicherheitshalber otra vez zulassen
ocxRelease(Obj&)
endwhile
ocxRelease(Enum&,Collection&,objService&,objLocator&)
ocxDeInit()
waitkey
Gracias a todos hier [...] y aquí [...] beteiligten para el Anregung hierzu!
SeeYou Pascal |
|
|
| |
|
|
|
| Genial, funktioniert super!
(solche tollen Codes erinner mich siempre a una tolles Codesnippets/ Hilo- Gruppen- y Schlagwortezuordnungssystem" el me como vorschwebt, sodass uno z.B. auch por Codesnippets-Rubriken browsen kann) |
|
|
| |
|
|