Programm im Hintergrund & Autostart
-
So, im Ansi C Forum wurde mir gesagt, ein Windoofer müsse das hier rein schreiben ;), deshalb:
1. Ich möchte, dass wenn ich mein C Programm öfnne, das ich es in den Autostart einstellen kann, ohne das selber tun zu müssen.
2. Ich möchte nicht immer ein Fenster offen haben, sondern das es im System Tray weiter läuft, und nur ein Symbol anzeigt.
Vielen Dank im voraus.
Grüsse _linx_
-
Hi,
es gibt viele Möglichkeiten, dein Programm in den Autostart zu stellen. Die meist verwendete und bevorzugte Methode ist z.B. eine Eintragung in die Registry von Windows. Hierzu ein kleiner Beispielcode:
char ModulePath []; GetModuleFileName (NULL,ModulePath, MAX_PATH); HKEY hkey; HKEY KEY = HKEY_LOCAL_MACHINE; char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"}; char name[100]= {"DeinProgrammName"}; RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey); RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)ModulePath, strlen(ModulePath)); RegCloseKey(hkey);Wie du ein Trayicon erstellst, kannst du im folgendem FAQ Beitrag lesen:
Tray Icon erstellen und Kontextmenü anzeigen
Hoffe, das hilft weiter

MfG mikey.
-
Danke.
-
@mikey: #define UNICODE.
TCHAR szModulePath[MAX_PATH + 1]; GetModuleFileName(NULL, szModulePath, MAX_PATH); HKEY hKey = NULL; RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, KEY_ALL_ACCESS, &hKey); RegSetValueEx(hKey, TEXT("my_app"), 0, REG_SZ, (LPBYTE)szModulePath, strlen(szModulePath)); RegCloseKey(hKey);wobei auch das jetzt nur auf deinem Code basiert(mikey) und d.h. hab ich nicht kontrolliert ob es funktioniert.
-
Warum Unicode ? (Habe keine Erfahrung damit)