Simples Beispiel per COM Windows-Dialoge anzuzeigen
Verfasst: 25.03.2007 02:21
Code: Alles auswählen
; Simple Example for use shell.application object
; Autor: ts-soft
; Requires PB4.xx
; 25.03.2007
Procedure CreateShellObject()
Protected obj.l, hResult.l
CoInitialize_(#Null)
hResult = CoCreateInstance_(?CLSID_Shell_Application, 0, 1, ?IID_IShellDispatch, @obj)
If Not hResult
ProcedureReturn obj
Else
ProcedureReturn #False
EndIf
DataSection
CLSID_Shell_Application: ; {13709620-C279-11CE-A49E-444553540000}
Data.l $13709620
Data.w $C279,$11CE
Data.b $A4,$9E,$44,$45,$53,$54,$0,$0
IID_IShellDispatch: ; {D8F015C0-C278-11CE-A49E-444553540000}
Data.l $D8F015C0
Data.w $C278,$11CE
Data.b $A4,$9E,$44,$45,$53,$54,$0,$0
EndDataSection
EndProcedure
Procedure ReleaseShellObject(obj.l)
Protected object.IUnknown = obj
object\Release()
EndProcedure
Define.IShellDispatch shell
shell = CreateShellObject()
If shell
shell\MinimizeAll() ; alle Fenster minimieren
shell\Help() ; Windows Hilfe aufrufen
shell\UndoMinimizeALL() ; minimieren rückgängig machen
shell\ShutdownWindows() ; Computer ausschalten Dialog
shell\SetTime() ; Uhrzeit setzen
shell\FileRun() ; Ausführen Dialog
ReleaseShellObject(shell)
EndIf