请教c#在2000与xp屏蔽热键 如 ctrl+alt+del的问题!

三省Ta叔 2005-08-17 03:50:05
刚接触这样的问题不知道有什么好方法解决!
比如计算机机房管理的时候 要刷卡才能上机,刷卡后要利用用户登陆才能使用计算机,这样就要屏蔽一些热键,如 ctrl+alt+del 要不然可以饶过这样的阻碍。
由于刚接触,不知道怎么弄。一开始我是在c#.net里 我利用在form里根据 按键 的事件下判断按键的 ascii是多少,再决定做什么事情。但是好象有什么 勾子函数 hook 不知道怎么使用。找的资料也不合自己的意愿。
请高手赐教!提供一些资料例题,代码。
...全文
488 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucksnowof 2005-11-03
  • 打赏
  • 举报
回复
正好用到,留个记号。
sandsboy 2005-08-21
  • 打赏
  • 举报
回复
up
yafizyh 2005-08-21
  • 打赏
  • 举报
回复
简单点,通过修改注册表可以禁止任务管理器的使用,查一下注册表方面的资料,具体方法我忘了。
通过消息钩子无法屏蔽系统键。系统键消息在进入应用程序的消息循环之前已被系统获取了。
三省Ta叔 2005-08-21
  • 打赏
  • 举报
回复
思路是对的啊
刚接触到这样的问题,网吧的管理系统都是针对 98 系统的吧
但是 xp和 2000 应该麻烦些
不知道具体实现方法是怎么样的
Tenner 2005-08-21
  • 打赏
  • 举报
回复
不好意思,刚才出问题了,没打完

在2000或XP下原则上说是不可能阻止ctrl+alt+del的,但是可以换一种思路,就像现在很多网吧管理软件一样,在后台扫描全局窗口,如果一但发现TaskManager(也就是任务管理器)的窗口出现,就将其强制关闭,这样同样可以做到不让用户去结束其它的进程
Tenner 2005-08-21
  • 打赏
  • 举报
回复
在2000或XP下原则上说是不可能阻止ctrl+alt+del的,但是可以换一种思路,就像现在很
三省Ta叔 2005-08-21
  • 打赏
  • 举报
回复
这几天上网出了点问题,所以今天才看到。感谢大家的帮助啊
等我调式好了就结帖
三省Ta叔 2005-08-21
  • 打赏
  • 举报
回复
caizhenfang@163.com
那就麻烦你了
我现在遇了一些麻烦
总解决不好
三省Ta叔 2005-08-21
  • 打赏
  • 举报
回复
应该是的,自己再去找些资料吧
大家说的对我都药铺帮助
来这里不久 所以分数不多 只能意思一下了
大家不要见怪 以后见到我的问题 还得多多指教啊
teacher1998 2005-08-19
  • 打赏
  • 举报
回复
mark
蒋晟 2005-08-19
  • 打赏
  • 举报
回复
不是抓不到,只是要注入代码到系统进程才可以。但是根据他的要求,用智能卡SDK比较合适。
yizhixiaozhu 2005-08-19
  • 打赏
  • 举报
回复
用键盘钩子是不行
不过我有vc6的这个程序
可以屏蔽这个组合键
cs920 2005-08-19
  • 打赏
  • 举报
回复
回复人: Ivony() ( ) 信誉:100 2005-08-19 10:17:00 得分: 0


Ctrl + Alt + Del应该是任何应用程序不能截获、拦截、屏蔽的。


Ivony 2005-08-19
  • 打赏
  • 举报
回复
Ctrl + Alt + Del应该是任何应用程序不能截获、拦截、屏蔽的。
yizhixiaozhu 2005-08-19
  • 打赏
  • 举报
回复
多打了 “一个”
yizhixiaozhu 2005-08-19
  • 打赏
  • 举报
回复
虽然拦截不到组合键
但是如果 我只要拦截其中的一个一个键的 他的组合就不成功了
呵呵
不过这个是笨办法了
Tiller2008 2005-08-19
  • 打赏
  • 举报
回复
mark
蒋晟 2005-08-19
  • 打赏
  • 举报
回复
键盘钩子抓不到ctrl+alt+del的
对于你的需求,我想用微软的智能卡SDK就可以了
yizhixiaozhu 2005-08-19
  • 打赏
  • 举报
回复
是的
这个代码是Borland C++Builder 6.0 Patch4下编写的,用是线程注入
如果搂住需要的话
留个邮箱
我发给你
我用C#调用了,并成功了
yizhixiaozhu 2005-08-18
  • 打赏
  • 举报
回复
if ((int) m.vkCode == 91)

上面的这个例子是拦截 win键 的钩子,使之无效,这个是全局钩子
你可以改一下改成你需要的

使用的时候
直接调用 HookStart()即可
加载更多回复(5)

110,502

社区成员

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

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

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