先建立一個對話框工程,然後在對話框的OnTimer()事件處理函數裏寫下這些代碼:
// TODO: Add your message handler code here and/or call default
POINT point;
GetCursorPos(&point);//取得屏幕當前光標位置
HWND hWnd = ::WindowFromPoint(point);//取得光標處的窗口句柄
HDC hDC = ::GetDC(hWnd);//取得該窗口的DC
::ScreenToClient(hWnd, &point);//把屏幕座標轉換成窗口座標
COLORREF color = ::GetPixel(hDC, point.x, point.y);//取得顏色值
::ReleaseDC(hWnd, hDC);//釋放窗口的DC
char szTitle[255];
ZeroMemory(szTitle, sizeof(szTitle));
::GetWindowText(hWnd,szTitle, sizeof(szTitle));//取得窗口標題
CString strMsg;
strMsg.Format("%X", color);
//把取得的值顯示在屏幕上
SetDlgItemText(IDC_STATIC_COLOR, strMsg);
SetDlgItemText(IDC_STATIC_TITLE, szTitle);
如果想要該程序的窗口在最前面,在OnInitDialog函數里加上這句:
::SetWindowPos(GetSafeHwnd(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE );