长话短说,我试图访问 Synthesia 中的一个特殊窗口,该窗口仅在您使用以下命令执行应用程序时显示Shift+单击。问题是,我不知道如何在 Linux 上重现这个问题,同时在 wine 下运行应用程序。我以为这可能是命令行的问题,但我也找不到执行此操作的命令。
这让我不禁想问,这真的可能吗?如果可能的话,怎么做呢?
答案1
该程序使用GetKeyState
API来检测Shift键如下:
.text:0040D575 call ds:GetKeyState
.text:0040D57B mov ecx, 8000h
.text:0040D580 test cx, ax
.text:0040D583 jnz loc_40E21F ; jumps to special config dialog show
Synthesia
在具有喜欢的名称(我的:)的目录中生成 bash 脚本runme
并填充以下行:#!/bin/bash wine Synthesia.exe
将其属性更改为可运行
chmod +x rumne
并确保您可以单击并运行即刻bash 脚本。我的意思是无需询问对话框即可运行 bash 脚本!使用这个答案按住Shift键并单击/双击运行
runme
。程序正常运行!现在关闭它但不要松开Shift键。再做一次并单击/双击运行runme
以显示特殊配置对话框。
答案2
另一种方法是在 wine 下运行Explorer.exe
,然后执行 Shift+Click 操作。与上述方法不同,它不依赖于要更改的特定设置或脚本