Page 1 sur 2
Mettre un navigateur part default via Purebasic
Publié : mar. 04/déc./2007 16:20
par Thyphoon
Bonjour,
je cherche un moyen pour configurer le navigateur web part default !
Est-ce quelqu'un a une idée ? modification de registre ? un api ?
J'ai regarder sur Purearea et le forum anglais mais je n'ai pas vraiment trouvé...
merci d'avance
Publié : mar. 04/déc./2007 16:24
par bernard13
bonjour
peux tu expliquer ce que tu veux faire svp ..
Publié : mar. 04/déc./2007 17:30
par Thyphoon
bernard13 a écrit :bonjour
peux tu expliquer ce que tu veux faire svp ..
A mon boulot j'ai créer un utilitaire qui permet d'installer a distance des applications, mais j'ai aussi besoin de changer un certain nombre de paramètre dont definir un navigateur par defaut. J'ai déjà trouvé pour configurer une imprimante part defaut grace un code de Gonzal.
J'ai trouver comment mettre un navigateur part defaut sous linux mais pas sous windows...

Publié : mar. 04/déc./2007 17:59
par bernard13
desoler je peux pas t'aider je connais pas Linux
bonne courage à toi
Publié : mar. 04/déc./2007 17:59
par case
c'est dans la base de registre
HKEY_CLASSES_ROOT/HTTP/shell/open/command
Publié : mar. 04/déc./2007 18:04
par Thyphoon
bernard13 a écrit :desoler je peux pas t'aider je connais pas Linux
bonne courage à toi
c'est sous windows que je cherche, mais merci de t'être penché sur mon problème.
case a écrit :c'est dans la base de registre
HKEY_CLASSES_ROOT/HTTP/shell/open/command
Merci ! je vais tanter avec ça ! j'avais trouver d'autre clef mais ça ne marchait pas. merci !
Publié : mar. 04/déc./2007 18:25
par Thyphoon
Je tante déjà de lire la valeur de la clef dans le registre. j'utilise un code que j'ai trouvé sur purearea pour la lecture mais ça me renvoie 0 et je comprends pas trop pourquoi !est ce que la computerName est important ? et a quoi ça lui sert ? Si quelqu'un peut m'aider ...
Code : Tout sélectionner
Procedure.l GetValue(topKey, sKeyName.s, sValueName.s, ComputerName.s)
GetHandle.l
hKey.l
lpData.s
lpDataDWORD.l
lpcbData.l
lType.l
lReturnCode.l
lhRemoteRegistry.l
Shared GetValue.s
If Left(sKeyName, 1) = "\"
sKeyName = Right(sKeyName, Len(sKeyName) - 1)
EndIf
If ComputerName = ""
GetHandle = RegOpenKeyEx_(topKey, sKeyName, 0, #KEY_ALL_ACCESS, @hKey)
Else
lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry)
GetHandle = RegOpenKeyEx_(lhRemoteRegistry, sKeyName, 0, #KEY_ALL_ACCESS, @hKey)
EndIf
If GetHandle = #ERROR_SUCCESS
lpcbData = 255
lpData = Space(255)
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lType, @lpData, @lpcbData)
If GetHandle = #ERROR_SUCCESS
Select lType
Case #REG_SZ
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lType, @lpData, @lpcbData)
If GetHandle = 0
GetValue = Left(lpData, lpcbData - 1)
Else
GetValue = ""
EndIf
Case #REG_DWORD
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lpType, @lpDataDWORD, @lpcbData)
If GetHandle = 0
GetValue = Str(lpDataDWORD)
Else
GetValue = "0"
EndIf
EndSelect
EndIf
EndIf
RegCloseKey_(hKey)
ProcedureReturn GetHandle
Debug GetValue(#HKEY_CLASSES_ROOT,"HTTP\shell\open\command" , "", "")
EndProcedure
Publié : mar. 04/déc./2007 19:09
par bernard13
dis moi tu cherche à manipuler un pc à distance?
Publié : mar. 04/déc./2007 19:14
par Thyphoon
bernard13 a écrit :dis moi tu cherche à manipuler un pc à distance?
Non ça c'est déjà fait. je peux envoyer n'importe quel executable sur un pc via le reseau et que ce dernier s'execute.
Publié : mar. 04/déc./2007 23:07
par Oliv
D'après un code qui récupairait la clef Xp trouvé sur le forum anglais :
Code : Tout sélectionner
Procedure.s GetKey()
*clef = AllocateMemory(100)
lDataLen.l
hKey.l
;Open the registry key
If RegOpenKey_(#HKEY_CLASSES_ROOT, "HTTP\shell\open\command", @hKey) = #ERROR_SUCCESS
lDataLen = 100
If RegQueryValueEx_(hKey, "", 0, "REG_SZ", *clef, @lDataLen) = #ERROR_SUCCESS
RegCloseKey_(hKey)
Else
;ERROR: Could not Read "DigitalProductID
RegCloseKey_(hKey)
ProcedureReturn ""
EndIf
Else
;ERROR
ProcedureReturn ""
EndIf
ProcedureReturn PeekS(*clef)
EndProcedure
Debug GetKey()
End
Publié : mer. 05/déc./2007 5:41
par Thyphoon
Oliv a écrit :D'après un code qui récupairait la clef Xp trouvé sur le forum anglais :
Merci beaucoup, me reste plus qu'a trouver comment modifier cette clef maintenant. Y a pas a tortillé du croupions vas bien faloire un jour que je comprenne comment marche les API Windows
Edit: Je viens de pensé a la Droopy Lib, il y a des fonctions dedans pour la base de registre... je m'en vais regarder ça de plus prêt !

Publié : mer. 05/déc./2007 8:30
par Progi1984
Regarde PBOSL_Registry, ce sont des fonctions pour la BdRegistres
Publié : mer. 05/déc./2007 8:40
par Thyphoon
Progi1984 a écrit :Regarde PBOSL_Registry, ce sont des fonctions pour la BdRegistres
Merci beaucoup je vais regarder !mais J'ai réussi avec les fonctions de la DroopLib!
Pour mettre IE en Navigateur part defaut
Code : Tout sélectionner
RegSetValue("HKEY_CLASSES_ROOT\HTTP\shell\open\command","",Chr(34)+"C:\Program Files\Internet Explorer\IEXPLORE.EXE"+Chr(34)+" -nohome",#REG_SZ,".")
Pour mettre FireFox en Navigateur part defaut
Code : Tout sélectionner
RegSetValue("HKEY_CLASSES_ROOT\HTTP\shell\open\command","","C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "+Chr(34)+"%1"+Chr(34),#REG_SZ,".")
Publié : mer. 05/déc./2007 10:56
par Progi1984
Publié : mer. 05/déc./2007 12:41
par Backup
...