想做乙個能夠獲取滑鼠的螢幕座標的程式,最初使用form的mousemove事件響應函式,接著問題出現了。由於form的所有滑鼠事件響應函式要求滑鼠必須在form窗體內操作才能觸發,而我的要求是滑鼠在螢幕上任何位置移動都能顯示滑鼠的座標。因此只能另外想別的辦法了。
最後借助timer(計時器)可以很好地解決問題。使用mouseposition獲取螢幕座標,並借助timer來動態更新顯示滑鼠座標。滑鼠所在位置的螢幕顏色則通過win32函式來實現。
[dllimport("user32.dll")]//取裝置場景
private static extern intptr getdc(intptr hwnd);//返回裝置場景控制代碼
[dllimport("gdi32.dll")]//取指定點顏色
private static extern int getpixel(intptr hdc, point p);
private void form1_load(object sender, eventargs e)
private void tim_tick(object sender, eventargs e)
}
c 獲取滑鼠位置的顏色
基本思路 由於從dc中獲取顏色的方法有一定的問題,有些情況下不能很好的支援。所以採用影象的方式。1 從螢幕上獲取螢幕的影象。2 從影象上獲取座標點的顏色。話不多說,直接上 public partial class form1 form private void button1 click objec...
C 動態獲取滑鼠位置的顏色
像螢幕取色工具那樣,該如何獲取該座標,該點的顏色值呢,這裡還是利用原生態的api方法來實現。api宣告 獲取指定視窗的裝置場景 將獲取其裝置場景的視窗的控制代碼。若為0,則要獲取整個螢幕的dc 指定視窗的裝置場景控制代碼,出錯則為0 dllimport user32.dll public stati...
C 動態獲取滑鼠位置的顏色
api宣告 獲取指定視窗的裝置場景 將獲取其裝置場景的視窗的控制代碼。若為0,則要獲取整個螢幕的dc 指定視窗的裝置場景控制代碼,出錯則為0 dllimport user32.dll public static extern intptr getdc intptr hwnd 釋放由呼叫getdc函式...