如何让窗口永远在前,且处于活动状态?

OOOqqqOOO 2010-02-28 10:29:04
如何让窗口永远在前,且处于活动状态?

平时的置顶后,如果选择了其他窗口,会活动状态会没有了...
...全文
1005 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
M_S_D_N 2010-03-01
  • 打赏
  • 举报
回复
听说过,没做过,见链接:
http://dev.csdn.net/article/78433.shtm
引用 10 楼 visualeleven 的回复:
引用 9 楼 m_s_d_n 的回复:
做一个透明的全屏窗口挡住所有的鼠标操作,再拦截一些全局键,比如Alt+Tab、Ctrl+Alt+Del。
Ctrl+Alt+Del这个组合键似乎拦截不了的吧
Eleven 2010-03-01
  • 打赏
  • 举报
回复
引用 9 楼 m_s_d_n 的回复:
做一个透明的全屏窗口挡住所有的鼠标操作,再拦截一些全局键,比如Alt+Tab、Ctrl+Alt+Del。

Ctrl+Alt+Del这个组合键似乎拦截不了的吧
M_S_D_N 2010-03-01
  • 打赏
  • 举报
回复
做一个透明的全屏窗口挡住所有的鼠标操作,再拦截一些全局键,比如Alt+Tab、Ctrl+Alt+Del。
OOOqqqOOO 2010-03-01
  • 打赏
  • 举报
回复
引用 7 楼 jackson35296 的回复:
引用 3 楼 oooqqqooo 的回复:有没有办法直接将鼠标禁用了? 因为我想一个窗口在某一段时间保证要是激活状态。

可以的,用BlockInput函数



这个看MSDN不太明白

调用这个函数会锁、解锁键盘鼠标输入,但这个功能应用于整个系统,还是当前程序?
woyaowenzi 2010-03-01
  • 打赏
  • 举报
回复
如果窗口不是DoModel状态的话,让窗口永远在最前面可是可以,好像windows本身的问题,窗口有时候还是会跑到后面去(比如说任务管理器,debugview等)。我看你要想窗口永远在最前,DoModel方式最保险。
东方之珠 2010-03-01
  • 打赏
  • 举报
回复
引用 1 楼 jackson35296 的回复:
这是不可能的,你这样做相当于让别人无法使用后面的窗口了,因为用户只能操作活动窗口。你不如做成全屏最大化窗口,就和游戏窗口一样,用户点后面点不着。


同意这个意见!后面点不着!
jackson35296 2010-02-28
  • 打赏
  • 举报
回复
引用 3 楼 oooqqqooo 的回复:
有没有办法直接将鼠标禁用了?

因为我想一个窗口在某一段时间保证要是激活状态。


可以的,用BlockInput函数
OOOqqqOOO 2010-02-28
  • 打赏
  • 举报
回复
定时器不行,会中断对一个某些操作...


假如过程中弹出某东西,状态又变了...动作又被中断
sjdev 2010-02-28
  • 打赏
  • 举报
回复
在dos下写程序时是可以做到的.

在windows下,你是想做网管软件那种效果?
WizardK 2010-02-28
  • 打赏
  • 举报
回复
最前,调用SetWindowPos

“永远”激活,SET一个定时器,定时检查,并SetActiveWindow
OOOqqqOOO 2010-02-28
  • 打赏
  • 举报
回复
有没有办法直接将鼠标禁用了?

因为我想一个窗口在某一段时间保证要是激活状态。
密斯刘 2010-02-28
  • 打赏
  • 举报
回复
任务管理器都做不到这一点……
你可以做一个置顶窗口,当用户点击其他地方,你的窗口会失去焦点,但仍然是置顶的,你就可以来判断当前的鼠标位置,如果不在你的窗口区域内就不给于响应。
可以用HOOK来实现
jackson35296 2010-02-28
  • 打赏
  • 举报
回复
这是不可能的,你这样做相当于让别人无法使用后面的窗口了,因为用户只能操作活动窗口。你不如做成全屏最大化窗口,就和游戏窗口一样,用户点后面点不着。

15,981

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