2

我只是想知道,是否有某种方法可以使程序(或程序的一部分)与 c# 无形。我想让人们可以看到程序在那里,但如果他们要点击,它会点击它下面的任何东西。我也想知道你是否可以这样做。有没有办法制作一个不可见的、可点击的项目?

谢谢您的帮助!

4

3 回答 3

1

对于你模糊的问题,我提供一个模糊的回答:

听起来您的选项之一是可能的。您需要将收到的点击事件(消息)发送到相应的窗口(在您下方的窗口)。我怀疑你必须从 C# 中 DllImport 一些东西才能做到这一点。

您的选项二虽然更困难,但可能也是可能的,因为您可以将代码注入其他正在运行的可执行文件中。这将是一项特权操作,您可能再次需要使用非 .NET dll 中的内容从 c# 中执行此操作。请参阅CodeProject 上将代码注入另一个进程的三种方法。

于 2010-01-18T04:23:05.327 回答
0

如果您想向用户显示某些内容而不会妨碍他们当时正在做的事情,您也许可以从任务栏中以气泡的形式弹出消息?

这个问题的答案涵盖了这一点。或者如果你很懒,这里是代码项目链接。

于 2010-01-18T06:06:51.047 回答
0

好的,所以有时可能需要在屏幕上显示某些内容,而不是让它可点击(例如用于视频播放的屏幕显示以显示音量增加等)

这是如何在 C# 中执行此操作的示例 - 来自 codeproject: http: //www.codeproject.com/KB/cs/OSDwindow.aspx

这使用 Win32 APIShowWindow(hWnd, SW_SHOWNOACTIVATE)来呈现窗口而不会失去焦点(无法选择)。

这是此呼叫ShowWindow的 MSDN 页面

要显示不可见但可单击的窗口,您可以使用无边框的窗口 (FormBorderStyle=None) 并将透明度设置为 1%。

希望有帮助!

于 2010-01-18T07:54:51.840 回答