我有下面的代码,并且知道它用于将鼠标光标移动到屏幕上的特定点。
我不明白的是为什么 X 和 Y 坐标必须乘以 65535 并除以屏幕大小。
它与从浮点型到整数类型的转换有什么关系吗?
public void MoveMouse(PointF p)
{
if (IntPtr.Size == 8)
{
var move = new INPUT64[1];
move[0] = new INPUT64();
move[0].mi.dx = (int)(p.X * 65535 / ScreenSize.Width);
move[0].mi.dy = (int)(p.Y * 65535 / ScreenSize.Height);
move[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE;
SendInput(1, move, Marshal.SizeOf(move[0]));
}
else
{
var move = new INPUT32[1];
move[0] = new INPUT32();
move[0].mi.dx = (int)(p.X * 65535 / ScreenSize.Width);
move[0].mi.dy = (int)(p.Y * 65535 / ScreenSize.Height);
move[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | …
Run Code Online (Sandbox Code Playgroud) 我正在学习C#,我看到的示例程序我找到了这样的代码:
static CalibrationForm form = null;
Run Code Online (Sandbox Code Playgroud)
还有这个
public static void HideCalibration()
{
form.Hide();
form.Dispose();
form = null;
}
Run Code Online (Sandbox Code Playgroud)
表单应该设置为null是否有任何特殊原因?
表单的含义是什么设置为null?