有没有能霸占屏幕禁止显示执行其它任何本机及其它软件的办法?

怫悰 2010-03-16 09:49:47
有没有能霸占屏幕禁止显示执行其它任何本机及其它软件直至本软件退出的办法?

也就是想运行本软件后不想操作人利用其它软件来作为工具来解答本软件中的问题
能不能就让本软件一直独占屏幕?
...全文
381 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackson35296 2010-03-20
  • 打赏
  • 举报
回复
把你的程序设置为顶层,全屏窗口。然后可以在应用层hook CreateProcess或在驱动层hook ssdt的ZwCreateSection,达到禁止所有程序启动的目的。即使是按ctrl+alt+del也无法启动任务管理器,因为任务管理器也是进程(taskmgr.exe),包括屏幕保护程序也无法运行。在你程序退出的时候,放开hook,使得用户可以启动程序。为了防止用户先开作弊程序,再启动你的程序,还应该hook atl+tab组合键,win键,win+d键。
怫悰 2010-03-20
  • 打赏
  • 举报
回复
谢谢提供线索

试了一下,应该可以

不过不能屏蔽任务管理器好像,可以通过任务管理器启动其它程序呀。热键还没试应该可能也不能屏蔽。不过这些好像都能够通过其它方式实现。

大家可知道还有哪些方式可以绕过启动其它程序需要防止的?怎样防止?
cjnkd 2010-03-18
  • 打赏
  • 举报
回复
顶一个
sito_hongta 2010-03-18
  • 打赏
  • 举报
回复
關注 ~~~~ ~
yanele 2010-03-18
  • 打赏
  • 举报
回复
长见识了!
huangheguyun 2010-03-18
  • 打赏
  • 举报
回复
收藏了,学习!
qqiuzaihui 2010-03-18
  • 打赏
  • 举报
回复
记得在C++中可以写个勾子来控制, 不知道C#能否调用.

10楼的是个好方法.
hhxx_cj 2010-03-18
  • 打赏
  • 举报
回复
没干过,帮顶

学习
ztenv 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cnzdgs 的回复:]
切换桌面后,按ctrl+alt+del没反应.
我最初尝试切换桌面时忘了切回来,各种组合键都试过了,都没用,最后只能关机.
[/Quote]
太牛了,收藏一下。。。。。。
xiangguoxiang 2010-03-18
  • 打赏
  • 举报
回复
学习了!
cnzdgs 2010-03-18
  • 打赏
  • 举报
回复
前面漏了一点,创建窗口前还需要SetThreadDesktop将当前线程关联到新桌面.
cnzdgs 2010-03-18
  • 打赏
  • 举报
回复
切换桌面后,按ctrl+alt+del没反应.
我最初尝试切换桌面时忘了切回来,各种组合键都试过了,都没用,最后只能关机.
diegoyu 2010-03-18
  • 打赏
  • 举报
回复
MARK
ztenv 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cnzdgs 的回复:]
在创建窗口之前,先用CreateDesktop创建一个新桌面,然后SwitchDesktop切换到新桌面上,再创建窗口、正常运行即可。程序结束前用SwitchDesktop切换回原桌面。
[/Quote]
简直太牛了。。。。。。
不知道如果按了ctrl+alt+del键,然后结束你的程序会怎样。。。。。

另一种方法:屏蔽ctrl+tab、ctrl+alt+del、win、win+D、等等,然后让你的程序全屏显示(无边框)好像实现起来有些难度
zhushoudong 2010-03-17
  • 打赏
  • 举报
回复
还强大啊 学习了
热情的菜鸟 2010-03-17
  • 打赏
  • 举报
回复
学习了
兔子-顾问 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cnzdgs 的回复:]
在创建窗口之前,先用CreateDesktop创建一个新桌面,然后SwitchDesktop切换到新桌面上,再创建窗口、正常运行即可。程序结束前用SwitchDesktop切换回原桌面。
[/Quote]

windows自古就支持多桌面,但本身没提供类似linux的切换方式,居然还让cnzdgs记住了。此乃巨好方法。
hangang7403 2010-03-17
  • 打赏
  • 举报
回复
dingqi,顶起
bychgh 2010-03-17
  • 打赏
  • 举报
回复
都是老大们,膜拜~~~~~~
cnzdgs 2010-03-17
  • 打赏
  • 举报
回复
在创建窗口之前,先用CreateDesktop创建一个新桌面,然后SwitchDesktop切换到新桌面上,再创建窗口、正常运行即可。程序结束前用SwitchDesktop切换回原桌面。
加载更多回复(2)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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