C & C++/C & C++

MS Office( 엑셀, 워드, 파워포인터 ) 및 기타 프로그램 설치 여부 확인

izen8 2013. 11. 14. 13:17

엑셀 오토메이션(Excel Automation)을 이용해서 보고서 출력하는 기능을 만들고 있는데

엑셀이 안깔려 있는 피씨의 경우에는 오류가 발생한다.

 

오류 발생전에 미리 설치 여부를 확인하고 설치가 되어있지 않다면 이 기능을 사용하지 못하도록 아래 소스를 추가한다.

 


 

// 엑셀 설치 여부 확인
// 열려있는 레지스트리 키(hKey)를 이용하여 lpValueName에 명시된 항목이름의 데이터 형식이나 내용을 얻는데 
// 사용하는 함수이다.
 
HKEY nHandle;
if(::RegOpenKey(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.exe", &nHandle) != ERROR_SUCCESS)
{
AfxMessageBox(L"[MS OFFICE EXCEL]이 설치되어있지 않습니다.");
 
return;
}
else
{
if(nHandle != NULL)
{
RegCloseKey(nHandle);
}
 
}