在 C# 中,您可以使用 System.Windows.Forms.Cursor
类中的 Hide()
方法隐藏光标或鼠标指针,以及使用 WindowFromPoint
方法获取鼠标当前位置的窗口。但需要注意的是,Hide()
方法是隐藏光标,而不是光标所在的窗口。
为了获取活动窗口的标题,您可以使用 WindowFromPoint
方法,将其结合使用 System.Windows.Forms.Cursor
类中的 Show()
方法将隐藏的光标重新显示出来。
using System.Windows.Forms;
public class clsWindowInfo
{
public string windowTitle { get; set; }
public clsWindowInfo(IntPtr hwnd)
{
Win32.GetWindowText(hwnd, out windowTitle);
}
}
public static void Main()
{
Win32.POINT lpPoint = new Win32.POINT();
Win32.GetCursorPos(out lpPoint);
IntPtr hWnd = Win32.WindowFromPoint(lpPoint);
Win32.GetClassName(hWnd, out Win32.clsWindowInfo info);
windowTitle = info.windowTitle;
}
public static class Win32
{
static Win32()
{
WNDCLASSEX wcex = new WNDCLASSEX();
// ... 添加 WNDCLASSEX 成员变量。
}
[DllImport("user32.dll")]
public static extern IntPtr GetWindowText(IntPtr hWnd, StringBuilder lpBuffer, int nMaxCount);
[DllImport("user32.dll")]
public static extern bool GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
}
public struct POINT
{
public int X;
public int Y;
}
}
上面的代码将显示当前活动窗口的标题,同时该标题将始终保持在活动窗口上,直到窗口活动状态变化。
云+社区技术沙龙[第10期]
云+社区技术沙龙[第21期]
腾讯技术开放日
136届广交会企业系列专题培训
云+社区技术沙龙[第28期]
腾讯技术开放日
开箱吧腾讯云
Techo Youth高校公开课
Hello Serverless 来了
领取专属 10元无门槛券
手把手带您无忧上云