繁体   English   中英

是否可以在 C# 的 mouse_event 中使用双精度值?

[英]Is it possible to use a double value in mouse_event in C#?

我需要使用 double 类型的值并将鼠标移动给定值。 不幸的是 double 与 mouse_event 不兼容,只有 int 兼容。 在 C++ 和 AHK 中,它没有任何问题。 是否可以以任何方式在 mouse_event 中使用 double 或任何允许十进制数字的值? 我试着编辑

public static extern void mouse_event(uint dwFlags, int dx, int dy, uint dwData, int dwExtraInfo);

public static extern void mouse_event(uint dwFlags, double dx, double dy, uint dwData, int dwExtraInfo);

然后鼠标立即转到屏幕的左下角,因此此解决方案不起作用。 我也尝试将值转换为 INT 类型,但它没有移动,因为转换后的值设置为 0。

你不能。 函数签名是固定的,你不能仅仅因为它而改变它。

如果要使用小数值排序,请在MOUSEEVENTF_ABSOLUTE模式下操作该函数。 只要您的显示器宽度或高度小于 65536 像素,这允许您以亚像素精度传递坐标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM