Link : http://www.devpia.com/Forum/BoardView.aspx?no=554758&ref=391446&page=1&forumname=VC_QA&stype=&KeyW=%c5%d7%b8%b6&KeyR=title
GetCurrentThemeName() 함수가 있습니다.
uxtheme.h 헤더와 UxTheme.lib lib 파일과 링크 해주시면 됩니다.
-_-; 근데 이 함수.. 최소 윈도우 버전이 xp다 -_-;;;;;;
레지스트리 값을 읽는 방법으로....
HKEY_CURRENT_USER 안의
Software\\Microsoft\\Windows\\CurrentVersion\\ThemeManager\\ 값중에
ThemeActive 가 1이면 테마적용된 상태이고 0이면 고전스타일 입니다...
[code]
int CCommon::GetThemeType(void)
{
HKEY openKey;
wchar_t pszValue[_MAX_PATH]; // 값이 반환될 변수
DWORD dwType = REG_SZ; // 찾는값의 TYPE
DWORD dwCount = _MAX_PATH; // 반환될 값의 길이
// 테마의 정보가 들어있는 Path 위치
CString szRegPath(L"Software\\Microsoft\\Windows\\CurrentVersion\\ThemeManager\\");
memset(pszValue, 0, sizeof(pszValue));
RegOpenKey(HKEY_CURRENT_USER, szRegPath, &openKey);
RegQueryValueEx(openKey, L"ThemeActive", 0, &dwType, (LPBYTE)pszValue, &dwCount);
RegCloseKey(openKey);
return _wtoi(pszValue);;
}
[/code]
GetCurrentThemeName() 함수가 있습니다.
uxtheme.h 헤더와 UxTheme.lib lib 파일과 링크 해주시면 됩니다.
-_-; 근데 이 함수.. 최소 윈도우 버전이 xp다 -_-;;;;;;
레지스트리 값을 읽는 방법으로....
HKEY_CURRENT_USER 안의
Software\\Microsoft\\Windows\\CurrentVersion\\ThemeManager\\ 값중에
ThemeActive 가 1이면 테마적용된 상태이고 0이면 고전스타일 입니다...
[code]
int CCommon::GetThemeType(void)
{
HKEY openKey;
wchar_t pszValue[_MAX_PATH]; // 값이 반환될 변수
DWORD dwType = REG_SZ; // 찾는값의 TYPE
DWORD dwCount = _MAX_PATH; // 반환될 값의 길이
// 테마의 정보가 들어있는 Path 위치
CString szRegPath(L"Software\\Microsoft\\Windows\\CurrentVersion\\ThemeManager\\");
memset(pszValue, 0, sizeof(pszValue));
RegOpenKey(HKEY_CURRENT_USER, szRegPath, &openKey);
RegQueryValueEx(openKey, L"ThemeActive", 0, &dwType, (LPBYTE)pszValue, &dwCount);
RegCloseKey(openKey);
return _wtoi(pszValue);;
}
[/code]
'Windows > MFC' 카테고리의 다른 글
유니코드(Unicode) -> char* or Multibyte -> Unicode (0) | 2013.10.02 |
---|---|
CDialogSkin - 다이얼로그 스킨 입히기 (0) | 2013.10.02 |
DetailMiniView - 리스트 선택시 내용을 보여주는 작은 창. (0) | 2013.10.02 |
CString 상에서 연속적으로 들어오는 유니코드형식에 CString을 Unicode로 변환 (0) | 2013.10.02 |
Thread 가 살아 있는지 확인 하는 방법 (0) | 2013.10.02 |