Описание функции
SetForegroundWindow
Делает окно активным
SetForegroundWindow(hWnd)
Параметры
hWnd | Дескриптор окна |
Пример
; Fred
; https://www.purebasic.fr/english/viewtopic.php?t=7424
Procedure SetForegroundWindow(hWnd)
Protected foregroundThreadID, ourThreadID
If GetWindowLong_(hWnd, #GWL_STYLE) & #WS_MINIMIZE
; ShowWindow_(hWnd, #SW_MAXIMIZE)
ShowWindow_(hWnd, #SW_SHOWNOACTIVATE)
UpdateWindow_(hWnd)
EndIf
foregroundThreadID = GetWindowThreadProcessId_(GetForegroundWindow_(), 0)
ourThreadID = GetCurrentThreadId_()
If (foregroundThreadID <> ourThreadID)
AttachThreadInput_(foregroundThreadID, ourThreadID, #True);
EndIf
SetForegroundWindow_(hWnd)
If (foregroundThreadID <> ourThreadID)
AttachThreadInput_(foregroundThreadID, ourThreadID, #False)
EndIf
InvalidateRect_(hWnd, #Null, #True)
EndProcedure