代码之家  ›  专栏  ›  技术社区  ›  Ali Tarhini

如何在Windows中使用C++或VB.NET获取当前打开的应用程序?

  •  3
  • Ali Tarhini  · 技术社区  · 14 年前

    我需要当前打开的应用程序(显示在任务栏中的应用程序),而不是当前正在运行的进程。

    谢谢

    1 回复  |  直到 14 年前
        1
  •  4
  •   Matteo Italia    14 年前

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

    • 不可见窗口(检查 IsWindowVisible 函数或直接检查窗口是否具有ws_可见样式);
    • 具有扩展样式的窗口,除非它们也具有扩展样式。

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

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