2008年9月15日 星期一

Windows 抓圖 API

相關函式…

HWND findChild = FindWindow( NULL, "視窗標題" );
HWND dc = ::GetWindowDC( findChild );

使用這個 DC HANDLE 來作圖形的拷貝動作

但是由於 windows 有外框、標題列等問題,所以實際抓圖的位要作細部的調整
使用 GetSystemMetrics WIN API,例如…

    int nCaptionY = ::GetSystemMetrics(SM_CYCAPTION);         //dialog的標題列
    int nBorderX = ::GetSystemMetrics(SM_CXEDGE)+1;         //BORDERX
    int nBorderY = ::GetSystemMetrics(SM_CYEDGE)+1;         //BORDERY

才可以準確得知,CLIENT 畫布的位置。

沒有留言:

更高效處理 micro second 的方式

更高效處理 micro second 的方式…  以 STM32 為例… __IO unsigned long sys_tick = 0; void SysTick_Handler(void) {     HAL_IncTick();     sys_tick += (SysTi...