亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C/C++ 獲取Windows系統的位數32位或64位的實現代碼

2020-05-23 13:35:18
字體:
來源:轉載
供稿:網友

C/C++ 獲取Windows系統的位數32位或64位的實現代碼

場景

1.在Windows 64bit系統開發程序時, 某些情況需要判斷Program Files路徑, 但是64bit系統有兩個Program Files或 Program Files(x86), 這時候就需要根據當前系統的位數來獲取路徑了.

說明

1.通過判斷程序是32bit或64bit并沒有什么用,因為64bit系統可以運行32bit和64bit程序.

2.64bit系統的kernel32.dll 里有一個函數接口 IsWow64Process,只需要判斷這個dll是否有這個導出函數即可.

例子

// test-OSBit.cpp : 定義控制臺應用程序的入口點。//#include "stdafx.h"#include <Windows.h>#include "Shlobj.h"#include <iostream>typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);static LPFN_ISWOW64PROCESS fnIsWow64Process = NULL;////  FUNCTION: SafeIsWow64Process(HANDLE, PBOOL)////  PURPOSE: This is a wrapper of the IsWow64Process API. It determines //  whether the specified process is running under WOW64. IsWow64Process //  does not exist prior to Windows XP with SP2 and Window Server 2003 with //  SP1. For compatibility with operating systems that do not support //  IsWow64Process, call GetProcAddress to detect whether IsWow64Process is /// implemented in Kernel32.dll. If GetProcAddress succeeds, it is safe to //  call IsWow64Process dynamically. Otherwise, WOW64 is not present.////  PARAMETERS://  * hProcess - A handle to the process. //  * Wow64Process - A pointer to a value that is set to TRUE if the process //   is running under WOW64. If the process is running under 32-bit Windows, //   the value is set to FALSE. If the process is a 64-bit application //   running under 64-bit Windows, the value is also set to FALSE.////  RETURN VALUE: If the function succeeds, the return value is TRUE.If //  IsWow64Process does not exist in kernel32.dll, or the function fails, //  the return value is FALSE. //static BOOL WINAPI SafeIsWow64Process(HANDLE hProcess, PBOOL Wow64Process){  if (fnIsWow64Process == NULL)  {    // IsWow64Process is not available on all supported versions of     // Windows. Use GetModuleHandle to get a handle to the DLL that     // contains the function, and GetProcAddress to get a pointer to the     // function if available.    HMODULE hModule = GetModuleHandle(L"kernel32.dll");    if (hModule == NULL)    {      return FALSE;    }    fnIsWow64Process = reinterpret_cast<LPFN_ISWOW64PROCESS>(      GetProcAddress(hModule, "IsWow64Process"));    if (fnIsWow64Process == NULL)    {      return FALSE;    }  }  return fnIsWow64Process(hProcess, Wow64Process);}////  FUNCTION: Is64BitOS()////  PURPOSE: The function determines whether the current operating system is //  a 64-bit operating system.////  RETURN VALUE: The function returns TRUE if the operating system is //  64-bit; otherwise, it returns FALSE.//static BOOL Is64BitOS(){#if defined(_WIN64)  return TRUE;  // 64-bit programs run only on Win64#elif defined(_WIN32)  // 32-bit programs run on both 32-bit and 64-bit Windows  BOOL f64bitOS = FALSE;  return (SafeIsWow64Process(GetCurrentProcess(), &f64bitOS) && f64bitOS);#else  return FALSE; // 64-bit Windows does not support Win16#endif}int _tmain(int argc, _TCHAR* argv[]){  TCHAR folder[MAX_PATH] = {0};  if(Is64BitOS())    ::SHGetSpecialFolderPath(NULL,folder,CSIDL_PROGRAM_FILESX86,FALSE);  else    ::SHGetSpecialFolderPath(NULL,folder,CSIDL_PROGRAM_FILES,FALSE);  std::wcout << "32bit Program Files: " << folder << std::endl;  system("pause");  return 0;}

輸出:

32bit Program Files: C:/Program Files (x86)

參考

SHGetSpecialFolderPath function

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩国三级日本三级少妇99| 国产精品揄拍500视频| 日韩av在线不卡| 国产一区二区三区欧美| 国产精品嫩草影院一区二区| 日韩久久免费电影| 久久久最新网址| 亚洲精品99久久久久中文字幕| 国产精品劲爆视频| 欧美激情亚洲综合一区| 亚洲欧洲免费视频| 91成人性视频| 久久精品视频一| 在线观看精品国产视频| 欧美精品日韩www.p站| 久久免费福利视频| 亚洲成人激情在线观看| 国产精品91久久| 大桥未久av一区二区三区| 78色国产精品| 国产成人精品av在线| 欧美亚洲视频在线观看| 国产成人精品综合久久久| 欧美贵妇videos办公室| 亚洲成色777777在线观看影院| 热99久久精品| 日韩国产欧美精品在线| 欧美视频一区二区三区…| 日韩在线免费av| 欧美噜噜久久久xxx| 国产精品久久久久久影视| 福利视频导航一区| 国产ts人妖一区二区三区| 欧美精品videos性欧美| 一区二区三区天堂av| 在线亚洲午夜片av大片| 久久99精品久久久久久青青91| 2018中文字幕一区二区三区| 精品露脸国产偷人在视频| 欧美性猛交xxxx免费看漫画| 97精品久久久| 国产精品观看在线亚洲人成网| 欧美黑人巨大精品一区二区| 国产精品久久久久国产a级| 日韩欧美精品在线观看| 国产精品第2页| 2019最新中文字幕| 最新的欧美黄色| 国产精品免费看久久久香蕉| 色妞久久福利网| 亚洲人成在线观| 中文字幕视频一区二区在线有码| 中文字幕综合在线| 国产一区玩具在线观看| 国产精品久久久久久五月尺| 在线日韩第一页| 国产一区香蕉久久| 亚洲xxxx做受欧美| 久久亚洲欧美日韩精品专区| 欧美寡妇偷汉性猛交| 91在线高清视频| 欧美亚洲另类激情另类| 久久精品电影网| 欧美孕妇性xx| 亚洲欧美在线一区二区| 欧美一区二区三区艳史| 亚洲欧美综合图区| 亚洲最大福利网| 日韩视频第一页| 国产精品视频yy9099| 国产精品专区一| 国产精品入口免费视频一| 久久亚洲综合国产精品99麻豆精品福利| 亚洲国产高清自拍| 欧美专区第一页| 在线性视频日韩欧美| 欧美色videos| 91国内精品久久| 亚洲wwwav| 欧美在线视频网站| 久久精品国产99国产精品澳门| 亚洲变态欧美另类捆绑| 国产一区二区三区在线免费观看| 欧美一级视频在线观看| 亚洲精品免费av| 538国产精品一区二区免费视频| 日韩av不卡在线| 亚洲成人中文字幕| 精品性高朝久久久久久久| 久久久www成人免费精品| 成人久久精品视频| 好吊成人免视频| 亚洲最新av网址| 一本色道久久88综合日韩精品| 成人国产在线激情| 成人免费xxxxx在线观看| 中文字幕免费国产精品| 国产亚洲成av人片在线观看桃| 国产xxx69麻豆国语对白| 欧美一级在线播放| 国产精品丝袜久久久久久不卡| 欧美日韩国产成人高清视频| 亚洲成人网在线| 国产亚洲精品激情久久| 久久精品青青大伊人av| 国产精品美女久久久久久免费| 亚洲欧美一区二区三区四区| 亚洲精品在线视频| 欧美高清视频在线观看| 亚洲国产精久久久久久久| 国产97在线视频| 欧美高清理论片| 国产精品一区二区3区| 国产在线播放不卡| 亚洲激情中文字幕| 韩国福利视频一区| 精品国产欧美一区二区三区成人| 亚洲一区中文字幕| 国产一区二区黑人欧美xxxx| 久久免费少妇高潮久久精品99| 91色中文字幕| 日韩中文视频免费在线观看| 国产一区二区黑人欧美xxxx| 欧美人与性动交| 欧美成人免费大片| 国产精品扒开腿做| 日韩精品999| 国产性猛交xxxx免费看久久| 亚洲天天在线日亚洲洲精| 国内外成人免费激情在线视频| 中文字幕亚洲在线| 欧美插天视频在线播放| 亚洲成人免费网站| 欧美精品在线免费观看| 视频在线观看99| 法国裸体一区二区| 亚洲第一区中文99精品| 欧美成人免费全部观看天天性色| 久久综合亚洲社区| 国产精品久久久久久久app| 97精品国产97久久久久久免费| 亚洲天堂2020| 久久高清视频免费| 国产精品久久国产精品99gif| 日韩亚洲欧美成人| 亚洲精品久久久久久久久久久久久| 国产欧美日韩综合精品| 久久精品中文字幕一区| 国产在线播放不卡| 91免费的视频在线播放| 亚洲午夜精品久久久久久久久久久久| 亚洲欧美综合另类中字| 国产精品劲爆视频| 精品视频在线播放色网色视频| 国产精品观看在线亚洲人成网| 欧美最猛性xxxx| 九色成人免费视频| 一本色道久久88综合日韩精品| 亚洲一区二区久久久久久| 久久不射热爱视频精品| 欧美日韩高清在线观看| 孩xxxx性bbbb欧美| 在线a欧美视频| 中文字幕亚洲无线码a|