2015-12-23 66 views
0

我們使用explorer/select命令與文件路徑在Windows資源管理器中打開文件。 https://support.microsoft.com/en-us/kb/152457但是在多次調用中,它每次都會打開一個新窗口。我正在使用流程運行時API調用來自Java應用程序的命令。突出顯示在資源管理器/選擇命令相同的資源管理器窗口

是否有可能打開一個窗口?對於例如如果打開一個具有c:/ A的瀏覽器,則重複調用相同的命令必須打開打開的同一個窗口。 ?

歡呼

Saurav

回答

0

看來你的問題沒有一個簡單的解決方案。 根據我的理解,expplorer的「窗口共享」不是探險者的功能。請看下面的文章:https://support.microsoft.com/en-us/kb/241911

(雖然這篇文章是在談論Internet Explorer,我猜它也和文件開發者有關)。

根據我的用戶體驗,窗口共享只有在通過某種快捷方式進入目錄時纔會發生,並且在您明確運行資源管理器時不會發生。例如,如果您輸入「運行」窗口「資源管理器」,總是會創建新窗口,但是如果您鍵入「c:\」,窗口將被重新使用。

您希望執行具有特定選項的資源管理器,因此您必須明確運行它,因此不能實現窗口重用。

但我可以建議你2個解決方法。

  • 請勿使用/select選項。 「運行」您要選擇的文件的基礎目錄。這將保證窗口的重用。然後通過「輸入」它的名稱使用java.awt.Robot「選擇」文件。
  • 將您打開的資源管理器窗口自己管理到您的Java應用程序中。您可以存儲文件到勘探者窗口處理程序的映射。當應用程序想要運行在其他資源管理器窗口中已選擇的文件的打開資源管理器時,將其激活。要做到這一點,你需要一些JNI/JNA代碼。有關詳細信息,請參閱以下討論。

In Java Swing how do you get a Win32 window handle (hwnd) reference to a window?

Find out what application (window) is in focus in Java

+0

感謝詳細的解答了很多亞歷克斯......這helps..i將檢查鏈接 – saurav

相關問題