NetAutoGUI/WindowExtensions.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Diagnostics;
using System.Linq;
namespace NetAutoGUI
{
public static class WindowExtensions
{
/// <summary>
/// Translate the relative position to position on screen
/// </summary>
/// <param name="winX"></param>
/// <param name="winY"></param>
/// <param name="window"></param>
/// <returns></returns>
public static (int x, int y) WindowPosToScreen(this Window window, int winX, int winY)
{
return (winX + window.Rectangle.X, winY + window.Rectangle.Y);
}
/// <summary>
/// Move the mouse cursor to the specific location
/// </summary>
/// <param name="winX"></param>
/// <param name="winY"></param>
public static void MoveMouseTo(this Window window, int winX, int winY)
{
(int x, int y) = WindowPosToScreen(window, winX, winY);
GUI.Mouse.MoveTo(x, y);
}
/// <summary>
/// gradually move to the location, durationInSeconds is used for the duration (in seconds) the movement should take.
/// </summary>
/// <param name="winX"></param>
/// <param name="winY"></param>
/// <param name="durationInSeconds"></param>
/// <param name="tweeningType"></param>
public static void MoveMouseTo(this Window window, int winX, int winY, double durationInSeconds, TweeningType tweeningType = TweeningType.Linear)
{
(int x, int y) = WindowPosToScreen(window, winX, winY);
GUI.Mouse.MoveTo(x, y, durationInSeconds, tweeningType);
}
/// <summary>
/// simulates a single, left-button mouse click at the mouse’s current position.
/// </summary>
/// <param name="winX">move mouse to (x,y), then click the button</param>
/// <param name="winY"></param>
public static void Click(this Window window, int? winX = null, int? winY = null, MouseButtonType button = MouseButtonType.Left, int clicks = 1, double interval = 0)
{
if (winX != null && winY != null)
{
(int x, int y) = WindowPosToScreen(window, (int)winX, (int)winY);
GUI.Mouse.Click(x: x, y: y, button: button, clicks: clicks, interval: interval);
}
else
{
GUI.Mouse.Click(button: button, clicks: clicks, interval: interval);
}
后面还有 101 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。