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

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

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

2020-01-26 13:51:57
字體:
來源:轉載
供稿:網友

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
亚洲综合在线中文字幕| 久久亚洲精品毛片| 久久久久久久影视| 日韩午夜在线视频| 亚洲成人三级在线| 亚洲色图美腿丝袜| 亚洲日韩欧美视频| 69久久夜色精品国产7777| 久久免费国产视频| 欧美一区深夜视频| 欧美在线观看视频| 久99久在线视频| 亚洲国产高潮在线观看| 日韩精品视频三区| 欧美人在线视频| 97在线视频免费播放| 国产69精品99久久久久久宅男| 亚洲一区二区久久久久久久| 最近中文字幕2019免费| 日韩二区三区在线| 国产亚洲精品成人av久久ww| 亚洲美女精品久久| 久久精品国产久精国产一老狼| 亚洲日本中文字幕| 日本aⅴ大伊香蕉精品视频| 黑人巨大精品欧美一区二区一视频| 91日本在线视频| 亚洲国产精品资源| 日韩女优在线播放| 欧美日韩高清区| 中文字幕亚洲一区二区三区| 中文字幕日韩精品在线观看| 青草成人免费视频| 国产精品美腿一区在线看| 一区二区三区无码高清视频| 91免费电影网站| 久久影视三级福利片| 亚洲欧美成人在线| 91麻豆国产语对白在线观看| 欧美精品在线极品| 国产欧美精品一区二区三区-老狼| 91国产精品视频在线| 欧美激情国产日韩精品一区18| 国产欧美va欧美va香蕉在线| 国产+成+人+亚洲欧洲| 亚洲欧洲日本专区| 日韩久久精品电影| 欧美大胆在线视频| 国产日韩欧美在线| 97精品国产97久久久久久免费| 九九精品视频在线观看| 日韩电影中文字幕av| 亚洲电影免费观看高清完整版在线| 日韩欧美大尺度| 一区二区在线视频| 久久久久久亚洲精品不卡| 久久久精品欧美| 91成品人片a无限观看| 久久精品国产亚洲精品| 亚洲国产成人久久| 亚洲自拍偷拍视频| 日韩中文在线视频| 91精品久久久久久久久青青| 国产精品96久久久久久又黄又硬| 精品国产91久久久久久老师| 久久免费视频网站| 国产视频精品免费播放| 成人久久精品视频| 欧美成人高清视频| 亚洲精品小视频| 日本精品一区二区三区在线播放视频| 国产精品福利片| 人人爽久久涩噜噜噜网站| 成人福利网站在线观看| 日韩av电影手机在线观看| 亚洲成成品网站| 日韩久久精品成人| 国产日韩欧美中文在线播放| 国内伊人久久久久久网站视频| 国产一区私人高清影院| 黄色成人av网| 亚洲精品国产精品久久清纯直播| 欧美电影免费观看高清完整| 亚洲成av人乱码色午夜| 97成人精品区在线播放| 亚洲国产又黄又爽女人高潮的| 久热精品视频在线免费观看| 日韩欧美精品网址| 少妇高潮久久77777| 国产在线播放91| 国产美女精品视频免费观看| 成人美女免费网站视频| 色与欲影视天天看综合网| 亚洲综合成人婷婷小说| 亚洲图中文字幕| 91九色在线视频| 中日韩美女免费视频网址在线观看| 亚洲日韩中文字幕在线播放| 日韩大片免费观看视频播放| 国产区精品在线观看| 在线观看国产欧美| 亚洲第一福利视频| 亚洲综合日韩中文字幕v在线| 日韩欧美高清视频| 亚洲色图第一页| 国产一区二区三区在线看| 亚洲欧美变态国产另类| 91高清免费在线观看| 在线日韩中文字幕| 久久精品成人欧美大片古装| 国产日韩欧美视频| 国内精品久久久久久影视8| 国产精品久久久久久五月尺| 亚洲乱码一区av黑人高潮| 九九热在线精品视频| 亚洲图中文字幕| 大荫蒂欧美视频另类xxxx| 国产精品va在线| 亚洲free嫩bbb| 国产精品免费在线免费| 亚洲色在线视频| 欧美成人在线影院| 国产69精品久久久久9999| 伊人久久久久久久久久久| 欧美在线视频一二三| 欧美高清视频一区二区| 亚洲成人国产精品| 国产一区二区三区精品久久久| 亚洲成av人乱码色午夜| 欧美精品videosex极品1| 国产精品久久久久久久久粉嫩av| 欧美福利小视频| 亚洲一区二区三区久久| 在线观看成人黄色| 欧美孕妇性xx| 欧美在线视频免费观看| 亚洲丝袜在线视频| 久久国产精品99国产精| 亚洲精品ady| 久久成人亚洲精品| 欧美一级视频一区二区| 国产精品网站视频| 日韩三级成人av网| 美女黄色丝袜一区| 亚洲国产精品人久久电影| 亚洲性生活视频| 中文字幕在线看视频国产欧美在线看完整| 伊人亚洲福利一区二区三区| 久久久精品欧美| 欧美精品电影免费在线观看| 在线观看久久久久久| 一本色道久久综合狠狠躁篇怎么玩| 日韩性xxxx爱| 欧美中文字幕视频在线观看| 欧美精品成人在线| 日韩欧美国产免费播放| 亚洲午夜久久久久久久| 日韩精品久久久久久久玫瑰园| 亚洲国语精品自产拍在线观看| 日韩中文字幕网| 深夜福利日韩在线看| 日本一欧美一欧美一亚洲视频| 成人亲热视频网站| 国产一区二区激情|