.net - 如何使用c++或vb.net在windows中获取当前打开的应用程序?

标签 .net c windows

我需要当前打开的应用程序(那些出现在任务栏中的应用程序)而不是当前正在运行的进程。

谢谢

最佳答案

您需要枚举所有顶级窗口(使用EnumWindows 函数);你必须跳过:

  • 不可见窗口(查看IsWindowVisible函数的返回值或直接查看窗口是否为WS_VISIBLE风格);
  • 具有扩展样式 WS_EX_TOOLWINDOW 的窗口,除非它们也具有 WS_EX_APPWINDOW 扩展样式。

所有其他的应该是任务栏中显示的那些(here 是完整的故事)。

然后,如果你想获得拥有每个窗口的进程/线程,你可以使用GetWindowThreadProcessId功能。

关于.net - 如何使用c++或vb.net在windows中获取当前打开的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2125451/

相关文章:

c - 队列弹出一些垃圾值

c - 有没有更好的方法来编写这个函数?

windows - 使用特定 JRE 运行 JAR 文件

wpf - WPF到底是什么?

c# - AesManaged 的​​密码学设置和 secret 管理

c# - 使用 Process.Start 运行 C++ exe 与使用 CLR 包装 C++ 代码

c# - 为什么我收到错误 "Input string was not in a correct format"

c# - 如何在每个新页面上自动添加命名空间,控件添加到 VS2008 中的网站?

c - 条件 (C) 中的可能赋值

Windows 批处理变量不会设置