我有一个使用FindWindowEx& amp;的简单程序。 strncmp()在传递给EnumChildWindows的回调中,找到第三方应用程序创建的对话框,然后按一个按钮。
此代码在我的Windows 7 Ultimate PC上运行正常,但如果我在Windows Server 2003上运行它就不再有效了。
我使用过Spy ++,窗口标题和文字是相同的。有没有关于Server 2003的东西可能会破坏这个? (DEP和UAC关闭,这是一个测试PC;我也在RDP会话中运行它)
这是我对FindWindowEx的调用:
parentWindow = FindWindowEx(NULL,NULL,NULL,(LPCSTR)caption);
标题是(TCHAR [])常量。
答案 0 :(得分:1)
第三方应用程序是服务吗? Windows服务可以在与通过RDP登录的用户不同的会话下运行,因此由交互式服务创建的UI将出现在不同的窗口站(因此是不同的桌面,这就是您无法找到它的原因)。 / p>
答案 1 :(得分:0)
解决。
@sebf:2011年;支持Unicode,白痴!