gpt4 book ai didi

c# - 在其他人的窗口上覆盖文本 - HUD

转载 作者:行者123 更新时间:2023-11-30 15:49:30 34 4
gpt4 key购买 nike

我有兴趣在 VB.NET 中编写一个应用程序,在另一个应用程序上覆盖一个小的抬头显示 ( HUD )。这是什么例子?

我需要枚举所有打开的窗口来找到我想要的窗口,然后在窗口的特定位置覆盖一些文本。如果用户移动该窗口,我的文本将需要跟随。 (我可能会一遍又一遍地循环绘制文本)。

编辑:没有人回答我的原始查询 - 我将 C# 添加到关键字中以查看是否有任何使用该语言的专家可能有答案。

最佳答案

您可以使用 WinApi 枚举窗口。你可以开始谷歌搜索

[DllImport("user32.dll")]
public static extern int EnumWindows(EnumWindowsProc ewp, int lParam);

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetWindowRect(IntPtr hWnd, ref WapiRect lpRect);

当你找到你的窗口并拥有它的句柄时,用类似的东西在上面绘图是没有问题的

Graphics g = Graphics.FromHwnd(win.Handle);
g.FillRectangle(new SolidBrush(Color.White), 0, 0, 1000, 1000);

但是要覆盖... 一种可能的解决方案是创建自己的无边框形式(它甚至可以透明)并将您的文本放在上面。然后只需将此特殊表格放在另一个应用程序之上即可。

关于c# - 在其他人的窗口上覆盖文本 - HUD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1562863/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com