讓我們假設我已創建並向Windows資源管理器右鍵單擊菜單(上下文菜單)中添加了一個新條目,方法是添加一個指向用C++編寫的.exe文件只讀取並返回被點擊文件的文件名。獲取Windows資源管理器上下文菜單(右鍵單擊菜單)的FilePath到Java
是否有可能將此文件名轉換爲已運行的Java應用程序?
我想過使用JNI,但可以從本機C++程序中調用已運行的Java應用程序的方法嗎?
有沒有人有另一個想法如何解決這個問題?是否有可能擁有純粹的Java解決方案?
非常感謝。
編輯:是否可以調用已經運行的JVM的現有方法?然後,我可以創建一個C++程序來偵聽右鍵單擊並使用註冊表項爲contextmenu註冊.exe。在C++程序中,我可以調用一個注入已經運行的JVM的dll。該DLL可以調用Java方法並將點擊的文件路徑提交給Java。這可能嗎?
好的,我已經實現了以下功能:我創建了一個與regsit條目(contextmenu /右鍵單擊菜單)鏈接的C++程序。如果用戶單擊某個文件,文件路徑將被傳輸(命令行參數)到該程序。在程序內部,一個dll被加載,並且文件路徑被轉移到只打印文件路徑的dll中的一個定義的方法。我現在想實現的是調用一個已經運行的Java程序(在dll中)的方法,並將文件路徑傳遞給Java方法,而不是打印它。你有什麼建議嗎?謝謝。 – user3422749