C 獲取滑鼠在螢幕中的顏色和位置

2021-06-26 12:02:22 字數 712 閱讀 9211

想做乙個能夠獲取滑鼠的螢幕座標的程式,最初使用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函式...