如何屏蔽win键?(50分)

  • 主题发起人 dali2000
  • 开始时间
D

dali2000

Unregistered / Unconfirmed
GUEST, unregistred user!
我找了许多资料都没法解决这个问题,如何屏蔽win键?
 
试试这个:
S y s t e m P a r a m e t e r s I n f o ( S P I _ S C R E E N S AV E R R U N N I N G , 0 , @ t e m p I n t , 0 ) ;
 
楼上的,这个不行
 
可以的
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@Temp,0);
 
不行,没人能回答这个问题吗?
 
看看老贴吧,多的是。
搜索 'win键'
要善于搜索,可以节约不少银子的:)
 
搜索过了都不行呀
 
屏蔽了Win也没用,我可以按Ctrl+ESC结果一样
 
功能键全屏蔽好了……

屏蔽:SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0)
释放:SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld, 0)
适用于9X系统
 
恐怕要HOOK 然后判断键盘,吃掉消息。
偶有代码,不过能不能屏蔽 没测试过,应该能。
 
换一种思路吧,在KeyDown中加入下面代码

if (key=91)or(key=92) then
keybd_event(27,0,0,0);

我试过还是可以的.
 
oiwin 你的代码只有当你的程序 active 时才有用,他不是焦点就没用啦。所以我才说
hook ,明天写代码测试一下。
 
http://www.iligia.com/chinese/documents/program/dishotkey.htm
N年前的问题,基本什么键都不是大问题了.不要告诉我不行啊!
WIN键 用NT类HOOK.
 
to ligia
“WIN键 用NT类HOOK.”
在WIN2000可以,WIN98不行呀
 
98 用
S y s t e m P a r a m e t e r s I n f o ( S P I _ S C R E E N S AV E R R U N N I N G , 0 , @ t e m p I n t , 0 ) ;
 
to ligia:
“98 用S y s t e m P a r a m e t e r s I n f o ( S P I _ S C R E E N S AV E R R U N N I N G , 0 , @ t e m p I n t , 0 ) ;”
这样ctrl+alt+del等好多键都不能用了,而我只是想屏蔽win键
 
屏蔽系统功能键

有时我们不希望程序被用户用Alt+Tab、Ctrl+Alt+Del、Ctrl+Esc等系统功能键打断(比如自动演示程序),那么该怎么做呢?提示你一点,在运行屏幕保护程序的时候,这些功能键都是不起作用的--也就是说,只要在你的程序运行过程中,"欺骗"一下Windows,使它自以为正处在屏幕保护状态就成了!请看下面这段代码:
  var
  temp : integer;
  begin
   SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @temp, 0);
  end;
   当然,在程序结尾处千万别忘了恢复设置,把Windows"唤醒"。代码如下:
  var
  temp : integer;
  begin
   SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @temp, 0);
  end;
 
屏蔽win键?
 
上面的代码只有98下适用阿
 
To dali2000
留下你的QQ,我给你个例子
 
顶部