Mettre un navigateur part default via Purebasic

Programmation d'applications complexes
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Mettre un navigateur part default via Purebasic

Message 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
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

bonjour

peux tu expliquer ce que tu veux faire svp ..
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message 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... :(
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

desoler je peux pas t'aider je connais pas Linux

bonne courage à toi
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Message par case »

c'est dans la base de registre


HKEY_CLASSES_ROOT/HTTP/shell/open/command
ImageImage
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message 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 !
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message 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 
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

dis moi tu cherche à manipuler un pc à distance?
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message 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.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message 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 
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message 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 :( :wink:


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 ! 8)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Regarde PBOSL_Registry, ce sont des fonctions pour la BdRegistres
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message 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,".")
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 13:10, modifié 1 fois.
Répondre