有的時候我們需要檢測本機是否安裝JRE ,以便可以確定JAVA程式的正确部署和運作。
可能有的人說最簡單的方法就是在指令行下輸入‘java -version’ ,
如果輸出了正确的版本資訊就說明已安裝正确,不過我們需要更為自動化和智能化的處理。
思路是這樣的,我們調用一個名為ShellExecute()的Win32 API函數,該函數會執行指定的程式,
如果正确執行了,則會傳回一個大于32的整數
否則,則會傳回一個小于32的整數。
基于以上的理論,寫了一個純C的小函數,可以友善嵌套在程式裡面。
#define GM_JAVA_VM L"java.exe"
BOOL isJreInstalled() {
HINSTANCE hInst = ShellExecute(NULL, L"Open", GM_JAVA_VM, NULL, NULL,SW_HIDE);
if( (int)hInst > 32 ) {
return TRUE;
}else {
return FALSE;
}
}
該函數如果傳回FALSE說明JRE未能正确安裝。
本文轉自 kevx 51CTO部落格,原文連結:http://blog.51cto.com/spinlock/219902,如需轉載請自行聯系原作者