Windows Media 설치 프로그램에 대한 설정 상태 검색
[이 페이지와 연결된 기능인 Windows 미디어 플레이어 SDK는 레거시 기능입니다. MediaPlayer로 대체되었습니다. MediaPlayer는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows 미디어 플레이어 SDK 대신 MediaPlayer를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
다음 코드는 Windows 미디어 플레이어 재배포 패키지와 함께 사용할 수 있습니다. 설치 상태 다음 하위 키 아래의 InstallResult 레지스트리 항목에 저장됩니다.
HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Setup
InstallResult레지스트리 항목은 다음과 같은 형식입니다.
이름 | 형식 | 값 |
---|---|---|
InstallResult | REG_DWORD | Windows 미디어 플레이어 설치에 성공했는지 여부와 다시 시작해야 하는지 여부를 나타내는 HRESULT입니다. |
다음은 호출 설정 애플리케이션에 통합될 수 있는 C++ 코드 예제입니다. 이 코드는 구성 요소 재배포 패키지의 fSuccess
Windows 미디어 플레이어 Setup에서 작성한 HRESULT 값에 따라 및 fRebootNeeded
변수를 true 또는 false로 설정합니다.
#include <windows.h>
#include <stdio.h>
// If NS_S_REBOOT_REQUIRED is undefined, use 0xD2AF9.
#ifndef NS_S_REBOOT_REQUIRED
#define NS_S_REBOOT_REQUIRED 0xd2af9
#endif
int main( void )
{
HKEY hKey = NULL;
BOOL fSuccess = FALSE;
BOOL fRebootNeeded = FALSE;
if( ERROR_SUCCESS == RegOpenKeyExA(
HKEY_CURRENT_USER,
"Software\\Microsoft\\MediaPlayer\\Setup",
0, KEY_QUERY_VALUE, &hKey ))
{
char szResult[64];
DWORD dwResult = sizeof( szResult );
if( ERROR_SUCCESS == RegQueryValueExA(
hKey, "InstallResult", NULL, NULL,
(LPBYTE)szResult, &dwResult ) )
{
sscanf_s( szResult, "%x", &dwResult );
fSuccess = SUCCEEDED( dwResult );
fRebootNeeded = ( NS_S_REBOOT_REQUIRED == dwResult );
}
RegCloseKey( hKey );
}
if( fSuccess )
{
printf( "Setup Succeeded..." );
if( fRebootNeeded )
printf( "A restart IS required...\n" );
else
printf( "A restart IS NOT required...\n" );
}
else
{
printf( "Setup Failed..." );
if( fRebootNeeded )
printf( "A restart IS required...\n" );
else
printf( "A restart IS NOT required...\n" );
}
return 0;
}
관련 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기