Page 1 of 1
PB install directory in register base
Posted: Sun Jun 15, 2003 6:51 am
by Denis
I'm looking for the install directory of PB in register base.
How to get it (in PB of course) ?
Can anybody send URLs for base register explanations sites ?
Thanks
Denis
Posted: Sun Jun 15, 2003 10:22 am
by Fred
Code: Select all
If GetVersion_() & $ff0000 ; Windows NT/XP
If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, "Applications\PureBasic.exe\shell\open\command", 0, #KEY_ALL_ACCESS , @Key) = #ERROR_SUCCESS
If RegQueryValueEx_(Key, "", 0, @Type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
OutputDirectory$ = GetPathPart(Mid(Buffer$, 2, Len(Buffer$)-7))
EndIf
EndIf
Else ; The same for Win9x
If RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, "Software\Classes\PureBasic.exe\shell\open\command", 0, #KEY_ALL_ACCESS , @Key) = #ERROR_SUCCESS
If RegQueryValueEx_(Key, "", 0, @Type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
OutputDirectory$ = GetPathPart(Mid(Buffer$, 2, Len(Buffer$)-7))
EndIf
EndIf
EndIf
Posted: Sun Jun 15, 2003 11:01 am
by Denis
Thanks Fred,
Denis

Posted: Sun Jun 15, 2003 1:51 pm
by GPI
Don't work, because the buffer is not defined and has no length, so the first line must
Code: Select all
Buffer$=Space(10000):BufferSize=Len(Buffer$)-1
GPI
Posted: Sun Jun 15, 2003 10:24 pm
by Andre
Thanks Fred & GPI! To give all newbies a working example:
Code: Select all
Buffer$=Space(10000):BufferSize=Len(Buffer$)-1
If GetVersion_() & $ff0000 ; Windows NT/XP
If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, "Applications\PureBasic.exe\shell\open\command", 0, #KEY_ALL_ACCESS , @Key) = #ERROR_SUCCESS
If RegQueryValueEx_(Key, "", 0, @Type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
OutputDirectory$ = GetPathPart(Mid(Buffer$, 2, Len(Buffer$)-7))
EndIf
EndIf
Else ; The same for Win9x
If RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, "Software\Classes\PureBasic.exe\shell\open\command", 0, #KEY_ALL_ACCESS , @Key) = #ERROR_SUCCESS
If RegQueryValueEx_(Key, "", 0, @Type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
OutputDirectory$ = GetPathPart(Mid(Buffer$, 2, Len(Buffer$)-7))
EndIf
EndIf
EndIf
Debug OutputDirectory$