1. 程式人生 > >c++ Win x64 登錄檔操作

c++ Win x64 登錄檔操作

是否為 x64 的作業系統

bool Utility::IsWow64()

{

typedefBOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);

LPFN_ISWOW64PROCESSfnIsWow64Process;

BOOLbIsWow64 = FALSE;

fnIsWow64Process= (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandleA("kernel32"),"IsWow64Process");

if(NULL != fnIsWow64Process)

{

fnIsWow64Process(GetCurrentProcess(),&bIsWow64);

}

returnbIsWow64;

}

登錄檔的操作:

如果你訪問HKEY_LOCAL_MACHINE主鍵下的SOFTWARE下的子鍵x64位下訪問到的是SOFTWARE\Wow6432Node

例如 : x32 下的登錄檔路徑是HKEY_LOCAL_MACHINE\SOFTWARE\IISFilter

對應x64下的就是HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IISFilter

如果你要在x64下訪問HKEY_LOCAL_MACHINE\SOFTWARE\IISFilter操作登錄檔時加上 | KEY_WOW64_64KEY

CRegKey reg;

reg.Open(HKEY_LOCAL_MACHINE,_T("SOFTWARE\\IISFilter"),KEY_READ| KEY_WOW64_64KEY); //防止x64的系統

相關推薦

c++ Win x64 操作

是否為 x64 的作業系統 bool Utility::IsWow64() { typedefBOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESSfnIsWow64Process; B

C#:操作

參考資料: ****************************************************************** 介面: 程式碼: using System; using System.Collections.Gen

C語言操作例項(轉)

#include <stdio.h>#include <windows.h>int main(void){char regname[]="Software//Microsoft//Windows//CurrentVersion//Run";HKEY hkResult;int ret=R

那些你用的到的C++操作

獲取登錄檔資訊 以獲取cpu資訊為例 long lRet; HKEY hKey; TCHAR tcData[64]; DWORD dwSize; lRet = RegOpenKeyEx(HKE

C++操作

一、 LONG RegOpenKeyEx(HKEY hKey, // 需要開啟的主鍵的名稱LPCTSTR lpSubKey, //需要開啟的子鍵的名稱DWORD ulOptions, // 保留,設為0REGSAM samDesired, // 安全訪問標記,也就是許可權P

C++/MFC 從中 讀取串列埠

從登錄檔中 讀取串列埠 CComboBox m_nPortList;//列表 int InitComm() { m_nPortList.ResetContent(); HKEY hKEY; LPCTSTR data_Set=_T("HARDWARE\\DEVICEM

QT之INI檔案和操作方法學習筆記

INI檔案格式 節[section] 引數(KEY/VALUE)   name=value 註釋 註釋使用分號表示(;)。在分號後面的文字,直到該行結尾都全部為註釋 QCoreApplication::applicationDirPath()為應用程式當前的絕

Win7操作造成某些軟體中文亂碼的問題

實驗環境(藍色粗體字為特別注意內容) 1,環境:Windows 7 Ultimate 英文版 不小心改了登錄檔,重啟開機藍屏,於是選擇最近一次正確的配置選項,成功進入系統。 進入系統之後,發現某些軟體顯示亂碼,現象如下: 網上查閱相關資料,發現應該是區域和語言設定的問題,改來改去都

C#」刪除中的值

using Microsoft.Win32; using System; using System.Collections.Generic; using System.Windows.Forms; namespace reg_AutoStart { s

MFC操作詳解

前置知識:VC WIN-API MFC 我總結了一些MFC操作登錄檔,大致分3種方法:            1)WIN-API 這個是當然的了,MFC也是基於WIN-API的,所以我們直接在MFC裡面應用WIN-API的登錄檔操作函式來對操作登錄檔,是沒有一點問題的。WIN-API的登錄檔操作大家可以

VC 32位(或64位)win7作業系統的操作

1、登錄檔位置 Windows7 64bit系統的登錄檔分32 位登錄檔項和64位登錄檔項兩部分。 在64bit系統下,通過regedit中檢視到指定路徑下的登錄檔項均為64位登錄檔項,而32位登錄檔項被重定位到:   HKEY_LOCAL_MACHINE\Software\WOW6432Node。 應用

MFC操作

http://blog.csdn.net/weiwenhp/article/details/9381717 登錄檔簡介 有時程式中要存些設定資訊,一個方法就是建立一些普通的txt或xml檔案,然後儲存進去就行了.另一辦法就是儲存到登錄檔裡.登錄檔是由windows

C++ 遍歷項下的所有鍵和值

#include "stdafx.h" #include <time.h> #include <windows.h> #include <iostream> #include <stdio.h> #include &

關於開機啟動執行的操作(MFC)

Windows啟動時通常會有一大堆程式自動啟動,最重要的兩個資料夾和八個註冊鍵。 一、當前使用者專有的啟動資料夾   這是許多應用軟體自動啟動的常用位置,Windows自動啟動放入該資料夾的所有快捷方式。使用者啟動資料夾一般在:/Documents and Settings/

C/C++ Windows API——

// RegDemo.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include <locale.h> #include <Windows.h> int main() { setl

Java 之操作

Windows Registry API Native Interface下載地址 http://www.trustice.com/java/jnireg/index.shtml 下 registry-3.1.3.zip(包含原始碼)。解開 registry-3.1.3.z

MFC的操作—CRegKey類的使用

1.簡介 CRegKey提供了對系統登錄檔的操作方法,通過CRegKey類,可以方便的開啟登錄檔的某個分支或子鍵(CRegKey::Open),可以方便的修改一個鍵的鍵值(CRegKey::SetValue),也可以查詢某個鍵的鍵值(CRegKey::QueryValue)

[Win32] 操作(2)列舉

關於WOW64的問題: 32位程式執行在64位系統上操作登錄檔會出現問題,在上篇已經有詳細的說明了,因此,這一節不再重複。 十。列舉鍵值(值項) RegEnumValue函式: LONG WINAPI RegEnumValue( _In_ HKEY

MFC 操作

BOOL CWinApp::WriteProfileString(LPCTSTR lpszSection, LPCTSTR lpszEntry,    LPCTSTR lpszValue) {  ASSERT(lpszSection != NULL);  if (m_pszRegistryKey != NUL

C++讀寫

1.       登錄檔簡介 登錄檔是為Windows NT和Windows95中所有32位硬體/驅動和32位應用程式設計的資料檔案,用於儲存系統和應用程式的設定資訊。16位驅動在Winnt (Windows New Technology)下無法工作,所以所有裝置都通過登錄