AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Autostart unter Windows 7

Ein Thema von jodahush · begonnen am 14. Mär 2012 · letzter Beitrag vom 20. Mär 2012
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Autostart unter Windows 7

  Alt 17. Mär 2012, 23:37
Du hast dann offenbar eine ältere Delphiversion. Da du das weder im Thread noch im Profil angegeben hast, habe ich einfach mal wie schon geschrieben XE2 benutzt.
Bei älteren Delphiversionen musst du die Unitnamen korrigieren, da die Standardunits da noch keine Namespaces benutzt haben. VCL.Forms hieß vorher z.B. einfach nur Forms.

Und Elevation bringt das Schildchen zum Symbolisieren der nötigen Adminrechte an. Das ging vorher nur manuell.

Um welche Delphiversion geht es denn?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
jodahush

Registriert seit: 24. Aug 2006
18 Beiträge
 
#12

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 08:06
Hallo
Meine Delphi version ist 7.
X2 jene ich noch gar nicht.
Ich habe eine weile gar nicht programmiert, daher habe ich wohl einiges nicht mit bekommen
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 10:38
Gut, da geht natürlich noch gar nichts an aktuellen Features. Einiges wurde in Delphi 2006 eingeführt (nested types, Klassenvariablen, FindCmdLineSwitch Erweiterung), anderes in Delphi 2010 (Klassenkonstruktoren/-destruktoren). Im Anhang findest du eine Version, die für alle Versionen geht. Wenn man für so alte Versionen schreiben muss, würde man diese Features natürlich normalerweise einfach gar nicht erst nutzen. Gerade mit dem alten FindCmdLineSwitch bleibt aber eine gewisse Unsicherheit, da man sich auf die Reihenfolge der Parameter verlässt.
Angehängte Dateien
Dateityp: 7z Registry Autostart D7.7z (70,5 KB, 40x aufgerufen)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
jodahush

Registriert seit: 24. Aug 2006
18 Beiträge
 
#14

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 14:44
Vielen Dank für das update.
Das Programm läuft jetzt und lässt sich auf meinem System compilieren.

Leider klappt auch das nicht. Das Program meldet "nicht erfolgreich".
Ich habe im Kommentar "Test" eingegeben, u. im Befehl C:\Windows\Notepad.exe

Wenn ich dich richtig verstehe, funktioniert dein Program normalerweise unter Win7 64.

Dann bleibt nur der Schluss, das an meinem System mittlerweile etwas verbogen wurde. Wenn das so ist, nehme ich deinen Code, u. stelle den Autostart an meinem Rechner manuell ein.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 16:42
Stell am besten einmal ein, dass es für den aktuellen Benutzer sein soll. Dann brauchst du keine Adminabfrage und kannst im Code debuggen was passiert.

Du kannst auch ein Log mit dem Process Monitor erstellen und gefiltert auf diese Exe hier posten.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
jodahush

Registriert seit: 24. Aug 2006
18 Beiträge
 
#16

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 18:55
Gut

ok, auf der Form Steht beim Start: Autostart nicht gefunden.

Der Code läuft bis:
class function TAutostart.InternalModifyEntryDirect(const ADescription, ACommand: string; const ALocation: TEntryLocation;
AOperation: TEntryOperation): Boolean;
var
Reg: TRegistry;
begin
Result := False;
Reg := TRegistry.Create(KEY_ALL_ACCESS or KEY_WOW64_64KEY);
try
Reg.RootKey := cRegRoot[ALocation];
if Reg.OpenKey('Software\Microsoft\Windows\CurrentVer sion\' + cRegLocation[ALocation], AOperation = eopCreate) then // hier steigt delphi aus
//die Abfrage gibt wohl false zurück und..

begin
if AOperation = eopCreate then
Reg.WriteString(ADescription, ACommand)
else if Reg.ValueExists(ADescription) then
Reg.DeleteValue(ADescription);
Result := True;
Reg.CloseKey;
end; //hier geht es weiter
finally
Reg.Free;
end


Einen Log mit dem Process Monitor...gibt es diesen schon mit Delphi 7? Ich kenne den PM noch nicht.

Geändert von jodahush (18. Mär 2012 um 18:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#17

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 19:34
Process Monitor
Das nächste Mal bitte selber googlen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
jodahush

Registriert seit: 24. Aug 2006
18 Beiträge
 
#18

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 20:27
OK, die Darstellung der Prozesse in dem Process Monitor übersteigt meinen Horizont.
Ich habe mal versucht aufzufangen, was passiert, wenn ich "Erzeugen" in dem Program Autostart Test von Janicke klicke.
Die Log file hängt dran.
Ich habe
a) Autostart Test gestartet
b) Einträge befüllte
c) Process Monitor gestartet, Fenster gewischt
d) Capture Events ge-klickt
e) Erzeugen in Autostart Test geklickt
f) Capture Events wieder ausgeklickt.

Ich hoffe das war so richtig
Angehängte Dateien
Dateityp: 7z Logfile.7z (57,0 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 20:44
Eigentlich war das schon richtig, aber in dem Log ist fast nix drin. Und von dem Projekt finde ich gar nix.

Ich habe einmal den Filter und das Highlighting eingestellt wie im Screenshot zu sehen. Wichtig sind jeweils die include Zeilen. Markiert im Log siehst du dort die Zeile, in der man sieht, dass in den Eintrag Test der Wert cmd.exe geschrieben wird. Das habe ich für den aktuellen Benutzer gemacht.

Wenn du den Filter so einstellst, solltest du auch Einträge von deinem Projekt im Log sehen. Sonst stimmt etwas nicht. Bei Speichern kannst du dann "Events displayed using current filter" aktivieren, damit die herausgefilterten Einträge gar nicht gespeichert werden.

processmonitorautostartlog.jpg
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
jodahush

Registriert seit: 24. Aug 2006
18 Beiträge
 
#20

AW: Autostart unter Windows 7

  Alt 18. Mär 2012, 23:24
Ich prüfe das morgen mal mit dem Filter.
Also das ganze ist für mich schon sehr anspruchsvoll.
Bin mal gespannt was du rausfindest.
Ich habe jetzt ein zweites Logfile erstellt, das von Start compiling bis programmstop eigentlich alles aufgezeichnet hat.
Morgen schau ich mal ob ich mit den Filtern was erkennen kann.

vg
jodahush
Angehängte Dateien
Dateityp: 7z Logfile2.7z (106,3 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz