社区
C语言
帖子详情
获得鼠标再屏幕上的位置(point(x,y)),用那个API>?
xiayule
2003-10-10 01:05:19
最好给段代码。
...全文
20
3
打赏
收藏
获得鼠标再屏幕上的位置(point(x,y)),用那个API>?
最好给段代码。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiayule
2003-10-10
打赏
举报
回复
GetPixel()
xiayule
2003-10-10
打赏
举报
回复
还有获取某一点颜色的aPI函数:谢谢
little_sheep
2003-10-10
打赏
举报
回复
BOOL GetCursorPos(LPPOINT)
【VS2010 C# 代码】实时监控
鼠标
位置
和左键点击时的
位置
Microsoft Visual Studio 2010做的C#实时监控
鼠标
位置
和左键点击时的
位置
实例,主要代码: public class MouseHook { private
Point
point
; private
Point
Point
{ get { return
point
; } set { if (
point
!= value) {
point
= value; if (MouseMoveEvent != null) { var e = new MouseEventArgs(MouseButtons.None, 0,
point
.X,
point
.Y, 0); MouseMoveEvent(this, e); } } } } private int hHook; private const int WM_LBUTTONDOWN = 0x201; public const int WH_MOUSE_LL = 14; public Win32
Api
.HookProc hProc; public MouseHook() { this.
Point
= new
Point
(); } public int SetHook() { hProc = new Win32
Api
.HookProc(MouseHookProc); hHook = Win32
Api
.SetWindowsHookEx(WH_MOUSE_LL, hProc, IntPtr.Zero, 0); return hHook; } public void UnHook() { Win32
Api
.UnhookWindowsHookEx(hHook); } private int MouseHookProc(int nCode, IntPtr wParam, IntPtr lParam) { Win32
Api
.MouseHookStruct MyMouseHookStruct = (Win32
Api
.MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(Win32
Api
.MouseHookStruct)); if (nCode < 0) { return Win32
Api
.CallNextHookEx(hHook, nCode, wParam, lParam); } else { if (MouseClickEvent != null) { MouseButtons button = MouseButtons.None; int clickCount = 0; switch ((Int32)wParam) { case WM_LBUTTONDOWN: button = MouseButtons.Left; clickCount = 1; break; } var e = new MouseEventArgs(button, clickCount,
point
.X,
point
.Y, 0); MouseClickEvent(this, e); } this.
Point
= new
Point
(MyMouseHookStruct.pt.x, MyMouseHookStruct.pt.y); return Win32
Api
.CallNextHookEx(hHook, nCode, wParam, lParam); } } public delegate void MouseMoveHandler(object sender, MouseEventArgs e); public event MouseMoveHandler MouseMoveEvent; public delegate void MouseClickHandler(object sender, MouseEventArgs e); public event MouseClickHandler MouseClickEvent; }
C#模拟
鼠标
操作(移动 单击 双击等很多操作)
Win
API
-Wrapper 模拟
鼠标
点击 用于模拟
鼠标
移动、点击、窗口操作等的Windows
API
包装器类。
API
下面是一些可用的方法的总结。有更多的方法和类,比下面列出的要多,但目的是要大致了解包装器能做什么。要查看关于特定方法的详细信息和参数的详细信息,请查看代码本身,因为它的注释很好。 Mouse.cs public static void LeftClick(); public static void RightClick(); public static void MiddleClick(); public static void LeftDown(); public static void LeftUp(); public static void RightDown(); public static void RightUp(); public static void MiddleDown(); public static void MiddleUp(); public static void Move(int x, int y); public static void LeftDrag(
Point
point
1,
Point
point
2, int interval, int lag); Window.cs public static bool DoesExist(string windowTitle); public static IntPtr Get(string windowTitle); public static IntPtr GetFocused(); public static void SetFocused(IntPtr hWnd); public static bool IsFocused(IntPtr hWnd); public static void Move(IntPtr hWnd, int x, int y); public static void Resize(IntPtr hWnd, int width, int height); public static void Hide(IntPtr hWnd); public static void Show(IntPtr hWnd); public static Rectangle GetDimensions(IntPtr hWnd); public static Size GetSize(IntPtr hWnd); public static
Point
GetLocation(IntPtr hWnd); public static string GetTitle(IntPtr hWnd); public static void SetTitle(IntPtr hWnd, string title); public static void Maximize(IntPtr hWnd); public static void Minimize(IntPtr hWnd); public static void Normalize(IntPtr hWnd); public static Bitmap Screenshot(IntPtr hWnd); public static void RemoveMenu(IntPtr hWnd); public static void Close(IntPtr hWnd); public static void DisableCloseButton(IntPtr hWnd); public static void DisableMaximizeButton(IntPtr hWnd); public static void DisableMinimizeButton(IntPtr hWnd); public static void EnableMouseTransparency(IntPtr hWnd); public static
Point
ConvertToWindowCoordinates(IntPtr hWnd, int x, int y); public static
Point
GetCoordinateRelativeToWindow(IntPtr hWnd); Desktop.cs public static Bitmap Screenshot(); public static void HideTaskBar(); public static void ShowTaskBar(); public static int GetWidth(); public static int GetHeight(); 使用 在windows
api
文件夹中编译代码会产生一个.dll文件。任何引用这个.dll的ccode都可以使用包装器。
Point
Net++点云处理TensorFlow版
(2)在Ubuntu系统上演示使用
Point
Net++进行三维点云的物体分类、部件分割和场景语义分割的训练和测试; (3)详解
Point
Net++的原理、程序代码和实现细节,并使用PyCharm进行Debug调试代码和单步跟踪。
【VS2010 C# 代码】获取
鼠标
所在
位置
的窗口句柄名称和文字及
位置
Microsoft Visual Studio 2010做的C#获取
鼠标
所在
位置
的窗口句柄名称和文字及
位置
实例,主要代码: [StructLayout(LayoutKind.Sequential)]//定义与
API
相兼容结构体,实际上是一种内存转换 public struct
POINT
API
{ public int X; public int Y; } [DllImport("user32.dll", Entry
Point
= "GetCursorPos")]//获取
鼠标
坐标 public static extern int GetCursorPos( ref
POINT
API
lp
Point
); [DllImport("user32.dll", Entry
Point
= "WindowFrom
Point
")]//指定坐标处窗体句柄 public static extern int WindowFrom
Point
( int x
Point
, int y
Point
); [DllImport("user32.dll", Entry
Point
= "GetWindowText")] public static extern int GetWindowText( int hWnd, StringBuilder lpString, int nMaxCount ); [DllImport("user32.dll", Entry
Point
= "GetClassName")] public static extern int GetClassName( int hWnd, StringBuilder lpString, int nMaxCont ); [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool GetWindowRect(IntPtr hWnd, ref RECT lpRect); [StructLayout(LayoutKind.Sequential)] public struct RECT { public int Left; //最左坐标 public int Top; //最上坐标 public int Right; //最右坐标 public int Bottom;//最下坐标 }
【VS2010 C# 代码】实时监听
鼠标
位置
Microsoft Visual Studio 2010做的C#简单的实时监听
鼠标
位置
实例,主要代码: public class Win32
Api
{ [StructLayout(LayoutKind.Sequential)] public class
POINT
{ public int x; public int y; } [StructLayout(LayoutKind.Sequential)] public class MouseHookStruct { public
POINT
pt; public int hwnd; public int wHitTestCode; public int dwExtraInfo; } public delegate int HookProc(int nCode, IntPtr wParam, IntPtr lParam); //安装钩子 [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId); //卸载钩子 [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern bool UnhookWindowsHookEx(int idHook); //调用下一个钩子 [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern int CallNextHookEx(int idHook, int nCode, IntPtr wParam, IntPtr lParam); }
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章