Unregister Befehl gibts wohl nicht. Nur den RegVal Schlüssel löschen. Dieser Schlüssel sollte einmalig sein,
also am besten eine GUID nehmen:
Code: Alles auswählen
CompilerIf Defined(GUID, #PB_Structure) = #False
Structure GUID
Data1.l
Data2.w
Data3.w
Data4.b[8]
EndStructure
CompilerEndIf
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
; requires uuid-dev
ImportC "-luuid"
uuid_generate(*out.GUID)
uuid_unparse_upper(*uu.GUID, *out)
EndImport
CompilerEndIf
Procedure.s MakeGUID()
Protected guid.GUID, result.s
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
result = Space(36)
uuid_generate(@guid)
uuid_unparse_upper(@guid, @result)
result = "{" + PeekS(@result, -1, #PB_Ascii) + "}"
CompilerCase #PB_OS_Windows
Protected lpsz.s{76}
If CoCreateGuid_(@guid) = #S_OK
result = PeekS(@lpsz, StringFromGUID2_(guid, @lpsz, 76), #PB_Unicode)
EndIf
CompilerDefault
CompilerEndSelect
ProcedureReturn result
EndProcedure
Debug MakeGUID()
Und den Wert von iDefault setzt man sinniger Weise nicht auf 4711 (echt Kölsche Stinkwater), sondern auf
den Wert, der dann Defaultmässig ausgeführt wird, also in diesem Falle auf 6 oder 7!