Läuft die Applikation?

Mit dem untenstehenden Befehl versuche ich herauszufinden, ob eine Applikation schon läuft. In diesem Fall ist es MS Word. Jedoch bringt mir der viHandle immer nur zero(App. läuft nicht) zurück. Was mach ich da Falsch? (FindWindow ist ein API aufruf!)

Declare Function FindWindow Lib „user32“ Alias „FindWindowA“ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

viHandle = FindWindow(0&, „Microsoft Word“)

Hi Patrik!

Ich nehme an du versuchst es unter VB !

Probiers mal so
On error resume next
set obj = GetObject(„word.application“)

if err.number 0
word läuft nicht
else
word läuft schon
end if
on error goto 0
err.clear

Ciao
Mario

Hi Mario

Läuft leider auch nicht. Mein programm merkt einfach nicht, dass die App schon läuft.

cu
Patrik

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Versuch mal folgendes:

Public Function WordWindow() As Boolean
Dim hwnd As Long
 hwnd = FindWindow("OpusApp", 0&amp:wink:
 WordWindow = hwnd 0
End Function

Die Caption ist ungeeignet, Word zu finden, da sie sich jeweils ändert (meistens steht der Dokumentenname mit drin…)

Reinhard

Hi Reinhard

Deine Idee läuft bei mir leider auch nicht. hwnd ist immer zero!

Thanks
Patrik

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dann solltest du vielleicht mal genauer posten, in welcher Umgebung du arbeitest. (VB?, VBA? - wenn ja, welches? Welches Betriebssystem?)

Und du solltest vielleicht mal deine Deklaration von FindWindow überprüfen. Sie sollte sein:

Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpCaption As Any) As Long

Wenn das nicht hilft, solltest du vielleicht mal den exakten Code posten, den du verwendest.

Reinhard