| 似乎thprac是使用EXE文件的校验码(MD5、SHA1之类的,由于thprac似乎不开源所以不知道具体是什么算法)来识别游戏程序的。
 这就意味着thprac不允许游戏程序文件被修改哪怕一个字节,否则就会不认识。但是THKMC就是通过修改游戏程序来达到改键目的的。
 我个人建议的解决办法是让thprac作者修改一下识别游戏程序的算法,以更好地兼容已经打过其他补丁的游戏程序。直接使用EXE文件校验码太过严格,不仅不能识别用THKMC改过键的程序,打过任何其他补丁的游戏程序理论上也不能兼容。
 像THKMC就是仅仅根据 EXE文件长度 和 PE文件头中的UNIX时间戳(dwTimestamp) 来判断是哪个游戏,而不是简单地使用整个EXE文件的校验码,这样既可以比较准确地判断游戏版本,还可以很好地兼容已经打过其他补丁的游戏程序。(对于两个不同的EXE文件,在没有人工干预的情况下,文件长度和dwTimestamp都相同的几率是很低的。虽然硬要人工干预(修改文件长度和dwTimestamp)也很简单,但是这么做有什么意义?)
 
 【另外要注意】:在thkmc.ini文件里,纯数字代表的是扫描码而非数字键,你截图里写的Z=4,代表的是“将Z键原本的功能映射到扫描码为4的按键”上,而扫描码为4的按键是大键盘数字键3。如果你要映射到大键盘数字键4,你应该写 Z=VK4 或者 Z=5(因为大键盘数字键4的扫描码是5)。当然如果你本来就想映射到数字键3那就当我没说
  
 |