Page 1 sur 1

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

Publié : dim. 19/mars/2006 23:45
par Progi1984
Voilà, comment peut on définir via PB que mon programme se lance au démarrage ?

Publié : lun. 20/mars/2006 2:34
par KarLKoX
Un p'tit coup dans la base de registre dans [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] :)

Publié : lun. 20/mars/2006 7:42
par Progi1984
Merci :)

Publié : lun. 20/mars/2006 8:02
par Progi1984
Comment peut on effacer une clé du registre ?

Publié : lun. 20/mars/2006 12:19
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 

Publié : lun. 20/mars/2006 13:46
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 ?

Publié : lun. 20/mars/2006 14:11
par Droopy
Tu ne dois pas avoir le droit d'accéder à cette clé.
Es tu administrateur ?

Publié : lun. 20/mars/2006 14:17
par Progi1984
Bah oui !

Publié : lun. 20/mars/2006 22:15
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

Publié : mar. 21/mars/2006 9:17
par Dr. Dri
EnableExplicit ^^

Dri

Publié : mar. 21/mars/2006 10:37
par Progi1984
EnableExplicit ????

Publié : mar. 21/mars/2006 14:25
par Dr. Dri
bah ce mot clé tu n'as plus de problèmes de fautes de frappe pour les noms de variables ^^

Dri

Publié : mar. 21/mars/2006 16:15
par Progi1984
Tiens, bah faudrait ptet que j'utilise, ca m'éviterait bien des déboires :)

Publié : ven. 16/juin/2006 18:50
par Fortix
KarLKoX comment exploites tu ce codeRegistre pour lancer un programme au démarrage via l'éditeur PB?