Trị*_*Tâm 5 c# hook winapi keyboard-hook
我在C#.NET中编写了一个全局键盘钩子程序,就像一个键盘记录程序,它将结果写入文件.但是我使用了另一个程序,它在同一台计算机上支持类型越南语 - 它还使用全局钩子来固定设置键盘到越南字符 - 这对我的程序有影响!
示例:当我键入以下内容:"xin chao2,to6i la2 mot65 nguoi72 Viet65 Nam"没有我的程序,它将在我键入的每个字符后再次修复:xinchào,tôilàmộtngườiViệtNam.
但是当我使用我的全局钩子时,我收到文件中的结果:
xin chao2[Back]
[Back]
[Packet]
[Packet]
[Escape]
toi6[Back]
[Back]
[Packet]
[Packet]
[Escape]
la2[Back]
[Packet]
[Escape]
nguoi7[Back]
[Back]
[Back]
[Packet]
[Packet]
[Packet]
[Escape]
2[Back]
[Back]
[Packet]
[Packet]
[Escape]
Viet6[Back]
[Back]
[Packet]
[Packet]
[Escape]
5[Back]
[Back]
[Packet]
[Packet]
[Escape]
Nam
Run Code Online (Sandbox Code Playgroud)
那么,我如何修复此错误,排除程序支持类型越南语的效果,而不删除或禁用它,或接受它的效果,但结果文件看起来像没有我的程序类型?
对不起,如果您对我的英语感到不舒服!
假设我正确理解你的问题,你正在尝试创建另一个钩子,在将字符修复为使用越南语字符后也将钩住这些字符?这是一个有点hacky的解决方案,但是您可以尝试打开在调试器中创建挂钩的越南程序,找到正在执行挂钩的函数,然后挂钩该函数的返回值。
查看 Windows 绕道 http://research.microsoft.com/en-us/projects/detours/
如果你正在使用 .NET,那么有一个简单的钩子 http://easyhook.codeplex.com/
这是关于在 C++ 中创建钩子和绕道的教程 http://gamerztools.net/foros/showthread.php?933-C-Tutorial-Hooking-Functions-using-Detours
希望这能为您指明正确的方向!
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |