日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

检测VC++Redistributable运行库 vcredist_x86.exe

發布時間:2023/12/14 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 检测VC++Redistributable运行库 vcredist_x86.exe 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:一般用Visual C++開發的Windows應用程序需要這個運行時庫的支持才能在沒有安裝Visual C++的計算機上正常運行,也可以在開發軟件時選擇”在靜態庫中使用 MFC“,從而將調用的庫函數的代碼嵌入應用程序,避免對運行時庫的依賴。此軟件包安裝 C Runtime(CRT)、Standard C++、ATL、MFC、OpenMP 和 MSDIA 庫的運行時組件。對于支持并行部署模式的庫(CRT、SCL、ATL、MFC 和 OpenMP),這些運行時組件安裝在支持并行程序集的 Windows 操作系統版本的本機程序集緩存中,這一緩存也稱為 WinSxS 文件夾。


形成本文前,研讀了bravo的新浪博客中《VC++Redistributable的安裝判斷 》,以及HuaHuaXia的專欄中《通過注冊表檢測是否安裝了VC++ 2008 SP1 redistributable》兩篇文章,了解到VC++Redistributable是大部分Windows平臺下開發的程序所需要依賴的庫,而vcredist_x86.exe這個6M大小的應用程序就是這個庫的安裝程序。

不同版本的VC++Redistributable具有不同的GUID(全局唯一標識),這給檢測帶來了很大困難。但是一個很明確的問題是——不管是何種版本,都會在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\路徑下生成一個注冊鍵key。

根據這個特征,這里提出一種可行方式是:根據注冊表,判斷xx鍵是否存在來判斷VC++Redistributable運行庫是否被安裝。

// RegEditDetect.cpp : 定義控制臺應用程序的入口點。 //#include "stdafx.h" #include <string> #include <Windows.h> using std::string;LPCTSTR reg[18] = { _T("{A49F249F-0C91-497F-86DF-B2585E8E76B7}"),//Microsoft Visual C++ 2005 Redistributable X86 _T("{7299052B-02A4-4627-81F2-1818DA5D550D}"),//Microsoft Visual C++ 2005 SP1 Redistributable X86 _T("{837b34e3-7c30-493c-8f6a-2b0f04e2912c}"),//Microsoft Visual C++ 2005 SP1 Redistributable ATL Security Update X86 _T("{6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}"),//Microsoft Visual C++ 2005 Redistributable X64 _T("{071C9B48-7C32-4621-A0AC-3F809523288F}"),//Microsoft Visual C++ 2005 SP1 Redistributable X64 _T("{6CE5BAE9-D3CA-4B99-891A-1DC6C118A5FC}"),//Microsoft Visual C++ 2005 SP1 Redistributable ATL Security Update X64 _T("{03ED71EA-F531-4927-AABD-1C31BCE8E187}"),//Microsoft Visual C++ 2005 Redistributable IA64 _T("{0F8FB34E-675E-42ED-850B-29D98C2ECE08}"),//Microsoft Visual C++ 2005 SP1 Redistributable IA64 _T("{85025851-A784-46D8-950D-05CB3CA43A13}"),//Microsoft Visual C++ 2005 SP1 Redistributable ATL Security Update IA64 _T("{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}"),//Microsoft Visual C++ 2008 Redistributable X86 _T("{9A25302D-30C0-39D9-BD6F-21E6EC160475}"),//Microsoft Visual C++ 2008 SP1 Redistributable X86 _T("{1F1C2DFC-2D24-3E06-BCB8-725134ADF989}"),//Microsoft Visual C++ 2008 SP1 Redistributable ATL Security Update X86 _T("{350AA351-21FA-3270-8B7A-835434E766AD}"),//Microsoft Visual C++ 2008 Redistributable X64 _T("{8220EEFE-38CD-377E-8595-13398D740ACE}"),//Microsoft Visual C++ 2008 SP1 Redistributable X64 _T("{4B6C7001-C7D6-3710-913E-5BC23FCE91E6}"),//Microsoft Visual C++ 2008 SP1 Redistributable ATL Security Update X64 _T("{2B547B43-DB50-3139-9EBE-37D419E0F5FA}"),//Microsoft Visual C++ 2008 Redistributable IA64 _T("{5827ECE1-AEB0-328E-B813-6FC68622C1F9}"),//Microsoft Visual C++ 2008 SP1 Redistributable IA64 _T("{977AD349-C2A8-39DD-9273-285C08987C7B}"),//Microsoft Visual C++ 2008 SP1 Redistributable ATL Security Update IA64 };/* 功能:檢測lpszSubKey是否存在 */ bool detectVCppRedistributable(LPCTSTR lpszSubKey){//printf("%ls\n", lpszSubKey);HKEY hKey;int ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpszSubKey, 0, KEY_READ, &hKey);RegCloseKey(hKey);return (ret == 0) ? true : false; }int _tmain(int argc, _TCHAR* argv[]){//拼接key并調用函數detectVCppRedistributable檢測注冊表for (int i = 0; i < 18; ++i){wchar_t key[100] = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\");wcscat_s(key, 100, reg[i]);if (detectVCppRedistributable(key)){printf("yes\n");break;}}return 0; }

