GetPureBasicFolder() - PB-Ordner ermitteln!
Verfasst: 16.03.2009 23:04
Eine relativ sichere methode um den PB-Folder zu ermitteln.
Läuft unter allen Windows versionen inkl. Vista. (Hoffe ich zumindest
)
Läuft unter allen Windows versionen inkl. Vista. (Hoffe ich zumindest

Code: Alles auswählen
Procedure.s GetPureBasicFolder()
Protected OpenKey.l, SubKey.s, hKey.l=0, keyvalue.s=Space(1024), DataSize.l=1024
If OSVersion() = #PB_OS_Windows_Vista ; Windows Vista
OpenKey=#HKEY_CURRENT_USER
SubKey="Software\Classes\PureBasic.exe\shell\open\command\"
ElseIf GetVersion_() & $FF0000 ; Windows XP/NT
OpenKey=#HKEY_CLASSES_ROOT
SubKey="Applications\PureBasic.exe\shell\open\command"
Else ; Windows 9x
OpenKey=#HKEY_LOCAL_MACHINE
SubKey="Software\Classes\PureBasic.exe\shell\open\command"
EndIf
If RegOpenKeyEx_(OpenKey, SubKey, 0, #KEY_READ, @hKey)
keyvalue=""
Else
If RegQueryValueEx_(hKey, "", 0, 0, @keyvalue, @DataSize)
keyvalue=""
Else
keyvalue=Left(keyvalue, DataSize-1)
EndIf
RegCloseKey_(hKey)
EndIf
If keyvalue<>""
ProcedureReturn GetPathPart(StringField(keyvalue, 2, #DOUBLEQUOTE$))
EndIf
EndProcedure
Debug GetPureBasicFolder()