| |

Visual-Basic EinsteigerFormOnTop prüfung | |  | Autor: Oly | Datum: 07.02.09 14:17 |
| Hallo zusammen,
möchte gerne eine Fremdanwendung mit dem Tip
' Fenster in den Vordergrund setzen
Public Sub FormOnTop(ByVal hwnd As Long, _
ByVal OnTop As Boolean)
If OnTop Then
' immer im Vordergrund
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE
Else
' normal
SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub
in den Vordergrund bringen. Soweit so gut, es funktioniert.
Doch wenn ich die Fremdanwendung minimiere so wird sie automatisch durch ein Passwort gesperrt.
Jetzt habe ich das Problem, das die Anwendung NICHT in den Vordergrund kommt
Habe schon mehreres ausprobiert um diesen Zustand zu prüfen, doch leider ohne Erfolg.
'zunächst die benötigten API-Deklarationen
Private Declare Function FindWindow Lib "user32.dll" _
Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetTopWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function GetFocus Lib "user32.dll" () As Long
Private Declare Function ShowWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function GetActiveWindow Lib _
"user32" () As Long
Private Declare Function SetWindowPos Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
' Fenster in den Vordergrund setzen
Public Sub FormOnTop(ByVal hwnd As Long, _
ByVal OnTop As Boolean)
If OnTop Then
' immer im Vordergrund
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE
Else
' normal
SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub
Private Sub CommandButton1_Click()
Dim hwnd As Long
Dim tophwnd As Long
hwnd = FindWindow(vbNullString, "Anwendung")
FormOnTop hwnd, False
tophwnd = GetForegroundWindow
If tophwnd = hwnd Then
MsgBox "gleich"
Else
MsgBox "ungelich"
End If
End Sub
Ihr seht mit welchen API`s ich es schon versucht habe, doch habe bisher nichts positives hinbekommen.
Habt Ihr noch einen Tip wie ich prüfen kann, ob die Anwendung jetzt gesperrt ist |  |
 FormOnTop prüfung | 1.031 | Oly | 07.02.09 14:17 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|