Hallo,
vielleicht kann mir jemand helfen etwas zu verstehen
und zwar möchte ich eine Variable auslesen (Fenstername) und bekomme nicht immer den Inhalt in einer MSGBOX zu sehen.
hier mal der Code:
Dim hwndContr As Long
Dim ret1 As Long
Static hWnd, lhwnd As Long
Dim lMsg As Long
Dim sFilter As String
Dim Pufferlänge As Long, Puffer As String
Static Fenstername As String
Dim Auftragsnr$, Hersteller$, Bezeichnung$, SN$, RMA$
lMsg = X / Screen.TwipsPerPixelX
Select Case lMsg
Case WM_MOUSEMOVE
hWnd = GetForegroundWindow()
' Länge des Captiontextes ermitteln
Pufferlänge = GetWindowTextLength(hWnd) + 1
Puffer = Space(Pufferlänge)
' Captioneigenschaft des aktiven Fensters ermitteln
Pufferlänge = GetWindowText(hWnd, Puffer, Pufferlänge)
Fenstername = Left$(Puffer$, Pufferlänge)
' linke Maustaste wird gedrückt
Case WM_LBUTTONDOWN
'prüfen ob eine Service EDV aktiv ist
If Left(Fenstername, 9) <> "SERVICE (" Then
AppActivate (App.Title)
MsgBox "Eine Service EDV mit einem Auftrag sollte aktiv sein!" & vbCrLf & _
"Vorgang wurde abgebrochen!"
Exit Sub
End If
'hwnd des Reparaturbrowsers ermitteln
lhwnd = FindWindowEx(hWnd, 0, "MDIClient", "")
lhwnd = FindWindowEx(lhwnd, 0, "Centura:AccFrame", "Reparaturauftrag")
lhwnd = FindWindowEx(lhwnd, 0, "Centura:Form", vbNullString)
'hwnd der Reparaturauftragsnr ermitteln
hwndContr = GetDlgItem(lhwnd, 4098)
'Auftragsnr ermitteln
1) MSGBOX Fenstername
Auftragsnr = Space$(255)
ret1 = SendMessage(hwndContr, WM_GETTEXT, Len(Auftragsnr), Auftragsnr)
2) MSGBOX Fenstername
'Vorgang abbrechen falls Reparaturauftragsfenstern nicht gefunden wurde
If hwndContr = 0 Then
AppActivate (App.Title)
MsgBox "Es wurde kein Reparaturauftrag gefunden!" & vbCrLf & "Vorgang wurde" & _
"abgebrochen!"
Exit Sub
Else
Auftragsnr = StripNull(Auftragsnr)
End If so, wenn ich jetzt die erste Msgbox deaktiviere steht in der zweiten nichts mehr. aktiviere ich aber die erste Msgbox, so steht der Name des Fensters auch in der zweiten. Warum? |