2014-09-02 105 views
0

如何檢查,Java安裝在Windows系統上,並從客戶端文件夾jvm.dll獲取完整路徑?檢查java安裝在Windows系統

我用這個代碼,但我不知道如何以檢索當前版本

TRegistry* reg = new TRegistry(KEY_READ); 
reg->RootKey = HKEY_CURRENT_USER; 
reg->Access = KEY_ALL_ACCESS; 
bool openResult = reg->OpenKey("SOFTWARE\\JavaSoft\\Java Runtime Environment", true); 
if(!openResult) // cannot create registry keys, use default values 
    return; 
if(!reg->ValueExists("CurrentVersion")) //it's not exist CuurentVersion 
    return; 

回答

0

我不認爲寫一些代碼或類似的東西,需要看是否安裝了Java。 要查看它是否安裝在Windows上只是去C:\Program Files\Java如果該目錄存在,那麼你有Java,如果它安裝在不同的目錄在Windows程序中查找,它應該顯示,如果沒有安裝Java,如果不是,那麼你很可能不會有java。 使用this鏈接查看您的版本,但建議始終獲取最新版本。

希望這有助於盧克

編輯:

如果你想看看是否安裝另一臺計算機上使用Java .bat文件,看看編程嘗試,this鏈接應該有所幫助。 或使用jsmooth構建到.exe的jar文件,如果沒有安裝java,它會提示用戶安裝java。

+1

他想看看用戶X是否安裝了Java,而不是他。 – 2014-09-02 00:15:53

+0

@MarcoAcierno是 – BestHumain 2014-09-02 08:07:55

0

您可以從代碼中執行系統「Java -version」命令。 Here是C++的一個例子。要找到你所需要的版本,只要解析你得到的結果。字符串結果將提供您需要的信息。

enter image description here

同時,找到我相信你可以通過環境變量迭代做到這一點,尋找JAVA_HOME的路徑。

+0

我會選擇使用'JNI_CreateJavaVM()'和'JNIEnv :: GetVersion()'而不是解析命令行輸出。而且您不需要通過環境變量「迭代」,大多數平臺都提供了通過名稱查詢特定變量值的方法。在Windows上,它是['GetEnvironmentVariable()'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms683188.aspx)。但是,Windows不使用'JAVA_HOME'(至少,即使安裝了Java,我的系統上也沒有'JAVA_HOME'變量)。 – 2014-09-03 00:07:30

+0

關於JAVA_HOME你是對的:它不保證工作。第一個建議是相當有效的,所以我相信你應該把它作爲可能解決方案的一個替代方案。 – eldjon 2014-09-03 15:09:33

相關問題