Hallo
Man kennt das ja sicher. Der PC (XP) Startet, eine freundliche Stimme kündigt uns den Windows-Start an (oder ein Ton oder nix) und dann erscheint der Desktop doch es dauert noch einige Zeit bis alle kleinen Programme im Hintergrund gestartet sind.
Nun frage ich mich, ob es nicht irgendwie möglich wäre das der PC „Bescheid sagt“ wenn alle Programme gestartet sind.
Also das quasi als letztes ein Programm, bzw eine Sounddatei abgespielt wird, die ankündigt, das alle Programme ausgeführt werden. Oder werden wirklich alle Programme gleichzeitig gestartet und dann „hin und her geladen“? Dann würde es ja eh nix bringen.
Man kennt das ja sicher. Der PC (XP) Startet, eine freundliche
Stimme kündigt uns den Windows-Start an (oder ein Ton oder
nix) und dann erscheint der Desktop doch es dauert noch einige
Zeit bis alle kleinen Programme im Hintergrund gestartet sind.
Nun frage ich mich, ob es nicht irgendwie möglich wäre das der
PC „Bescheid sagt“ wenn alle Programme gestartet sind.
Also das quasi als letztes ein Programm, bzw eine Sounddatei
abgespielt wird, die ankündigt, das alle Programme ausgeführt
werden. Oder werden wirklich alle Programme gleichzeitig
gestartet und dann „hin und her geladen“? Dann würde es ja eh
nix bringen.
Windows geht beim Laden schon nach einem bestimmten Schema vor, zB werden Dienste zuerst geladen usw, aber je nach Programm kann das letzte zB schneller geladen sein als das vorletzte, so dass es kaum eine Möglichkeit gibt, Windows erkennen zu lassen, wann es fertig mit dem Laden ist, zumal die Autostartmöglichkeiten ja auch noch zahlreich sind.
Gruss
ExNicki
wie exnicki schon so richtig festgestellt hat, gibt es keine wirklich brauchbare art, wie man feststellt, ob windows fertig ist mit hochfahren. liegt daran, dass windows mehrere „startpunkte“ kennt, wo man autostart-einträge hinlegen kann (autostart-ordner, registry: run, runonce; das ganze für den eigenen benutzer und für alle benutzer). windows geht nicht immer zwingend die gleiche reihenfolge durch. teilweise können die einzelnen starts etwas länger dauern als normal usw.
was man machen kann (wenn auch ziemlich umständlich): man hängt in den autostart-bereich ein kleines programm, dass im sekundentakt geladenen prozesse anschaut (unter xp prof z.b. mit „tasklist“ möglich). nach einem „normalen“ start schaut man da mal rein und sucht sich die automatisch gestartet programme raus. im eigenen programm prüft man nun, ob diese programme schon laufen. sind alle programme vollzählich in der taskliste drinnen, kann man davon ausgehen, dass sie alle gestartet sind und windows bereit ist.
da aber ein programm bereits in der taskliste aufscheint, obwohl es gerade erst initialisiert wird, ist das ganze recht ungenau. blockiert so ein programm aus irgendwelchem grund die festplatte, wird der gesammte startprozess verlangsamt. irgendwelche wartungsarbeiten von windows können auch noch stören - und die treten nicht immer „vorhersehbar“ auf…
eine andere art ist primitiver: du stoppst mit einer stoppuhr, wie lange nach dem erscheinen des desktops es dauert, bis du tatsächlich arbeiten kannst. dann hängst du ein kleines skript in den autostart-ordner, der nach dieser anzahl von sekunden (+ etwas sicherheitsspielraum) einen beep macht. ist vermutlich genausso genau/ungenau wie die obige lösung, dafür leichter realisierbar.