Недавно решил одну проблемку, которая долго мучала - решил поделиться, может кому ещё пригодится.
При работе с двумя мониторами или с монитором и проектором часто возникает необходимость запретить окну "исчезать" при наведении курсора мыши на миниатюру другого приложения в панели задач. Чтобы это сделать надо:
uses
...
Winapi.DwmApi
...
TMainForm = class(TForm)
...
protected
procedure CreateHandle; override;
...
end;
...
procedure TMainForm.CreateHandle;
var
Val, Res: Integer;
begin
inherited CreateHandle;
Val := 1;
Res := DwmSetWindowAttribute(FormToHWND(Self), DWMWA_EXCLUDED_FROM_PEEK, @Val, SizeOf(Val));
{$IFDEF DEBUG}
if Res <> S_OK then
ShowMessage(SysErrorMessage(Res));
{$ENDIF}
end;
Вопрос
dnekrasov
Недавно решил одну проблемку, которая долго мучала - решил поделиться, может кому ещё пригодится.
При работе с двумя мониторами или с монитором и проектором часто возникает необходимость запретить окну "исчезать" при наведении курсора мыши на миниатюру другого приложения в панели задач. Чтобы это сделать надо:
uses ... Winapi.DwmApi ... TMainForm = class(TForm) ... protected procedure CreateHandle; override; ... end; ... procedure TMainForm.CreateHandle; var Val, Res: Integer; begin inherited CreateHandle; Val := 1; Res := DwmSetWindowAttribute(FormToHWND(Self), DWMWA_EXCLUDED_FROM_PEEK, @Val, SizeOf(Val)); {$IFDEF DEBUG} if Res <> S_OK then ShowMessage(SysErrorMessage(Res)); {$ENDIF} end;
Спасибо @Alex7wrt за наводку
Ссылка на комментарий
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.