Dienst mit VB - Debugging

Shakie

Erfahrenes Mitglied
Hallo!
Zur Zeit bastle ich an einem Programm das im Hintergrund laufen soll und deswegen habe ich es als Dienst mittels dem Microsoft NT Service Control angemeldet. (Um mir helfen zu können muss man das Steuerelement eigentlich gar nicht kennen...) Das Programm funktioniert auch, allerdings nur wenn ich es aus der Entwicklungsumgebung heraus oder die Exe selber starte - nicht aber wenn es als Dienst gestartet wird. Dann funktionieren eben nur "Teile" des Programms.
So, meine Frage an euch ist, wie ich den Fehler nun finden kann! :)
Zuerst habe ich probiert, einfach eine MsgBox ausgeben zu lassen um festzustellen an welcher Stelle im Code sich das Programm bzw. der Dienst gerade befindet. Aber es werden einfach keine MsgBoxen ausgegeben, es kommt nur der MsgBox-Sound. Liegt das evtl. daran dass Dienste keine MsgBox mögen? :confused:. Dann habe ich immer einen Beep-Sound ausgeben lassen um zu wissen, dass der Dienst überhaupt gerade was macht. Durch diese eher umständliche Methode habe ich herausgefunden, dass immer die Codeteile Mist bauen, die API-Funktionen verwenden.
Kann es vielleicht sein dass eine oder mehrere von diesen API-Funktionen nicht als Dienst arbeiten mag?
  • GetWindowLong
  • GetWindowTaskID
  • GetWindowTitle
  • GetWindow
Ich blick da nicht mehr durch :rolleyes:. Hat jemand von euch Erfahrung mit der Programmierung von Diensten in VB? Ich glaub der Fehler liegt bei der API GetWindow. Aufrufen tu ich sie so:
Code:
GetWindow(Form1.hwnd, GW_HWNDFIRST)
Desweiteren wundert mich dass die Form1 gar nicht angezeigt wird. Ok später wenn das Programm/der Dienst fertig ist soll ja auch keine Form angezeigt werden, aber noch habe ich dafür keinen expliziten Codebefehl eingebaut. Die Form müsste also angezeigt werden...wie gesagt in der Entwicklungsumgebung und als Exe funktioniert alles, nur als Dienst nicht. Ich hoffe jemand hat einen Ratschlag.
 
Zurück