Prog automatisch in Autostart
-
Hallo
ja er ist richtig.
Bei LOCAL_MACHINE wird nur die Benutzer-ID weggelassen, der Rest bleibt.
Schaus dir einfach im RegEdit an.bis bald
akari
-
Tom7 schrieb:
... damit sichergestellt wird, dass es immer gestartet wird, falls der PC mal ausfallen sollte.
Dafür bietet es sich eher an, das Programm als Dienst einzurichten. Autostarts werden erst nach der Benutzeranmeldung ausgeführt.
-
klingt gut, heißt dass, das das Prog im Hintergrund schon läuft und sobald sich der User anmeldet läuft die Grafik usw. schon???
mfg
-
Hallo
ein Dienst selber hat keine Grafik.
Die Frage ob ein Dienst besser für deine Zwecke ist, läßt sich nur beantwortet wenn du den Zweck deines Programmes näher erklärst.
bis bald
akari
-
Ja, das Programm läuft dann bereits, wenn der Anmeldebildschirm zu sehen ist.
Normalerweise haben Dienste keine Benutzeroberfläche, aber bei den Eigenschaften des jeweiligen Dienstes kann man einstellen, das man die Oberfläche sieht. ("Datenaustausch zwischen Dienst und Desktop zulassen" nennt sich das Häkchen, das ist nur möglich, wenn der Dienst als 'lokales Systemkonto' ausgeführt wird.)
Sobald der Nutzer sich anmeldet, sieht er das Programm dann, noch bevor die ganzen Autostarts loslegen.
-
und was muss an meiner bestehend SW ändern, dass es als Dienst gestartet wird, bzw. dass es in die Liste der Dienste aufgenommen wird?
Hast du da viell ein Beispiel oder dgl.?
mfg
Tom
-
Hier habe ich die Holzhammermethode beschrieben, die eigentlich für Visual Basic Programme gedacht ist, weil die nicht als Dienst zu programmieren sind:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-133664Bei dieser Methode gibt es keine saubere Kommunikation zwischen Diensteverwaltung und Programm, beim Beenden des Dienstes wird dann z. B. einfach der Kill-Befehl an deine Anwendung geschickt.
Wenn du es ordentlich machen willst, programmierst du den Dienst selber.
-
wie sieht es da eigentlich mit Treibern usw. aus?
sind da die Treiber schon alle geladen oder werden die erst durch die Benutzeranmeldung geladen?
ich brauch nämlich die serielle und ein CAN-Gerät welches über nen Treiber angesprochen wird.
mfg
Tom
-
Das sollte eigentlich über die Abhängigkeit der Dienste lösbar sein. Wenn die benötigten Treiber nicht als Dienst laufen, kann man auch einen Dienst nehmen, der relativ spät gestartet wird und die Abhängigkeit darauf setzen. (EDIT: Wenn ich mich richtig erinnere, dann wurde dafür der Druckspooler empfohlen.) Das habe ich mal als Tipp gelesen, aber noch nicht ausprobiert.
-
wie geht es denn mit dem in den autostart ordner eintragen?
-
Hallo
du läßt einen Registry-Wert in HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run anlegen, vom Typ String, als Namen einen frei wählbaren Namen für dein Programm und als Wert den absoluten Pfad zu deinem Programm.
bis bald
akari
-
Ich meine in Alle programme->Autostart
also ohne Registry
-
Eine Verknüpfung zu dem Programm im Autostart-Ordner anlegen.
Einfacher ist aber:
String awpath=Application->ExeName; TRegistry& regkey=*new TRegistry(); regkey.RootKey=HKEY_LOCAL_MACHINE; bool keygood=regkey.OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false); regkey.LazyWrite=false; if(keygood) { regkey.WriteString("Dein Programm",awpath); } regkey.CloseKey(); delete ®key;
-
naja ok wenns einfacher ist

wie kann man das programm dann wieder aus den autostart entfernen?
-
TRegistry& regkey=*new TRegistry(); regkey.RootKey=HKEY_LOCAL_MACHINE; bool keygood=regkey.OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false); regkey.LazyWrite=false; if(keygood) { regkey.DeleteValue("Dein Programm"); } regkey.CloseKey(); delete ®key;
-
Wo finde ich TRegistry?
lol
-
Header includen
#include <registry.hpp>Genau sowas steht perfekt in der Hilfe beschrieben.
Gruss
-
regkey.WriteString("Dein Programm",awpath);
bei "Dein programm" muss nicht irgendein Pfad oder sowas oder?
Einfach nur "abc"?
-
Hallo
der vollständige Pfad ist in der Variablen awpath drin.
Das andere ist nur ein beliebiger Name, der angezeigt wird.bis bald
akari
-
Hi Leute,
hab das so gemacht wie damals schon diskutiert und lief bis vor kurzem auch alles wunderbar, nur musste ich jetzt plötzlich feststellen, dass mein Programm, an dem sonst keinerlei Änderungen ausser die mit dem Autostart drin ist, nun plötzlich die ganzen Einstellungsdateien nicht mehr findet und immer bei null beginnt.
Beende ich das Programm und starte es dann neu, gehts super.
Auch wenn ich den Regedit Autostart rausnehme und klassisch eine Verknüpfung unter START->Autostart reinkopier gehts auch super.habt ihr eine Ahnung? verhält sich als Admin genauso wie als User, der Regedit Key ist unter HKEY_LOCAL_MACHINE.
mfg
Tom