获取Windows资源管理器上下文菜单(右键单击菜单)到Java的文件路径 让我假设我在Windows资源管理器右击菜单(上下文菜单)中创建了一个新条目,并添加了一个注册表项,指向一个用C++编写的.exe,它只读取并返回点击文件的文件名。

获取Windows资源管理器上下文菜单(右键单击菜单)到Java的文件路径 让我假设我在Windows资源管理器右击菜单(上下文菜单)中创建了一个新条目,并添加了一个注册表项,指向一个用C++编写的.exe,它只读取并返回点击文件的文件名。,java,java-native-interface,contextmenu,filepath,Java,Java Native Interface,Contextmenu,Filepath,是否可以将此文件名发送到已经运行的Java应用程序 我想使用JNI,但是可以调用一个已经运行的java应用程序的方法C++原生程序吗? 有没有人有别的办法来解决这个问题?有可能有一个纯Java的解决方案吗 非常感谢 编辑:是否可以调用已经运行的JVM的现有方法?然后我可以创建一个C++程序,用于右击,并用ExtCutin菜单的注册表项登记.exe。在C++程序中,我可以调用一个DLL,它将注入到已经运行的JVM中。dll可以调用Java方法并将单击的文件路径提交给Java。这是可能的吗?< P>

是否可以将此文件名发送到已经运行的Java应用程序

我想使用JNI,但是可以调用一个已经运行的java应用程序的方法C++原生程序吗? 有没有人有别的办法来解决这个问题?有可能有一个纯Java的解决方案吗

非常感谢


编辑:是否可以调用已经运行的JVM的现有方法?然后我可以创建一个C++程序,用于右击,并用ExtCutin菜单的注册表项登记.exe。在C++程序中,我可以调用一个DLL,它将注入到已经运行的JVM中。dll可以调用Java方法并将单击的文件路径提交给Java。这是可能的吗?

< P>可以通过套接字连接连接已经运行的java程序,或者将值存储到C++和java应用程序都可以访问的数据库中。
除了我的建议之外,.

嗨,谢谢你的回复。这是一个本地Java程序,因此我认为套接字连接不是解决这个问题的最佳方法。难道没有其他方法可以检测右键单击文件并将单击的文件名转换为Java(Windows 7 64位)吗?注射法是唯一的可能吗?对不起,我不知道。我不知道Microsoft为Windows资源管理器提供的API,但我认为任何解决方案都必须从本机代码开始,即使是Java解决方案在技术上也会有部分解决方案仍然使用JNI或其他本机代码。好的,我已经实现了以下几点:我创建了一个C++程序,它与RealStRITION条目(CopeTouc/右击菜单)链接。如果用户单击一个文件,文件路径将被传输(命令行参数)到程序。在程序内部,加载一个dll,并将文件路径传输到dll中仅打印文件路径的已定义方法。我现在想要实现的是调用一个已经运行的Java程序的方法(在dll中),并将文件路径传输到Java方法,而不是打印它。你有什么建议吗?谢谢