Code: |
procedure ShowMainForm; {©Drkb v.3www.drkb.ru} var hWnd, hCurWnd, dwThreadID, dwCurThreadID: THandle; OldTimeOut: DWORD; AResult: Boolean; begin ShowWindow(Application.Handle, SW_RESTORE); Application.MainForm.Visible := True; // Показываем главную форму
// Ставим нашу форму впереди всех окон hWnd := Application.Handle; SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @OldTimeOut, 0); SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, Pointer(0), 0); SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE); hCurWnd := GetForegroundWindow; AResult := False; while not AResult do begin dwThreadID := GetCurrentThreadId; dwCurThreadID := GetWindowThreadProcessId(hCurWnd); AttachThreadInput(dwThreadID, dwCurThreadID, True); AResult := SetForegroundWindow(hWnd); AttachThreadInput(dwThreadID, dwCurThreadID, False); end; SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE); SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, Pointer(OldTimeOut), 0); end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!