簡體   English   中英

可以執行現有快捷方式的Shell操作,但是無法執行新的快捷方式。 為什么?

[英]Shell execution of existing shortcuts works, but execution of new shortcuts fails. Why?

在Java(以及可能的.NET和其他平台)中執行Windows快捷方式時,現有快捷方式的執行不會出現問題,但是無論設置,權限,工作目錄,快捷方式目標的內容,安裝位置,快捷方式,目標位置或任何與快捷方式相關的設置。

供參考,以下代碼是有問題的,盡管問題的范圍可能比此特定代碼所暗示的范圍更廣,更陌生:

// Replace <SomeWindowsShortcut.lnk> with an actual shortcut name.
// Shortcuts are implemented as a file with the hidden extension "lnk"
String command = String command = "CMD /C start data\\<SomeWindowsShortcut.lnk>";
Runtime.getRuntime().exec(command);

是什么原因導致這種不兼容,如何解決?

Windows 7和Windows XP似乎生成了一些不兼容的文件快捷方式。

暫時擱置一下Windows快捷方式的shell執行(任何形式)和程序執行的優雅。

經過一些故障排除后,事實證明,執行Windows XP生成的快捷方式成功,而在Windows 7(可能是Vista和其他版本)中創建修改的快捷方式產生了“找不到路徑”錯誤。

這兩個快捷方式的二進制內容是不同的,盡管沒有對這些差異進行全面分析。

快速解決方案是在Windows XP中創建必要的快捷方式。 長期而又不那么恐怖的解決方案是完全消除對快捷方式的使用。

我對快捷方式之間的Shell執行不兼容的詳細信息感到好奇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM