我想使用Java运行Shadowplay。

如果我在cmd中运行此命令,它将正常工作。

C:\\Windows\\system32\\rundll32.exe C:\\Windows\\system32\\nvspcap64.dll,ShadowPlayEnable


我在Java中尝试过,但得到“找不到模块”。

Runtime.getRuntime().exec("C:\\Windows\\system32\\rundll32.exe C:\\Windows\\system32\\nvspcap64.dll,ShadowPlayEnable");


但是,如果我删除.dll后的逗号,它将起作用。
我如何解决它?

最佳答案

尝试将命令和参数放在数组中,如下所示:

Runtime.getRuntime().exec(new String[] {"C:\\Windows\\system32\\rundll32.exe", "C:\\Windows\\system32\\nvspcap64.dll,ShadowPlayEnable"});


您也可以尝试使用ProcessBuilder

ProcessBuilder pb = new ProcessBuilder("C:\\Windows\\system32\\rundll32.exe", "C:\\Windows\\system32\\nvspcap64.dll,ShadowPlayEnable");
pb.start();

关于java - 启动DLL进程不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32168939/

10-12 06:25