Définir un programme qui se lance au démarrage de windows

Programmation d'applications complexes
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Définir un programme qui se lance au démarrage de windows

Message par Progi1984 »

Voilà, comment peut on définir via PB que mon programme se lance au démarrage ?
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

Un p'tit coup dans la base de registre dans [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] :)
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Merci :)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Comment peut on effacer une clé du registre ?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Le code pour effacer

Code : Tout sélectionner

IncludeFile "registry.pbi"

val$=Reg_GetValue(#HKEY_LOCAL_MACHINE,"SOFTWARE\Google\NavClient","brand","")

Debug val$

ok=Reg_CreateKeyValue(#HKEY_LOCAL_MACHINE,"SOFTWARE\Google\NavClient","temp","TEST",#REG_SZ,"")

val$=Reg_GetValue(#HKEY_LOCAL_MACHINE,"SOFTWARE\Google\NavClient","temp","")

Debug val$

Reg_DeleteValue(#HKEY_LOCAL_MACHINE,"SOFTWARE\Google\NavClient","temp","")

val$=Reg_GetValue(#HKEY_LOCAL_MACHINE,"SOFTWARE\Google\NavClient","temp","")

Debug val$ 
et le registry.pbi

Code : Tout sélectionner

Procedure.l Reg_DeleteValue(topKey.l, sKeyName.s, ValueName.s, ComputerName.s) 
    GetHandle.l 
    hKey.l 
    lReturnCode.l 
    lhRemoteRegistry.l 
    
    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 
        GetHandle = RegDeleteValue_(hKey, @sValueName) 
        If GetHandle = #ERROR_SUCCESS 
            DeleteValue = #True 
        Else 
            DeleteValue = #False 
        EndIf 
    EndIf 
    RegCloseKey_(hKey) 
    ProcedureReturn DeleteValue 
EndProcedure 
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

En fait, ce code ne fonctionne pas pour une valeur contenue dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, quelqu'un a une idée ?
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Tu ne dois pas avoir le droit d'accéder à cette clé.
Es tu administrateur ?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Bah oui !
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Honte à moi, un s c'était introduit involontairement dans le code
Procedure.l Reg_DeleteValue(topKey.l, sKeyName.s, ValueName.s, ComputerName.s)
GetHandle.l
hKey.l
lReturnCode.l
lhRemoteRegistry.l

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
GetHandle = RegDeleteValue_(hKey, @sValueName)
If GetHandle = #ERROR_SUCCESS
DeleteValue = #True
Else
DeleteValue = #False
EndIf
EndIf
RegCloseKey_(hKey)
ProcedureReturn DeleteValue
EndProcedure
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

EnableExplicit ^^

Dri
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

EnableExplicit ????
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

bah ce mot clé tu n'as plus de problèmes de fautes de frappe pour les noms de variables ^^

Dri
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Tiens, bah faudrait ptet que j'utilise, ca m'éviterait bien des déboires :)
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

KarLKoX comment exploites tu ce codeRegistre pour lancer un programme au démarrage via l'éditeur PB?
Répondre