64位XP登錄檔

2021-08-30 09:38:26 字數 605 閱讀 1634

windows xp 64bit sp2

今天,糾結於乙個問題,在登陸我們公司做的系統時候,需要檢查外掛程式是否存在。

首先讓我們來看看這一段的指令碼。

function i***istoffice()

}catch(e)

return false;

}

這段指令碼就是檢查控制是否存在,通過呼叫activexobject來讀取登錄檔。

安裝程式安裝沒有任何問題,在登錄檔中也可以看到此鍵值是存在的,進入的時候,總是返回為false,通過反覆除錯,確認是shell.regread,沒有讀取到登錄檔中的鍵值,報錯的資訊是「invalid root in registry key...」,regedit進入到登錄檔中,發現鍵值存在。

突然想到,此activexobject可能讀取的不是64位的,通過regedit32進入,檢視,果然沒有此鍵值,加入,再測試ok。

總結:在windows 64位系統中,往往是存在著32位與64位,如果確認64位沒有問題,可能程式讀取的是32位的環境的,請檢查32位的。

btw:在linux中也可能會有這個情況,lib、lib64,乙個是32位的,乙個是64位,pidgin 中的飛信加入,也要注意這個問題。

64位讀取登錄檔與32位的區別

有乙個讀取登錄檔資訊的程式 if regopenkeyex hkey local machine,subkeystring 0,key read,hkey error success 在32位下完全正常,但是在64位返回值正確,但就是讀不到東西。後來單步發現讀不到東西,就搜64位讀登錄檔失敗,發現需...

64位讀取登錄檔與32位的區別

有乙個讀取登錄檔資訊的程式 if regopenkeyex hkey local machine,subkeystring 0,key read,hkey error success 在32位下完全正常,但是在64位返回值正確,但就是讀不到東西。後來單步發現讀不到東西,就搜64位讀登錄檔失敗,發現需...

64位讀取登錄檔與32位的區別

有乙個讀取登錄檔資訊的程式 if regopenkeyex hkey local machine,subkeystring 0,key read,hkey error success 在32位下完全正常,但是在64位返回值正確,但就是讀不到東西。後來單步發現讀不到東西,就搜64位讀登錄檔失敗,發現需...