【问题标题】:How to call windows api (FindWindow) in an apache cgi application?如何在 apache cgi 应用程序中调用 windows api (FindWindow)?
【发布时间】:2016-05-10 21:04:59
【问题描述】:

我有一个在 Windows 下通过 Apache 运行的本地编译的 cgi 应用程序。该应用程序运行良好。在 windows 7、windows 8、windows server 2003 中测试。

我正在尝试通过FindWindow winapi 获取 Windows 句柄,但返回始终为 0。

在控制台应用程序中使用相同的参数调用 FindWindow 可以正常工作(返回正确的窗口句柄)

是否存在阻止 FindWindow 工作的 Apache cgi 进程的任何特殊性?

有解决办法吗?

【问题讨论】:

  • 进程是否在服务中运行?
  • 没有。它是一个独立的应用程序。每次向 apache 发出请求时都会创建一个进程。但是 Apache 是作为服务运行的
  • 您在会话 0 中搜索的窗口是什么?
  • 没有。该窗口是一个桌面应用程序,我认为问题在于 apache 创建了 cgi 进程,并且由于 apache 作为服务运行,因此该函数不会从桌面返回窗口,如 stackoverflow.com/questions/340122/… 中所述,您的提示对于找到原因很有价值跨度>

标签: windows apache winapi cgi


【解决方案1】:

窗口位于交互式桌面中。 CGI 进程从 Apache 服务调用并在会话 0 中的非交互式桌面中运行。因此对 FindWindow 的调用无法看到目标窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2023-01-03
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多