c# - 在 Windows 中覆盖的透明窗口应用程序

标签 c# wpf windows

我想编写一个应用程序来处理某些用户操作。

应用程序将始终是透明的,应该可以点击。因此,后面的窗口将被看到,并且当透明应用程序被点击时,我应该能够点击后面的窗口。我只想在我的透明应用程序中处理某些用户操作(如双击)。

这有可能实现吗?任何准则表示赞赏。

最佳答案

您可以从您的应用程序中制作虚假的窗口点击:

[DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
   public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);

   private const int MOUSEEVENTF_LEFTDOWN = 0x02;
   private const int MOUSEEVENTF_LEFTUP = 0x04;
   private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
   private const int MOUSEEVENTF_RIGHTUP = 0x10;

private void Form_MouseClick(object sender, MouseEventArgs e)
{
   this.Hide();
   Point p = this.PointToScreen(e.Location);
   mouse_event(MOUSEEVENTF_LEFTDOWN , p.X, p.Y, 0, 0);
   mouse_event(MOUSEEVENTF_LEFTUP, p.X, p.Y, 0, 0);
   this.Show();//since this.opacity = 0; form will never be really visible
}

现在双击你可以设置任何你想要的。

关于c# - 在 Windows 中覆盖的透明窗口应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500563/

相关文章:

javascript - 通过 JQuery 打开新的浏览器窗口不通过参数发送所有值

c# - 第二次在ideablade中动态设置服务器地址?

MVVM 中的 C# WPF 嵌套列表

c++ - 使用 SEH(结构化异常处理)时观察到的不同行为

windows - 当使用堆栈构建时,有没有办法在 powershell 终端上正确格式化 GHC 错误消息?

c# - 如何访问 NSMutableArray 索引 Xamarin.ios

C# ASPX ASP.NET - 添加和删除表行

C# 移动折线

python - 无法确定 R 库路径

c# - 如何检查 Windows 当前是否显示忙碌光标?