VB的32位程序在64位系統(tǒng)中出現(xiàn)文件和注冊(cè)表自動(dòng)轉(zhuǎn)向的解決方法
通常用VB 寫(xiě)的程序在32位系統(tǒng)上可以正常的運(yùn)行,但到了64位系統(tǒng)中雖然可以運(yùn)行但是無(wú)法修改OEM信息。經(jīng)過(guò)查找原因可以發(fā)現(xiàn),當(dāng)我們?cè)谠L(fǎng)問(wèn)文件夾"SYSTEM32"的時(shí)候系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)向到文件夾"SYSWOW64"下,當(dāng)我們?cè)谠L(fǎng)問(wèn)某些注冊(cè)表鍵值的時(shí)候,和文件轉(zhuǎn)向類(lèi)似,系統(tǒng)也會(huì)自動(dòng)地把程序的訪(fǎng)問(wèn)轉(zhuǎn)向到Wow6432Node下面。
先來(lái)談?wù)勎募到y(tǒng)的轉(zhuǎn)向,查找了一些資料,并沒(méi)有VB相關(guān)的資料,但是可以查到2個(gè)相關(guān)函數(shù):Wow64DisableWow64FsRedirection(關(guān)閉系統(tǒng)轉(zhuǎn)向)和Wow64RevertWow64FsRedirection(打開(kāi)系統(tǒng)轉(zhuǎn)向)。
VB的聲明如下:
Private Declare Function Wow64RevertWow64FsRedirection Lib "kernel32.dll" () Private Declare Function Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()
然后用CALL Wow64DisableWow64FsRedirection語(yǔ)句來(lái)關(guān)閉文件系統(tǒng)的轉(zhuǎn)向。
再來(lái)談?wù)勛?cè)表項(xiàng)的轉(zhuǎn)向:
這個(gè)依然沒(méi)有VB方面的資料,但是知道有函數(shù)RegOpenEx(VB有這個(gè)函數(shù),用法見(jiàn)API瀏覽器)可以決定是否轉(zhuǎn)向,只要在函數(shù)的samDesired【Long】參數(shù)上加256(&H100)就可以訪(fǎng)問(wèn)64位的注冊(cè)表了。由于API訪(fǎng)問(wèn)注冊(cè)表代碼較多就不往上貼了。
相關(guān)文章
淺談如何使用vb.net從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)
這篇文章主要介紹了淺談如何使用vb.net從數(shù)據(jù)庫(kù)中提取數(shù)據(jù),使用VB提取數(shù)據(jù),是先查找,做成數(shù)組,再顯示到數(shù)據(jù)里,如果感興趣可以了解一下2020-07-07VB使用shell函數(shù)打開(kāi)外部exe程序的實(shí)現(xiàn)方法
這篇文章主要介紹了VB使用shell函數(shù)打開(kāi)外部exe程序的實(shí)現(xiàn)方法,是非常實(shí)用的一個(gè)功能,需要的朋友可以參考下2014-07-07在VB中遍歷文件并用正則表達(dá)式完成復(fù)制及vb實(shí)現(xiàn)重命名、拷貝文件夾的方法
這篇文章主要介紹了在VB中遍歷文件并用正則表達(dá)式完成復(fù)制及vb實(shí)現(xiàn)重命名、拷貝文件夾的方法,需要的朋友可以參考下2018-12-12Windows 10 x64 安裝 Visual Basic 
這篇文章主要介紹了Windows 10 x64 安裝 Visual Basic 6.0 SP6注意事項(xiàng),需要的朋友可以參考下2023-06-06