希望以下内容能对你有帮助~
#java#,#Runtime#,#exec#,java虚拟机程序无法启动程序问题。
如果你也遇到了上述问题,不要慌,请根据以下内容进行操作:
当你使用对象.exec时,出现了“不是有效的Win32应用程序提示”。
你很大概率是这样操作导致的:举例
你为了获取 r.exec(" ");中的“GoogleChrome”对象名称,于是你直接右键打开“属性”点进“安全”,将对象名称复制到这里。变成r.exec("C:\\Users\\19920\\Desktop\\Google Chrome.lnk");于是出现了Cannot run program "C:\Users\19920\Desktop\Google": CreateProcess error=193, %1 不是有效的 Win32 应用程序。
需要获取正确的对象名称其实是这样操作的:
1:先右键你想要使用exec启动的程序,再点击“打开文件所在的位置”。
2:打开位置之后,找到你想要执行的目标程序
3:再右键打开“属性”,点击“安全”,复制“对象名称”。
4:此时再将复制的“对象名称”粘贴到exec中就可以成功运行了。例如:r.exec("C:\\Users\\19920\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");
可能就有小伙伴会有疑问了,为什么都是从属性进入安全再复制对象名称,结果却不一样呢?
其实原因很简单,没有在程序的根位置中复制的对象名称不是可执行文件,你们可以观察从根位置复制的对象名称是.exe后缀的可执行文件。而错误的方式复制的对象名称是.lnk或者是其他后缀,所以无法直接使用。注意:如果你按照错误的方式复制的对象名称是.Ink也不能直接手动修改为.exe。因为原程序所在的位置并不是这个,就算你修改了后缀也无法运行!
如果以上方法对你有帮助,请点个赞鼓励一下吧~