目的:获取access运行库在注册表中的字符串,然后根据这个字符串获取里面的access的版本号,如果版本号小于12就返回false,如果大于12就返回true
function BOOL checkAccessRuntime()
string szKey,szValue,svReturnString,svSubStr;
number nType,nSize,nvVar,i;
string szFindMe;
begin
nType=REGDB_STRING ;
nSize=-1;
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
szKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\MSACCESS.EXE";
RegDBGetKeyValueEx(szKey,"",nType,szValue,nSize); //获取注册表中的内容
szFindMe = "OFFICE"; //要查找的字符串
i = StrFind (szValue, szFindMe); //获得要查找字符串的位置
if (i>0) then //找到要查找的字符串
//获取版本号,svSubStr表示返回的值,szValue表示查找的字符串, i+StrLength(szFindMe)表示找到的
“office”的位置+2,即版本号;2表示查找两位
StrSub(svSubStr, szValue, i+StrLength(szFindMe), 2);
StrToNum(nvVar,svSubStr);//将返回的版本号由字符型转成number型
if(nvVar<12)then //如果小于12返回false
return FALSE;
endif;
if(nvVar>=12)then //大于12,返回true
return TRUE;
endif;
end;
版权声明:转载请注明原始出处。