#include
#include
#include
using namespace std;
bool LoadDll(const TCHAR* lpszDllFileName) {
HMODULE hDll = LoadLibrary(lpszDllFileName);
if (hDll == NULL){
FreeLibrary(hDll);
return false;
} else {
return true;
}
}
int main() {
if (LoadDll(TEXT("msvcp60.dll"))) cout << "このパソコンにはVisual C++ 6.0のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ Visual C++ 6.0のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp70.dll"))) cout << "このパソコンにはVisual C++ .NETのランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ .NETのランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp71.dll"))) cout << "このパソコンにはVisual C++ .NET 2003のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ .NET 2003のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp80.dll"))) cout << "このパソコンにはVisual C++ 2005のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ 2005のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp90.dll"))) cout << "このパソコンにはVisual C++ 2008のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ 2008のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp100.dll"))) cout << "このパソコンにはVisual C++ 2010のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ 2010のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp110.dll"))) cout << "このパソコンにはVisual C++ 2012のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ 2012のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp120.dll"))) cout << "このパソコンにはVisual C++ 2013のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ 2013のランタイムがインストールされていません。" << endl;
if (LoadDll(TEXT("msvcp140.dll"))) cout << "このパソコンにはVisual C++ 2015のランタイムがインストールされています。" << endl;
else cout << "このパソコンにはVisual C++ 2015のランタイムがインストールされていません。" << endl;
return 0;
}
Visual Studio のバージョン判定
Visual Studio のバージョン判定
Visual C++ のランタイムがインストールされているかどうかを以下のプログラムで判定することができます。
Windows APIの「LoadLibrary」関数を使って読み込みしてNULLが返ってくるならインストールされていないことを、NULLでない場合はインストール済みであることを示します。
コメントはまだありません。