找回密码
 注册
Simdroid-非首页
查看: 555|回复: 14

[积分贴存推荐] 【寻找】求用WinAPI屏蔽系统功能键VI +2.7

[复制链接]
发表于 2004-6-2 16:21:38 | 显示全部楼层 |阅读模式 来自 辽宁
小弟近日想编写一个屏蔽系统功能键的VI,看见一个贴子上的一些信息"SystemParametersInfo (97,false,NULL,0)函数可实现把CTRL+ALT+DEL和CTRL+ESC等控制键锁住。程序在启动之时就先调用此函数,让Windows的控制键失效,只有在他输入正确的密码之后才调用SystemParameterInfo(97,true,NULL,0) 把功能键给恢复过来,实现正常的操作。",可是怎么也没编出来(小弟的水平有限),希望高手能帮帮小弟,给小弟发一个例程.谢谢
 楼主| 发表于 2004-6-2 17:42:30 | 显示全部楼层 来自 辽宁

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

Simdroid开发平台
这是小弟试验的VI,希望各位高手给修改一下,现在一运行它就会退出labview

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2004-6-2 19:14:53 | 显示全部楼层 来自 湖北宜昌

回复: 回复: 【寻找】求用WinAPI屏蔽系统功能键VI

rouths wrote:
这是小弟试验的VI,希望各位高手给修改一下,现在一运行它就会退出labview

  
这是LV的数据类型和C/C++中的数据类型不匹配引起的。lv自带的例子中有很全面的例子,你可以仔细研究一下。
另外,屏蔽Ctrl+Del+Alt键在windows2000/nt下面做起来非常麻烦,在win98/95环境下用你提到的函数可以屏蔽,当win2000/nt下面仅仅调用你所提到的函数是不能屏蔽的
◎!
 楼主| 发表于 2004-6-2 19:51:47 | 显示全部楼层 来自 辽宁

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

谢谢keiran老兄,我确实想屏蔽windows2000系统,还麻烦大侠详细地告诉小弟如何才能做到呀,最好有个简单的例程,这个问题已经困扰小弟好久了。谢谢
发表于 2004-6-3 09:47:30 | 显示全部楼层 来自 北京朝阳

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

上一次的LabVIEW代码挑战就是这个功能,你可以看看。
 楼主| 发表于 2004-6-3 10:22:08 | 显示全部楼层 来自 辽宁

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

小弟看过了以往的贴子,可是没有用Winapi函数实现的,上次代码挑战中虽然ahjohn328 大侠实现了屏蔽系统功能键的功能,但是当系统因为突然停电或者被用户非正常关机时(如系统死机,用户按下reset键)可能会造成系统故障。这种后果对于一个软件来说是不能允许的(修改注册表这种方法本身就有危险存在)。我感觉最稳妥的方法还是调用api函数,我还没有找到使用这种方法的贴子,我想屏蔽的是win2000的系统,还望各位高手再帮帮小弟,给发个例程,多谢。
发表于 2004-6-3 14:48:56 | 显示全部楼层 来自 辽宁盘锦

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

上次我那个程序匆匆茫茫的赶的有很多问题
因为最早是用在我们的系统上的 所以修改注册表让重新启动时不启动ie而是启动我们的程序
所以你仔细看看把禁止启动ie那部分去掉应该没问题 我猜的呵呵没试过
  
另外如果你只是屏蔽CTRL+ALT+DEL和CTRL+ESC
你看可不可以用键盘事件 key down?来忽略掉ctrl键
我只是一直没找到忽略alt键的方法。好像捕捉的key事件 alt没反应。。。。
可能是我rpwt ^_^!
 楼主| 发表于 2004-6-3 17:35:41 | 显示全部楼层 来自 辽宁

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

非常感谢ahjohn328大侠的贴子和程序。可能是小弟说的不明白,实际小弟是想在监控程序运行的时候禁止用户进行其它的操作,比如回到win桌面或者在计算机内安装一些程序。小弟尝试过将VI设置成 on top,并将win的系统任务栏隐藏,但是用户还是能够通过一些组合键(如win键+D等)回到桌面,这个问题一直在困扰小弟,还望ahjohn328及诸位大侠帮帮小弟,再次感谢!
发表于 2004-6-4 11:42:18 | 显示全部楼层 来自 辽宁盘锦

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

首先请不要用大侠这个字好么 我我我是菜鸟 听到这个会不好意思的
这个这个你说的这个东东我也没有最终解决
我们是这么做的用我以前的vi修改注册表 然后锁定了ctrl+alt+del
并且修改注册表使系统启动的时候只启动我们的程序而不是explorer
所以机器重启以后就是我们的程序并且哪儿都去不了 除非解锁 用alt+ctrl+del 运行任务管理器 打开explorer.
至于win+D我建议用键盘事件忽略掉能忽略的键看行不行  我试验是没能忽略掉alt键。你再研究一下吧。我所做到的也只有这点呵呵
again 我是菜鸟,还在期待达人们的完美解决方案中!:)
发表于 2004-6-4 12:43:51 | 显示全部楼层 来自 江苏

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

这个小程序可以锁住鼠标.
但对屏蔽CTRL+ALT+DEL和CTRL+ESC 无效

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2004-6-4 14:34:54 | 显示全部楼层 来自 辽宁

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

感谢各位仁兄的回复,虽然小弟的问题仍然没有解决,但是看到这里这么多的热心人,小弟已经很感激各位了。小弟想一下步用VC编写一个DLL(不过VC小弟从没摸过,还要从头开始,见笑了)但是我感觉这种方案应该是可行的。同时也希望对这个问题感兴趣的仁兄们一起研究研究,我的邮箱是rouths@163.com,希望我们常交流,共同进步!
发表于 2004-6-22 18:12:23 | 显示全部楼层 来自 江西

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

在win 2000下面根本就没有一个屏蔽Ctrl+Alt+Del的API。也不能通过键盘hook来截获Ctrl+Alt+Del。用键盘事件 key down更是想都不要想。为什么?因为如果允许hook,就可以写出一个模拟登录界面的程序来偷密码。这个当然不允许。所以Ctrl+Alt+Del具有很高的优先级。屏蔽它的办法,要么是改注册表,要么直接用自己的gina替换windows缺省的gina。没有简单的方法。
  
其它的,比如alt+tab,win+D。可以用hook的办法来屏蔽。

评分

1

查看全部评分

发表于 2004-6-23 10:52:35 | 显示全部楼层 来自 大连理工大学西山生活区

回复: 回复: 【寻找】求用WinAPI屏蔽系统功能键VI

rouths wrote:
感谢各位仁兄的回复,虽然小弟的问题仍然没有解决,但是看到这里这么多的热心人,小弟已经很感激各位了。小弟想一下步用VC编写一个DLL(不过VC小弟从没摸过,还要从头开始,见笑了)但是我感觉这种方案应该是可行的。同时也希望对这个问题感兴趣的仁兄们一起研究研究,我的邮箱是rouths@163.com,希望我们常交流,共同进步!

  
对系统操作的东西lvwutil32里面已经做的很全了,里面有个vi可以屏蔽<Ctrl> + <Esc> 和 <Alt> + <key> ,还有一些功能也不错,建议你去看看。如果你不熟悉vc,最好不要做这种尝试的好,我以前就把系统弄崩过。:)
  
下面是lvwutil32里面的一些程序名(应该可以见名知意)
lvwutil32好像在labview:labview@cc.50975.com上和ni的ftp上都有,自己找找吧。
  
Window Management Vis (winutil.llb)
Window Refnum (control)
Not a Window Refnum
Get Window Refnum.vi
Get Window Name.vi
Get Window Rectangle.vi
Minimize Window.vi
Maximize Window.vi
Resize Window.vi
Restore Window.vi
Move Window.vi
Rename Window.vi
Hide Window.vi
Show Window.vi
Flash Title Bar.vi
Move Window to Top.vi
Make Window Always on Top.vi
Revoke Window Always on Top.vi
Move Window to Bottom.vi
  
Windows Interaction Vis (winevent.llb)
FileMan Open File.vi
FileMan Print File.vi
System Exec+.vi
Run Application.vi
Quit Application.vi
Start Windows Screen Saver.vi
Get Windows Task List.vi
Show Windows Task List.vi
Exit Windows.vi
Call WinHelp.vi
Message Window Dialog Box w/ Sound.vi
  
Windows Keyboard Filter Vis (winkey.llb)
Install Keyboard Filter.vi
Remove Keyboard Filter.vi
  
Windows System Utility Vis (winsys.llb)
Get Cursor Position.vi
System Information.vi
Get Screen Size.vi
Get System Path.vi
Get Windows Path.vi
Screen Saver Control.vi
发表于 2004-6-23 21:25:48 | 显示全部楼层 来自 河北保定

回复: 【寻找】求用WinAPI屏蔽系统功能键VI

请问NI的FTP怎么下资料啊,我匿名登录下不了DD啊?
我想下写关于 调用winapi的资料,
发表于 2007-4-17 18:45:58 | 显示全部楼层 来自 江苏无锡
谢谢
辛苦了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-29 02:53 , Processed in 0.054894 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表