AW: UserForm immer im Vordergrund halten?
28.06.2018 23:22:46
Karl-heinz
Hallo Tim,
hier eine Idee, die ich aber nicht testen konnte, probiere es einfach mal aus:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public 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
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const cFLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Sub UserForm_Activate()
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "www.google.de"
UserForm1.Show vbModeless
SetWindowPos FindWindow(vbNullString, UserForm1.Caption), HWND_TOPMOST, 0, 0, 0, 0, cFLAGS
End Sub
Über die API-Funktion SetWindowPos kann ein Fenster im Vordergrund gehalten werden. Hierfür brauchst Du das Handle des betreffenden Fensters, welches über FindWindow ermittelt werden kann.
viele Grüße
Karl-Heinz