天天看點

HMONITOR

error C2061: syntax error : identifier 'HMONITOR'
 
     在使用播放庫SDK時,嘗試擷取顯示卡和螢幕的資訊時,需要用到函數PLAYM4_API BOOL __stdcall PlayM4_GetDDrawDeviceInfo(DWORD nDeviceNum,LPSTR  lpDriverDescription,DWORD nDespLen,LPSTR lpDriverName ,DWORD nNameLen,HMONITOR *hhMonitor);
     我在編譯時遇到了以下錯誤:
     error C2061: syntax error : identifier 'HMONITOR'
     google了一下,發現問題在WINVER上。
#if (WINVER > 0x0400) 
//注意: 
// 支援多顯示卡的這些函數,建議在Win2000及以後版本使用; 
// WINVER定義在"Windows.h"裡,标志windows版本号。 
// 在VC6.0自帶的"windows.h"中,WINVER 被定義為 0x0400(表示NT4.0)。 
// 而Windows2000及以後版本實際版本号應該大于0x0400,如果要保持定義 
// 和實際版本相同,請下載下傳安裝Microsoft 最新的Platform sdk 
// (http://www.microsoft.com/msdownload/platformsdk/sdkupdate/)并設定 
// 并設定新安裝的sdk為最先包含的路徑; 
// 
// 當WINVER>0x0400 時HMONITOR 定義在"Windef.h"裡.否則定義在"MULTIMON.H"; 
// 而實際上如果包含了"MULTIMON.H",可能會出現Link錯誤。如果要使用HMONITOR這個 
// 資料類型,應該保證WINVER>0x0400(如果不想安裝最新SDK,作為一個不提倡的辦法, 
// 可以自定義WINVER 在你的STDAFX.H頭檔案中)。 /// 
//初始化顯示裝置 HIK_PLAYM4_API BOOL __stdcall Hik_PlayM4_InitDDrawDevice(); 
//釋放顯示裝置 HIK_PLAYM4_API void __stdcall Hik_PlayM4_ReleaseDDrawDevice(); 
//獲得系統中總的顯示裝置數目; HIK_PLAYM4_API DWORD __stdcall Hik_PlayM4_GetDDrawDeviceTotalNums(); 
//設定使用的顯示卡 HIK_PLAYM4_API BOOL __stdcall Hik_PlayM4_SetDDrawDevice(LONG nPort,DWORD nDeviceNum); 
//得到顯示卡和顯示器資訊; HIK_PLAYM4_API BOOL __stdcall Hik_PlayM4_GetDDrawDeviceInfo(DWORD nDeviceNum,LPSTR lpDriverDescription,DWORD nDespLen,LPSTR lpDriverName ,DWORD nNameLen,HMONITOR *hhMonitor); 
 
一種不提倡的辦法是在stdafx.h中
#define WINVER 0x0510