| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1253 人关注过本帖
标题:【讨论】屏蔽C程序运行时的右上角系统按钮
只看楼主 加入收藏
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
屏蔽运行窗口的系统按钮功能//做个鼠标钩子,hook掉窗口消息

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2013-03-27 10:29
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用TonyDeng在2013-3-27 10:26:33的发言:

在Windows NT以上,操作系统负责清除进程所占用的所有内存,包括动态分配的,对这种操作系统,其实可以不用写释放内存的代码,但如果要注意可移植性问题的话,最好写上。在.NET下的C++/CLR,完全不需写释放代码。

cmd窗口中右上角的关闭按钮,是可以通过Win32 API禁用的,但仍然无法防止用户通过任务管理器关闭进程。
偶有办法

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2013-03-27 10:31
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
收藏
得分:0 
好的,清楚了,多谢各位的解答。
2013-03-27 10:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 12楼 Knocker
什么办法?

授人以渔,不授人以鱼。
2013-03-27 10:36
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
windows可以在用户摁Ctrl+C或关闭窗口的时候有给程序一个处理的机会 貌似是 SetConsoleCtrlHandler 这个?那样就可以在用户退出的时候有来个确认或者保存神马的 这个是正道 至于用钩子阻碍程序关闭 我感觉跟某些国产软件一样了。。

http://msdn.

就是这个 可以截获Ctr+C Ctrl+Break 关闭窗口 关机 登出等等

http://msdn.

例子看这个。。


[ 本帖最后由 zklhp 于 2013-3-27 10:40 编辑 ]
2013-03-27 10:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不用钩的,Ctrl+C可以拦截,API中提供有现成的功能。但用户通过Ctrl+Alt+Del调出任务管理器,是无法防止的,除非把键盘拆掉,像触摸屏查询机那样。

授人以渔,不授人以鱼。
2013-03-27 10:41
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
别人不知道 如果是我 有一个程序在摁关闭的时候关不掉 我肯定就不用了 这就是彻头彻尾的流氓
2013-03-27 10:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用TonyDeng在2013-3-27 10:41:13的发言:

不用钩的,Ctrl+C可以拦截,API中提供有现成的功能。但用户通过Ctrl+Alt+Del调出任务管理器,是无法防止的,除非把键盘拆掉,像触摸屏查询机那样。

这些都可以用某些特殊手段屏蔽 但那就像上面说的 这已经是流氓行为了

这三个键也不过是SAS注册的一个热键罢了 没啥神秘的 之前的系统 比如XP 微软对于大家做这种流氓行为管的不严 所以才出了很多像X60一样的东东 之后从内核层面开始都管的严了 自然 这些东东也少了 不过呢 这也造成了一些问题 有利有弊


[ 本帖最后由 zklhp 于 2013-3-27 10:45 编辑 ]
2013-03-27 10:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这就是我说过的滥用系统功能,有些人精研穿墙术,是为了做坏事的。
收到的鲜花
  • azzbcc2013-03-27 12:52 送鲜花  10朵   附言:穿墙 不一定就非要做坏事吧

授人以渔,不授人以鱼。
2013-03-27 10:45
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
收藏
得分:0 
可以使用钩子程序把所有的响应都取消掉,这样只要你的程序运行起来电脑就不能操作了。
2013-03-27 10:45
快速回复:【讨论】屏蔽C程序运行时的右上角系统按钮
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019061 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved