要实现这种功能用模态对话框是不行的。需要在程序中做到如下几点,能到大致的模拟出这个效果。 1、用定时器不停的EnumWindows遍历所有窗口,如果不是程序本身的窗口就ShowWindow(SW_HIDE);掉,并记录下该窗口的HWND。2、SetWindowsHookEx()勾住WH_KEYBOARD_LL 和WH_MOUSE_LL,在钩子函数中屏蔽掉所有不是发送给本程序的鼠标和键盘操作。(要实现屏蔽功能需要将钩子做成dll)3、在你程序退出时还原所有被你隐藏的窗口。实现上述功能后ctrl+alt+del是仍然有效的,其他用户可以ctrl alt del注销掉系统,但是用这个方法呼叫出的任务管理器会被你的程序快速的隐藏掉。所以大致上达到了屏蔽其他程序的效果。这个写功能的实现对于新手来说有点麻烦,特别是钩子这块。
1、用定时器不停的EnumWindows遍历所有窗口,如果不是程序本身的窗口就ShowWindow(SW_HIDE);掉,并记录下该窗口的HWND。2、SetWindowsHookEx()勾住WH_KEYBOARD_LL 和WH_MOUSE_LL,在钩子函数中屏蔽掉所有不是发送给本程序的鼠标和键盘操作。(要实现屏蔽功能需要将钩子做成dll)3、在你程序退出时还原所有被你隐藏的窗口。实现上述功能后ctrl+alt+del是仍然有效的,其他用户可以ctrl alt del注销掉系统,但是用这个方法呼叫出的任务管理器会被你的程序快速的隐藏掉。所以大致上达到了屏蔽其他程序的效果。这个写功能的实现对于新手来说有点麻烦,特别是钩子这块。
就是新创建一个desktop 把你那个窗放在新desktop里面 如果这样不符合你的需求 那还真是难 无论你怎么做 都不会很健壮 因为就像你想把自己的窗口永远置顶一般 万一别人也用同样的方法 你说到底谁置顶
xp的那个锁屏就是一个新的desktop windows是支持多个桌面的. 但这样我不知道是否符合你的需求.