有的时候我们需要检测本机是否安装JRE ,以便可以确保JAVA程序的正确部署和运行。
可能有的人说最简单的方法就是在命令行下输入‘java -version’ ,
如果输出了正确的版本信息就说明已安装正确,不过我们需要更为自动化和智能化的处理。
思路是这样的,我们调用一个名为ShellExecute()的Win32 API函数,该函数会执行指定的程序,
如果正确执行了,则会返回一个大于32的整数
(详情见MSDN,http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx )。
否则,则会返回一个小于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,如需转载请自行联系原作者