prüfen ob anwenung noch läuft?!
lima-city → Forum → Programmiersprachen → Basic
antwort
anwendung
aufruf
beispiel
datei
funktion
genauen befehle
portier
sender
titelleiste
versuch
vorgehen
vorhandenen fenster
warnmeldung
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also bei Outlook sollte es funktionieren, einfach zu versuchen mit GetActiveOLEObject zu ?berpr?fen, ob Outlook.Application einen Handle zur?ck liefert. Wenn ja, dann l?uft's, wenn eine Exception geraist wird, dann nicht. Frag mich bitte aber nicht, wie die genauen Befehle in VB hei?en, arbeite n?mlich mit Delphi.
F?r beliebige Programme w?rde ich folgenderma?en vorgehen: Nimm einen Teil des Textes der Titelleiste. Mit der API-Funktion FindWindow (bzw. glaub ich dann noch weiters GetWindowText, ...) kannst du s?mtliche vorhandenen Fenster aller laufenden Programme durchlaufen lassen, und du schaust einfach, ob, wie in deinem Beispiel "Outlook", drinnen vorkommt! -
So, hier die L?sung (als Delphi-Code), ob Outlook l?uft (hab's ausprobiert, funzt auch). Vielleicht kann's ja jemand nach VB portieren:
procedure TForm1.Button1Click(Sender: TObject); var V: Variant; OutlookRunning: Boolean; begin try V := GetActiveOLEObject('Outlook.Application'); OutlookRunning := True; except OutlookRunning := False; end; if OutlookRunning then begin Label1.Caption := 'Outlook l?uft'; // was wei? ich tun! Warnmeldung? end else begin Label1.Caption := 'Outlook l?uft nicht!'; // hier deine Batch-Datei aufrufen end; end;
Wichtig ist nur, dass du die Unit ComOBJ einbindest, solltest du's doch in Delphi versuchen!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage