F fflagred Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #1 如何设计一个窗口显示在屏幕顶层,像realplayer等等一样始终在屏幕顶层,而且怎样屏蔽其他运行的程序,就是不能切换到其他程序,除非退出本程序 ( 积分: 100 )<br />见题。重谢。
S ShmilyPrince Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #3 设置在顶很容易,不昂切换到其他程序的话,你可以考虑将鼠标锁定在你的界面内,并且屏蔽掉ATL,TABLE键
S ShmilyPrince Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #5 //下面的来限制鼠标位置 var rtButton2: TRect; begin rtButton2 := Button2.BoundsRect; MapWindowPoints(handle, 0, rtButton2, 2); // 座标换算 ClipCursor(@rtButton2); // 限制鼠标移动区域 end; // 还原 var rtScreen: TRect; begin rtScreen := Rect(0, 0, Screen.Width, Screen.Height); ClipCursor(@rtScreen); end;
//下面的来限制鼠标位置 var rtButton2: TRect; begin rtButton2 := Button2.BoundsRect; MapWindowPoints(handle, 0, rtButton2, 2); // 座标换算 ClipCursor(@rtButton2); // 限制鼠标移动区域 end; // 还原 var rtScreen: TRect; begin rtScreen := Rect(0, 0, Screen.Width, Screen.Height); ClipCursor(@rtScreen); end;
S ShmilyPrince Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #6 var tmp : integer; begin tmp := 0; //屏蔽 Alt-Tab SystemParametersInfo( SPI_SETFASTTASKSWITCH 1 @tmp 0); //屏蔽 Ctrl-Alt-Del SystemParametersInfo( SPI_SCREENSAVERRUNNING 1 @tmp 0); end; end; 要恢复系统的热启动键(Ctrl+Alt+Del),使用以下语句 SystemParametersInfo(SPI_SCREENSAVERRUNNING 0 0 0);
var tmp : integer; begin tmp := 0; //屏蔽 Alt-Tab SystemParametersInfo( SPI_SETFASTTASKSWITCH 1 @tmp 0); //屏蔽 Ctrl-Alt-Del SystemParametersInfo( SPI_SCREENSAVERRUNNING 1 @tmp 0); end; end; 要恢复系统的热启动键(Ctrl+Alt+Del),使用以下语句 SystemParametersInfo(SPI_SCREENSAVERRUNNING 0 0 0);
K kk2000 Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #8 //试试下面看 SetWindowPos(Application.MainForm.Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_SHOWWINDOW or SWP_NOMOVE);
//试试下面看 SetWindowPos(Application.MainForm.Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_SHOWWINDOW or SWP_NOMOVE);
P Pc狂迷 Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #9 超简单! frmMainWindow := TfrmMainWindow.CreateParented(GetDesktopWindow);
S ShmilyPrince Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #10 你是说什么不好用,鼠标控制的那个例子是将鼠标控制在按钮里,你可以换成你的窗体。 键盘得再98下面可以NT里的可能你要用HOOK
P Pc狂迷 Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #11 拦载鼠标移入移出消息:CM_MOUSEENTER,CM_MOUSELEAVE
F fflagred Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-02 #12 我用的是全屏,所以不存在鼠标移入移出的问题,我现在是xp,上面屏蔽按键alt+tab和alt+ctrl+del的例子不好用。有高手给意见吗?
M mikejz123 Unregistered / Unconfirmed GUEST, unregistred user! 2005-01-07 #13 Formstyle设为fsStayOnTop, windowstate设为wsmaximized, 就全都OK了