當然,你也可以加入更高版本的檢測,不過從2008以后,可以直接檢測.NET Framework,而不必檢測VC運行庫了

{1D8E6291-B0D5-35EC-8441-6616F567A0F7} //Microsoft Visual C++ 2010 Redistributable X64 {6a3b46d3-fbf1-4b22-8b42-48b675de6b81} //Microsoft Visual C++ 2012 Redistributable X64 {95716cce-fc71-413f-8ad5-56c2892d4b3a} //Microsoft Visual C++ 2012 Redistributable X86 {b64ca997-b626-4abb-a046-5ca2d92ed659} //Microsoft Visual C++ 2012 Redistributable X86 {050d4fc8-5d48-4b8f-8972-47c82c46020f} //Microsoft Visual C++ 2012 Redistributable X64 {7f51bdb9-ee21-49ee-94d6-90afc321780e} //Microsoft Visual C++ 2012 Redistributable X64 {f65db027-aff3-4070-886a-0d87064aabb1} //Microsoft Visual C++ 2012 Redistributable X86 {74d0e5db-b326-4dae-a6b2-445b9de1836e} //Microsoft Visual C++ 2012 Redistributable X86

總結

以上是生活随笔為你收集整理的检测VC++Redistributable运行库 vcredist_x86.exe的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线观看三级网站 | 久久久人妻无码一区二区 | 免费av影视| 91娇羞白丝 | 国产乱子伦农村叉叉叉 | 成人免费精品 | 成人在线观 | 夜夜嗨网站 | 欧美小视频在线观看 | 久久久久成人精品无码中文字幕 | 亚洲爱情岛论坛永久 | 亚洲一区二区精品在线观看 | av色成人| 日韩视频第一页 | 中文字幕丝袜诱惑 | 国产精品一区二区三区线羞羞网站 | 好吊妞视频在线观看 | 五月天一区二区三区 | 成人久草 | exo妈妈mv在线播放高清免费 | 新版红楼梦在线高清免费观看 | 美女主播福利视频 | 超碰在线a| 欧美成人片在线 | 想要视频在线观看 | 精品一区二区日韩 | 三级黄色在线播放 | 国内国产精品天干天干 | 欧美天天色 | 成年人的视频网站 | 色婷婷综合久久 | 男同互操gay射视频在线看 | 久久国产综合 | 日韩精品中文在线 | 久久婷婷五月综合色国产香蕉 | 春色激情站| h片在线播放 | 99艹| 久久加久久 | 在线观看成年人视频 | 成人av高清 | 少妇久久精品 | 中文在线一区二区 | 久久久久毛片 | avxx| 黄色片高清 | 欧美第九页 | 亚洲精品久久久蜜桃网尤妮丝 | 丰满大乳少妇在线观看网站 | 成人免费xxxxx在线视频 | 孕期1ⅴ1高h | 九九视频免费观看 | 欧美国产另类 | wwwjavhd| 狠狠爱五月婷婷 | av先锋资源 | 午夜播放 | 国产高清在线视频观看 | 爱啪啪av | 欧美日韩国产精品一区 | 51吃瓜网今日 | 亚洲av片不卡无码久久 | 一区二区日韩av | 日本边添边摸边做边爱 | 黄色网久久 | 国产精品久久伊人 | 亚洲精品午夜国产va久久成人 | 国产又黄又粗又猛又爽的视频 | 久久午夜神器 | 一本色道久久综合熟妇 | 黄色av网站在线免费观看 | 99精品久久毛片a片 成人网一区 | 男女视频在线免费观看 | 狠狠躁 | aaa黄色| 国产av剧情一区二区三区 | 毛片一级免费 | 秋霞欧美视频 | 国产精品入口麻豆九色 | 成人18视频在线观看 | 美女被艹视频网站 | 日韩激情av| 91精品国产色综合久久不卡蜜臀 | 日韩av一二三 | 国产视频污 | 国产精品伦一区二区三级古装电影 | 免费黄色一区二区 | 七仙女欲春2一级裸体片 | 久久久精品在线 | 天天夜碰日日摸日日澡性色av | 美女黄色av | 无码日本精品xxxxxxxxx | 欧美三个黑人玩3p | 男女日批在线观看 | 国产又粗又猛又大爽 | 亚洲一区二区图片 | 国产精品久久久久久婷婷天堂 | 夜夜爱爱 | 双性尿奴穿贞c带憋尿 |