![]() |
AW: Autostart unter Windows 7
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? |
AW: Autostart unter Windows 7
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 |
AW: Autostart unter Windows 7
Liste der Anhänge anzeigen (Anzahl: 1)
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.
|
AW: Autostart unter Windows 7
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. |
AW: Autostart unter Windows 7
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. ;-) |
AW: Autostart unter Windows 7
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. |
AW: Autostart unter Windows 7
|
AW: Autostart unter Windows 7
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
AW: Autostart unter Windows 7
Liste der Anhänge anzeigen (Anzahl: 1)
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. Anhang 36531 |
AW: Autostart unter Windows 7
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz