请问如何屏蔽Power、Sleep、Wakeup键!!!!!(100分)

  • 主题发起人 主题发起人 sunylat
  • 开始时间 开始时间
S

sunylat

Unregistered / Unconfirmed
GUEST, unregistred user!
您好:
感谢您在百忙中关注我的问题!
我想在程序中屏蔽Power、Sleep、Wakeup键,让他们不起任何作用,请问如何达到?
最好列出源代码,多谢了!!!
 
没有头绪
如果是屏蔽win键等
还有点建议
 
DELPHI所罗列的VK里没有一个是这三的
而MSDN里我也一时没查到,我也不清楚是啥。TMD怪自己E文不好
但我坚信这三个键是WIN可以捕获的,而不是直接发指令给硬件。
而我这里给你另外一个思路。
就是你用程序在启动时候控制系统将WIONDOWS的电源属性(控制面班里的电源选项--高级--电源按钮)
设置改为:当按下电源按钮时为等待。。。。。
这个方法就是使用ACPI。
我自己手头也有活要干,只好你自己查MSDN吧。
 
var
tempint:integer;
begin
systemparametersinfo(spi_screensaverrunning,1,@tempint,0);
end;
 
用驱动(98下用vxd)来实现。
 
2000下用地层键盘钩子
 
win2k下ps/2键盘的这三个键用驱动也没有屏蔽掉。它由acpi.sys来控制的。

张无忌如果可以用hook屏蔽掉,请以代码示例之。如果没有验证过那就证明行不通。
 
我看有些资料上介绍过地层键盘钩子,但是当时DELPHI5没有支持这个参数
又找不到这个参数的资料就没有做,不过DELPHI6支持这个参数了,现在没
有时间实验了
 
呵呵,等于没有说。
 
用keydown跟下去看看,看看值是多少,没试过,瞎说的
 
keypress事件试试
 
我用键盘钩字得不到响应信息。看来要从其他方式来考虑。
 
systemparametersinfo(spi_screensaverrunning,1,@tempint,0);在D6,D7下无法偏译
 
后退
顶部