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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。