查找Access运行库的版本号

目的:获取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;

 

 

版权声明:转载请注明原始出处。       

posted on 2011-03-28 11:03  奕婷  阅读(875)  评论(2编辑  收藏  举报