Autor Beitrag
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Mi 25.09.02 14:45 
hallo,
ich weiß ja, dass dieses thema heiß diskutiert wird, aber meine fragen werden dadurch leider nie beantwortet :( :( :(
also, mit dem code HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run kann man eine datei in der registry zum autostart hinzufügen. aber ich kann mir nicht vorstellen, dass diese eine zeile reicht !! es gibt bestimmt noch mehrere zeilen. woher soll denn z.B. die registr wissen, wo sich das zu startenne programm befindet? Wenn jemand mein problem versteht und eine lösung kenn, nichts wie her damit !!!
DANKE
mfg hibbert
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 25.09.02 14:55 
Hast Du Dir mal mit dem Registrierungs-Editor den o. g. Schlüssel angeschaut?

Gruß
TINO
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Mi 25.09.02 15:59 
ausblenden Quelltext
1:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run					


ist ja kein Code, sondern nut die Bezeichnung des Schlüssels in der Registry. Und wie Tino schon sagt, guck dir mal den Schlüssel an und die Funktionen der TRegistry-Klasse (OpenKey, WriteString, ...).

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 25.09.02 16:03 
Mag ja sein, daß manche noch die die Registry kennen gelernt haben!

Also: rufe mal das Proggie regedit32 bzw. regedit auf. Da siehste dann, was sich in der Registry so tut.

Cu,
Udontknow
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 25.09.02 21:37 
hibbert hat folgendes geschrieben:
also, mit dem code HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run kann man eine datei in der registry zum autostart hinzufügen.

Ja, nutze diesen Schlüssel, HKEY_LOCAL_MACHINE, und lass dein Programm mal auf allen bekannten NT-Systemen (NT, 2000, XP) mit allen bekannten Benutzerrechten testen.

Wenn du dein blaues Wunder erlebt hast (Stichwort: Benutzerrechte, oder: was passiert, wenn ich keine Admin-Rechte habe?), dann wirst du vielleicht auch auf den Gedanken kommen, stattdessen HKEY_CURRENT_USER zu nutzen.

Der Pfad ist der selbe ... die Fehler allerdings nicht.
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Fr 27.09.02 17:17 
DANKE !!!
mfg hibbert
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Fr 27.09.02 18:01 
Probiere es mal so :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button2Click(Sender: TObject);
var
  reg : TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true);
  reg.WriteString('LoginDel','DelLogin.EXE');
  reg.CloseKey;
  reg.Free;
end;


Damit führst Du das Programm "DelLogin.exe" dem Schlüssel zu. Es wird dann bei jedem mal anmelden ausgeführt, egal welche Benutzer sich anmeldet.

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 28.09.02 09:07 
bis11 hat folgendes geschrieben:
Damit führst Du das Programm "DelLogin.exe" dem Schlüssel zu. Es wird dann bei jedem mal anmelden ausgeführt, egal welche Benutzer sich anmeldet.

Stimmt, aber -

ausblenden Delphi-Quelltext
1:
reg.RootKey := HKEY_LOCAL_MACHINE;					

Eintragen kann´s erst mal nur einer, der auch das Recht hat, auf diesen Schlüssel zuzugreifen.

ausblenden Delphi-Quelltext
1:
reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true);					

Mögliche Probleme beim Öffnen des Schlüssels, die durch das Anlegen (true) nicht behoben werden, werden hier völlig ignoriert

ausblenden Delphi-Quelltext
1:
reg.WriteString('LoginDel','DelLogin.EXE');					

Ebenso die Tatsache, dass das Schreiben auch -aus irgendwelchen Gründen- schiefgehen kann.

Besser wäre also der viel verschmähte try-finally-Block. Eigentlich sogar zwei, wenn man die mögliche Exception bei "WriteString" mit berücksichtigt.

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
Jim_
Hält's aus hier
Beiträge: 3

Win XP Prof.
D3 Prof
BeitragVerfasst: Di 08.02.05 17:37 
Zitat:
var
reg : TRegistry;


TRegistry ist bei mir ein undefinierter bezeichner.
Liegt das daran, dass ich Delphi3 benutze?
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Di 08.02.05 17:40 
Keineswegs. Du musst noch die Unit Registry einbinden:
ausblenden Delphi-Quelltext
1:
uses {...}, Registry;					

_________________
JSXGraph
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 08.02.05 17:42 
Nö. Wahrscheinlich hast du nur vergessen die Unit Registry oben bei uses einzubinden. Bei Delphi 3 ist das ganz sicher dabei! Das hab ich nämlich auch. ;)

//EDIT: Zu spät... :motz: :lol:

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.
Jim_
Hält's aus hier
Beiträge: 3

Win XP Prof.
D3 Prof
BeitragVerfasst: Di 08.02.05 19:36 
Oh natürlich!
Ihr habt Recht das hab ich übersehen. thx