当前位置: 代码迷 >> PB >> pb中如何让pb程序总是在windows最前面,不能用alt-tab,win键切换
  详细解决方案

pb中如何让pb程序总是在windows最前面,不能用alt-tab,win键切换

热度:363   发布时间:2016-04-29 08:01:44.0
pb中怎么让pb程序总是在windows最前面,不能用alt-tab,win键切换
pb中怎么让pb程序总是在windows最前面,不能用alt-tab,win键切换,只有当pb程序正常退出后才可以操作window.pb程序没退出之前就只能在pb程序中操作,不能通过alt_tab,alt_f4,win等键来切换窗口或关闭程序.大侠们,怎么实现啊?

------解决方案--------------------
使用API可以实现。窗口在最前面。后面的热键可以让键盘失效。当关闭程序的时候在打开键盘。
------解决方案--------------------
设置顶层窗口
SetWindowPos( Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
------解决方案--------------------
popup!窗口就可以
------解决方案--------------------
//屏蔽窗口的ALT+F4键
在窗口的systemkey事件中增加以下代码:
IF KeyDown(KeyF4!) THEN 
Message.Processed = TRUE 
END IF 
//其它的按键类似

//如何使PB窗口总在最上层(Always On Top)
通过SetWindowPos函数把窗口的显示层次修改为HWND—TOPMOST,就可使指定窗口永远不会被其它窗口覆
盖,该函数声明为: 
Function Long SetWindowPos(Long hwnd,Long ord,Long x,Long y,Long dx,Long dy,Long uflag) Library ″user32″ 
参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余参数指定窗口位置和
大小,均可忽略。在窗口的Open或Activate事件中加入如下函数调用: 
SetWindowPos(Handle(This),-1,0,0,0,0,3) 
参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,表示窗口大小保持不
变,取2表示保持位置不变,因此,取3(=1+2)表示大小和位置均保持不变,取0表示将窗口的大小和
位置改变为指定值。
  相关解决方案