Einzelnen Beitrag anzeigen

Link00y

Registriert seit: 7. Jun 2005
2 Beiträge
 
#1

[gelöst] Systemdienst möglichst früh starten

  Alt 27. Jul 2009, 08:10
Hallo Delphianer,

ich schlage mich im Moment auf meinem Laptop mit der Entwicklung eines Delphi-Systemdienstes.

Kurze Erläuterung: auf meiner Arbeit dürfen wir unsere Laptops auf Wunsch verwenden, eine Sache, die mir recht gut gefällt, da man so bequem in eigener Umgebung arbeiten kann. Nur hat bei meinem Laptop sich eine kleine Tücke eingeschlichen: das WLAN muss normalerweise über eine Taste aktiviert werden, diese Taste geht jedoch nur wenn das Programm pm.exe von Fujitsu Siemens (liegt normal im Autostart) läuft. Anmelden an der Firmendomäne ist so nicht möglich, da am Anmelde-Bildschirm pm.exe nicht läuft. Ich habe mich umgesehen und gefunden: findige Linux-Junkies haben die Funktion aus pm.exe dokumentiert um sie bei Linux zu integrieren - ich habe mich rangesetzt und einen WLAN-Activator-Service für Windows gebastelt. Der arbeitet auch, sobald der Dienst läuft, ist die WLAN-Leuchte an.

Jetzt zum Problem: ich kann beim Anmelde-Bildschirm gute 2 bis 3 Minuten warten bis die Leuchte angeht, der Dienst wird mit sehr sehr geringer Priorität scheinbar behandelt. Wenn ich mich fix lokal anmelde werden sogar viele Dinge des Autostarts bevorzugt gestartet.

Wenn ich nun den Service-Start von stAuto auf stSystem (stBoot soll ja laut Windows eher für Dateisysteme und IDE-Treiber dienen und so hoch ist die Priorität nun auch nicht) stelle.. ändert sich nichts (ja ich habe /uninstall und /install neu ausgeführt). Ein Blick in die registry zeigt: HKEY_LOCAL_MACHINE\System\CurrentControlSet\servic es\WLANSrv - Start steht auf 00000002 (Auto).. na gut, stelle ich dies manuell auf 00000001 (System).. Neustart: Erfolg.. der Dienst kann überhaupt nicht gestartet werden - zur Info: der Dienst ist eine EXE-Datei, er sollte keine Abhängigkeiten haben (außer an eine statisch verlinkte DLL) und benötigt keine Interaktion zum Windows-Desktop. Er hat auf seinem "Formular" (oder wie man das nennt) nur einen Timer (dieser dient dazu in regelmäßigen Abständen (5 Sekunden) den Aktivier-Befehl an die Hardware zu senden.. damit auch nach einem Ruhezustand oder Standby-Modus wo die Leuchte wieder ausgeht, der Dienst sie wieder aktiviert).

Tja und jetzt bleibt für mich: Wie kann ich sicherstellen, dass dieser Dienst so früh wie möglich gestartet wird, damit an meinem Laptop so früh wie möglich das WLAN zur Verfügung steht?

Danke schön,

Julian
  Mit Zitat antworten Zitat