Получить имя файла основного класса/jar, переданное в JVM

Как приложение C++, есть ли способ запросить процесс java (java.exe/javaw.exe), чтобы получить имя файла основного класса или jar, которое было передано JVM? Мне нужен тот же результат, что и при запуске "jps -l":

C:\>jps -l -V
2644 sun.tools.jps.Jps
4340 net.sourceforge.squirrel_sql.client.Main

Я думаю, что мог бы получить параметр командной строки и попытаться проанализировать имя класса, но мне было интересно, есть ли более простой метод для надежного извлечения только имени класса или имени файла jar.

Спасибо!


person blissfool    schedule 04.11.2009    source источник


Ответы (2)


Несколько лет назад я представил RFE, чтобы представить имя основного класса в качестве свойства системы. Системное свойство для основного класса. Насколько я знаю, нет хорошего способа сделать это без изменения основного класса (что можно сделать с помощью инструментов).

person Tom Hawtin - tackline    schedule 04.11.2009

Вы можете получить то, что хотите, от PSAPI. . Если вы начнете с этого, вы сможете перейти ко всем остальным Win32 для извлечения информации из процессов.

person bmargulies    schedule 14.11.2009