怎样屏蔽复制、粘贴,以及右键?(50分)

  • 主题发起人 主题发起人 ycrsjxy
  • 开始时间 开始时间
Y

ycrsjxy

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样屏蔽复制(ALT+C)、粘贴,以及右键?
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1101714
 
这个 http://www.delphibbs.com/delphibbs/dispq.asp?lid=1101714 好像不行呀<br>关注
 
[B)]可不可以用来取别人的密码??/
 
这个方法可以的,我试了!
 
我试了,不行。。。用CTRL+a 能全选,用CTL+C能复制
 
将Ctrl+C, Ctrl+V等注册成热键,然后什么都不做<br>用到3个API函数<br><br>BOOL RegisterHotKey(<br>HWND hWnd, &nbsp; &nbsp;//响应该热键的窗口句柄<br>Int id, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //该热键的唯一标识<br>UINT fsModifiers, //该热键的辅助按键<br>UINT vk &nbsp; &nbsp; &nbsp; &nbsp;//该热键的键值<br>); <br><br>为了得到唯一标识,我们还将用到另一个API函数 <br><br>ATOM GlobalAddAtom(<br><br>LPCTSTR lpString //自己设定的一个字符串<br><br>);<br><br>因为我们还要在程序退出的时候,消除这个热键, 所以需要声明一个全局变量: <br><br>HotKeyId: Integer; <br><br>&nbsp; <br><br>第一步: <br><br>在窗口的create事件中,加入以下代码 <br><br>HotKeyId := GlobalAddAtom(‘MyHotKey’) - $C000;<br>注: HotKeyId的合法取之范围是0x0000到0xBFFF之间, GlobalAddAtom函数得到的值<br>在0xC000到0xFFFF之间,所以减掉0xC000来满足调用要求。<br><br>第二步: <br><br>在上面的代码下面加入: <br><br>RegisterHotKey(Handle, hotkeyid, MOD_ALT, VK_F8); &nbsp;<br><br>热键的辅助按键包括Mod_Ctrl 、Mod_Alt、Mod_Shift,对于Windows兼容键盘还支持Windows<br>键,即其键面上有Windows标志的那个键,其值为Mod_win。<br><br>上面 的代码注册了一个热键:ALT+F8。当然如果你希望象TAKEIT那样,只用F8, 就这么写:<br><br>RegisterHotKey(Handle, hotkeyid, 0, VK_F8); &nbsp;<br><br>注:handle是一个特殊的变量,它表示当前窗口的句柄。<br><br>这个函数你应该能句举一反三了吧。<br><br>原理:<br><br>一旦热键设置成功,在程序应用过程中如果有相应的键被按下,Windows系统都会给你的应<br>用程序发送一个消息WM_HOTKEY,不管你的应用程序是否为当前活动的。其中WM_HOTKEY消<br>息的格式为: &nbsp;<br><br>idHotKey = (int) wParam; // 该参数在设置系统级的热键有用,一般不予使用<br>fuModifiers = (UINT) LOWORD(lParam); &nbsp;//热键的辅助按键<br>uVirtKey = (UINT) HIWORD(lParam); //热键的键值 <br><br>&nbsp; <br><br>第三步: <br><br>注册了热键,就该写下响应代码了。 <br><br>首先,在程序头部分的private段中加入声明 (作用是声明这个过程,和声明变量类似。<br>关于如何声明函数、过程,请请参考各自的帮助文件或其它资料): <br><br>procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY; <br><br>&nbsp; <br><br>然后在程序中加入如下代码: <br><br>procedure Tfmain.HotKeyDown(var Msg: Tmessage); <br><br>begin <br><br>if (Msg.LparamLo = MOD_ALT) AND Msg.LParamHi = VK_F8 then // 假设热键为ALT+F8 <br><br>begin <br><br>end; <br><br>最后一步: <br><br>在窗口的close事件中加入 <br><br>UnRegisterHotKey(handle, HotKeyId); //注销HotKey, 释放资源。 <br><br>&nbsp; <br><br><br>
 

Similar threads

N
回复
9
查看
222
大梦
R
回复
4
查看
319
ricro_cokoy
R
X
回复
16
查看
179
李翔鹏
B
回复
10
查看
160
bravercaohao
B
后退
顶部