2012-02-06 16 views
2

在Pocket PC 2003環境中使用C++知道音量是否靜音的API是什麼?什麼是使用的API,知道Pocket PC 2003環境中使用C++的音量狀態?

要設置音量,我使用了下列API: -

waveOutSetVolume(0,volume[volumeStatus.volume]); 

而得到的體積,我使用了下列API: -

waveOutGetVolume(0, (LPDWORD)&volume); 

請讓我知道了什麼是用於設置和獲取靜音狀態的API?

+0

誰能告訴我請,什麼是用於上述的API? – Abhineet 2012-02-06 07:02:53

+0

獲取音量並檢查它是否爲零? – 2012-02-06 07:03:13

+0

在Pocket PC 2003環境中,用於獲取和設置靜音狀態的MIXERLINE概念不起作用。此外,我無法使用MIXERLINE概念設置和獲取音量級別。所以我在pocketpc 2003環境中使用了waveoutgetvolume&waveoutsetvolume api。 – Abhineet 2012-02-06 07:05:29

回答

0

我得到了上述解決方案:

方法獲取靜音狀態:

void vGetMuteStatus(){ 
    LONG lReturn; 
     HKEY hkey; 
     DWORD dwLen, dwMode;  
     lReturn = RegOpenKeyEx(HKEY_CURRENT_USER, 
        L"ControlPanel\\Notifications\\ShellOverrides", 
        0,KEY_QUERY_VALUE|KEY_READ,&hkey);  
     if (lReturn == ERROR_SUCCESS) {  
      dwLen = sizeof(DWORD);  
      lReturn = RegQueryValueEx(hkey,L"Mode", NULL, NULL, 
           (LPBYTE)&dwMode, &dwLen);  
      RegCloseKey(hkey);  
     } 
     if(dwMode == 2) 
      MSGBOX(NULL,L"Volume",L"Volume is Mute",MB_OK); 
     else 
      MSGBOX(NULL,L"Volume",L"Volume is not Mute",MB_OK); 
} 
相關問題