簡體   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