![]() |
Autostart Manager
Liste der Anhänge anzeigen (Anzahl: 2)
Autostart-Manager ist ein einfaches kleines Programm, mit dem man schnell alle Programme findet, die im Autostart stehen.
Es werden die Autostart-Programme aus der Registry und die aus dem Startmenü aufgelistet. Des Weiteren können Einträge bearbeitet, gelöscht oder neue Programme in den Autostart hinzugefügt werden. Außerdem wird zu jedem Autostart-Eintrag noch das Icon des Programms angezeigt - wird kein Icon angezeigt, ist der Eintrag fehlerhaft (Pfadangabe nicht korrekt). Mein Programm schreibt ansonsten nichts in die Registry und installiert werden muss auch nix.
|
Re: Autostart Manager
Mh.. also irgendwie kommt da nichts. Der Taskmanager zeigt 50%-CPU auslastung an und der CPU-Lüfter wird auf hochturen gefahren, aber das Programm scheint sich in einer Endlosschleife oder ähnlichem zu befinden. Hab es auf jeden Fall mit Adminrechten ausgeführt...
|
Re: Autostart Manager
dito.
|
Re: Autostart Manager
Zitat:
Vielleicht steht bei Dir ziemlich vie drin? Es müssen natürlich alle Autostart-Enträge aus der Registry ausgelesen werden... Bei mir dauert das zwar auch einen kurzen Moment, geht aber trotzdem recht flott... Ansonsten kann ich mir das auch nicht erklären. Eine Enlosschleife ist auf jeden Fall nicht drin. //Edit: Zitat:
|
Re: Autostart Manager
dito = sage ich = bei mir genauso.
|
Re: Autostart Manager
Zitat:
Also im Autostart steht so gut wie gar nichts.. es muss also ein anderer Fehler sein. Hast Du Dein Programm schon mal auf einem anderen Rechner bzw. auf einer VM ausprobiert?! |
Re: Autostart Manager
Vielleicht baue ich ja noch eine ProgressBar ein, dass man sieht ob er was macht und wie lange es noch dauert...
Muss jetzt aber weg... Morgen dann! Ansonsten hab ich wirklich keine Ahnung! Zitat:
------ Was habt ihr denn für ein Betriebssystem? Wahrscheinlich läuft es nur unter XP !!!!! |
Re: Autostart Manager
Liste der Anhänge anzeigen (Anzahl: 1)
;)
|
Re: Autostart Manager
So, hab jetzt mein Prog mal auf einem anderen Rechner getestet.
Auch hier läuft's !!!! Beide Rechner haben XP Home drauf, aber eigentlich müsste es auch unter Professional laufen :gruebel: Nach wie vor: Keine Ahnung woran es liegt! Ich werde jetzt gleich mal ne Version mit ProgressBar rausbringen! Haben denn sonst auch alle dieses Problem, oder gibt's welche die mir berichten können, dass es bei ihnen läuft??? //Edit: So, hab jetzt die Version angehängt. Dies ist keine neue Version, die die ursprüngliche ersetzt sondern sie soll lediglich zur Fehlersuche dienen. Wenn der Fehler gefunden ist, wird diese Version wieder gelöscht. Änderungen: Registry wird nicht beim Programmstart ausgelesen. Beim Programmstart wird dann eigentlich gar nichts mehr ausgeführt, also müsste das Programm bei euch wenigstens mal starten. Dann klickt mal auf den Button, und guckt wie lange er zum Auslesen der Registry brauch bzw. an welcher Position die ProgressBar stehen bleibt. Vielleicht hilft das dann ja zur Fehlersuche... //Edit: Anhang entfernt, da Problem gelöst ist. |
Re: Autostart Manager
Der bleibt bei ~80% stehen (13 Balken, 16).
Aber bis er stehen bleibt, ist das och recht langsam ... voviel sollte es doch garnicht sein, was alles gemacht (ausgelesen/geladen) werden muß. |
Re: Autostart Manager
Aha, na da kommen wir doch schon der Sache näher.
Also bei mir geht's so schnell, dass ich die Balken gar nicht zählen kann. Also bei 80% werden die Autostart-Einträge von allen Usern ausgelesen, also HKEY_USERS und von allen Schlüsseln, die da drin sind, die Autostart-Einträge. Wie viele Schlüssel habt ihr denn da? :gruebel: Wie viele User habt ihr denn bei euch eingerichtet? |
Re: Autostart Manager
Selbst bei 25 Benutzern sollte das kein Thema sein. Ich denke mal der fehler liegt in deinem Code.
|
Re: Autostart Manager
Ja, bin ich denn der eingigste bei dem es läuft :?: :?: :?: :?:
Hab es mit einem User und auf dem anderen Rechner mit 4 Usern getestet. Aber selbst bei 25 sollte es eigentlich gehen. Hier mal ein bissl Code-Fetzen:
Delphi-Quellcode:
List und Keys sind StringListen, ansonsten ist das Prinzip bei HKEY_CURRENT_USER und HKEY_CLASSES_ROOT dasselbe wie bei HKLM,
ProgressBar1.Position:=60;
Reg.RootKey:=HKEY_LOCAL_MACHINE; List.Clear; if Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',False) then try Reg.GetValueNames(List); if List.Count>0 then for i:=0 to List.Count-1 do NewItem(List[i],Reg.ReadString(List[i]),'HKEY_LOCAL_MACHINE'); finally Reg.CloseKey; end; ProgressBar1.Position:=80; Reg.RootKey:=HKEY_USERS; List.Clear; if Reg.OpenKey('',False) then try Reg.GetKeyNames(Keys); Reg.CloseKey; while Keys.Count>0 do if Reg.OpenKey(Keys[0]+'\Software\Microsoft\Windows\CurrentVersion\Run',False) then begin Reg.GetValueNames(List); if List.Count>0 then for i:=0 to List.Count-1 do NewItem(List[i],Reg.ReadString(List[i]),'HKEY_USERS\'+Keys[0]); List.Clear; Keys.Delete(0); Reg.CloseKey; end; finally Reg.CloseKey; end; lediglich bei HKEY_USERS ist es anders, da ja noch die Unterschlüssel einzeln ausgelesen werden. Und NewItem ist eine Prozedur, die dann den neuen Eintrag zur ListView hinzufügt. Inkl. einer Funktion die das Icon zum Pfad sucht, die Funktion wird gerade noch verbessert. |
Re: Autostart Manager
Warum ist das:
Delphi-Quellcode:
keine for-Schleife? Du weißt doch, wie viele Eintrage in der Liste Keys sind.
while Keys.Count>0 do
if Reg.OpenKey(Keys[0]+'\Software\Microsoft\Windows\CurrentVersion\Run',False) then begin Reg.GetValueNames(List); if List.Count>0 then for i:=0 to List.Count-1 do NewItem(List[i],Reg.ReadString(List[i]),'HKEY_USERS\'+Keys[0]); List.Clear; Keys.Delete(0); Reg.CloseKey; end; Und wie erstellst du das TRegistry-Objekt? Ich würde es mal mit KEY_READ versuchen als Parameter der Create-Methode. |
Re: Autostart Manager
Zitat:
Bin halt ein Variablen-Sparer :zwinker: Zitat:
Delphi-Quellcode:
Wenn ich es mit KEY_READ mache, kann ich doch keine neuen Einträge mehr reinschreiben/löschen/ersetzen ???
procedure TForm1.FormCreate(Sender: TObject);
begin Reg:=TRegistry.Create; {...} end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(Reg); end; |
Re: Autostart Manager
Bei mir funktioniert das auslesen jetztr mit der debug-version.
|
Re: Autostart Manager
Zitat:
Wie lange dauert denn das Auslesen? Komisch ist: Wenn Du auf den Button klickst wird genau dasselbe gemacht, was vorher bei FormCreate gemacht wurde! Bis auf die ProgressBar hab ich sonst wirklich nix geändert... |
Re: Autostart Manager
Hmm... nur ne sekunde, mehr nicht, ich hab auch nur zwei,drei einträge.
Allerdings solltest du das nicht im formcreate machen, wenn dann im formshow! Im formcreate sind die ganzen komponenten, auf die du wahrscheinlich zugreifst, noch gar nicht da. EDIT: Es sollte dann eigentlcih AVs hageln... |
Re: Autostart Manager
Zitat:
|
Re: Autostart Manager
Zitat:
Dann muss ich jeden mal die Registry neu createn??? Zitat:
|
Re: Autostart Manager
Zitat:
|
Re: Autostart Manager
Öhm... :oops:
Na schön, dann mach ich's halt lokal. //Edit: Dachte das war klar, nachdem ich es in FormCreate erzeugt und in FormDestroy wieder freigegeben hatte... |
Re: Autostart Manager
So, neue Version!
(erster Beitrag aktualisiert) Änderungen: - Auslesen nicht mehr in FormCreate sondern in FormShow - for-Schleife (s. Beitrag 14) - Auslesen mit KEY_READ - Registry lokal und nicht mehr global Danke für eure Tipps!!! Und schonmal Danke fürs erneute Testen! Ich hoffe, dass damit der anfängliche Fehler behoben ist... |
Re: Autostart Manager
ok jetzt funzt es auch bei mir! ^^
-> nettes Tool! |
Re: Autostart Manager
So, neue Version online (s. erster Beitrag)!
Hab nochmal die Funktion zum Auslesen der Programm-Icons verbessert. Wäre gut wenn ihr mir sagen könnt, ob bei euch bei irgendeinem Eintrag kein Icon oder ein falsches Icon angezeigt wird. Danke schonmal, für euer Testen :thumb: Hat jemend zufällig einen Rechner mit einem älteren Betriebssystem? Würde mich interessieren, ob es da auch läuft. Bisher wurde es nur unter XP getestet... |
Re: Autostart Manager
Funktioniert und sieht gut aus! (XP Home)
Einem Eintrag, welcher ein Ordner-Symbol als Icon hat wird weder ein Name noch ein Wert zugewiesen. Hab gerade keine Admin-Rechte, kann leider also nicht überprüfen, ob "msconfig" das auch so anzeigen würde. |
Re: Autostart Manager
Zitat:
Das mit dem Ordner-Symbol ist klar: '' ist immer ein Ordner - der Ordner, in dem das Programm ausgeführt wird. Wenn ich beispielsweise "" in Start -> Ausführen eingebe, wird der aktuelle Ordner geöffnet. |
Re: Autostart Manager
Jep, beide Felder leer.
Aber ich hab mal geschaut, was "msconfig" sagt und auch hier tauchen mehrere komplett leere Einträge auf. Also kein Fehler deines Programms. |
Re: Autostart Manager
@TheAn00bis:
Nur mal so ein kleiner Tipp: Solche fehlerhaften Einträge würde ich löschen. Dafür ist ja mein Programm da :zwinker: Aber wahrscheinlich brauchst Du dann Admin-Rechte... |
Re: Autostart Manager
So, jetzt will ich auch mal meinen Senf dazugeben :wink::
Sehr nettes Tool, funktioniert bei mir bestens (W2k SP4) allerdings vermisse ich noch ein bischen was:
Gruß Malte |
Re: Autostart Manager
Erstmal danke, dass Du Dir mein Tool so genau angeguckt hast.
Zitat:
Mit der ganzen Zeile ist es irgendwie logischer. Aber: In der Registry ist es genauso!!! Zitat:
Vor allem das mit dem Hauptschlüssel: Das hat ja nicht mehr viel mit ändern zu tun... (in der Registry kann man auch nur den Wert und nicht den Namen ändern und das erscheint mir auch irgendwie so logisch zu sein, oder sieht es noch jemand so wie Du?) Zitat:
Zitat:
Stimmt schon, dann hat man alles in einem Blick! Zitat:
Zitat:
Setze ich ihn in die Reihe unter die anderen drei Schalter, passt es noch weniger - finde ich! |
Re: Autostart Manager
Zitat:
Zitat:
Zitat:
Zitat:
//Edit: Ich hab noch mal ein paar Leerzeilen entfernt... |
Re: Autostart Manager
So, hab den Autostart-Manager komplett überarbeitet.
Viele neue Funktionen kamen hinzu, näheres siehe erstes Posting. Zitat:
Bin schon mal gespannt, auf euer erneutes Testen :???: |
Re: Autostart Manager
Täusche ich mich, oder gibts bei XP keine Unterschiede zw. Registry & Autostart?
|
Re: Autostart Manager
hi
hab win 2000 ohne ein service pack: bei mir erscheint beim starten des programms nur eine Zugriffsverletzung peace |
Re: Autostart Manager
Zitat:
Autostart-Einträge können im Startmenü (Start -> Programme -> Autostart) oder in der Registry stehen. Zumindest ist das bei meinem XP Home so und ich wüsste nicht, dass das irgendwann mal geändert wurde... Zitat:
Mögliche Ursachen: - die Symbole, die ich in der ToolBar und im PopupMenu verwende sind in der Shell32.dll noch nicht drin - Win2000 kommt mit 32 Bit Icons nicht klar - das eingebundene XPManifest |
Re: Autostart Manager
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
--------------------------- Autostart-Manager --------------------------- Zugriffsverletzung bei Adresse 004092A8 in Modul 'AutostartManager.exe'. Lesen von Adresse 000000CE. --------------------------- OK --------------------------- Im Anhang das, was ich dann kommt. Sehr trostloser Anblick. PS: Aber das neue Icon ist hübsch :wink: Ich seh gerade deine Antwort vorbeikommen: Zitat:
|
Re: Autostart Manager
Zitat:
@stz: Da die alte Version bei Dir funktioniert hatte (nehme ich mal an), scheint es wirklich nur an den fehlenden Symbolen in der Shell32.dll zu legen (deshalb auch die leere ToolBar). Die anderen beiden Punkte kann ich dann ausschließen. |
Re: Autostart Manager
Zitat:
PS: schaut euch bitte meinen ImageViewer + Painter an ^^ auch direkt in freeware zu finden |
Re: Autostart Manager
Zitat:
Kommen denn noch AV's ? Welche Funktionen hast Du denn probiert ? Werden die Autostart-Einträge evtl. angezeigt, wenn Du F5 drückst? Was passiert im PopupMenu ? @Win2000 User: Ihr könnt ja mal ![]() Hierbei sollte es dann auch zu AV's kommen, wenn ich in meiner Vermutung richtig liege :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 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