Programm bei Systemstart ausführen?

Ähm, halb korrekt. Dort sind auch Werte für den Systemstart und sonstige Windows-eigene Daten (Registry=Datenbank).
Mach mal einen - nicht ganz ungefährlichen - Versuch: Gib ins Suchfeld "regedit" ein. Dort siehst du Schlüssel und Verzeichnisse. Such mal danach:
Wenn du möchtest, dass das Programm nur bei einem User ausgeführt wird, musst du eine neue Zeichenfolge darein erstellen:
Code:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\
Hier sind alle Autoruns aufgelistet. Wenn du jetzt ein Programm eintragen willst, guck im Link von ComFreek:
Code:
LONG WINAPI RegCreateKeyEx(
  __in        HKEY hKey,
  __in        LPCTSTR lpSubKey,
  __reserved  DWORD Reserved,
  __in_opt    LPTSTR lpClass,
  __in        DWORD dwOptions,
  __in        REGSAM samDesired,
  __in_opt    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  __out       PHKEY phkResult,
  __out_opt   LPDWORD lpdwDisposition
);
Der erste Parameter ist das Verzeichnis:
Code:
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_CONFIG
    HKEY_CURRENT_USER      //Den brauchst du
    HKEY_LOCAL_MACHINE
    HKEY_USERS
Der zweite Parameter ist der Name des Keys: Du brauchst einen String mit dem Namen.
Der dritte Parameter muss NULL sein.
Der vierte Parameter kann NULL sein.
Der fünfte Parameter muss einen der folgenden Werten enthalten:
Code:
REG_OPTION_BACKUP_RESTORE
REG_OPTION_CREATE_LINK
REG_OPTION_NON_VOLATILE          //Ich würde diesen nehmen, kein Gewähr. Schau in der msdn nach für weitere Informationen
REG_OPTION_VOLATILE
Der sechste Parameter ist ein der folgenden Werte:
http://msdn.microsoft.com/en-us/library/ms724878(v=vs.85).aspx
Soviel English solltest du selbst verstehen.
Der siebte Parameter kann NULL sein.
Über den achten Parameter kann ich nichts mit Sicherheit sagen. Ich würde RegCloseKey verwenden (GOOGLE ;) )
Der neunte und letzte Parameter ist Optional (kann NULL sein)
Rückgabe ist ERROR_SUCCESS (Erfolg).

Wie gesagt sind alle Angaben ohne Gewähr. Wenn du es genau wissen willst, bemüh' dich selbst und frag Google oder msdn.

Ich hoffe, ich konnte helfen. Wenn irgendeiner im Forum einen Fehler entdeckt, möge er mich aufklären.

Gruss
cwriter
 
Zurück