我有一个简单的程序,它在传递给 EnumChildWindows 的回调中使用 FindWindowEx 和 strncmp() 来查找由第三方应用程序创建的对话框,然后按下按钮。
这段代码在我的 Windows 7 Ultimate PC 上运行良好,但如果我在 Windows Server 2003 上运行它就不再工作了。
我使用了 Spy++,窗口标题和文本是相同的。关于 Server 2003,我是否遗漏了一些可能会破坏这一点的东西?(DEP 和 UAC 已关闭,这是一台测试 PC;我也在 RDP 会话中运行它)
这是我对 FindWindowEx 的调用:
parentWindow = FindWindowEx(NULL,NULL,NULL,(LPCSTR)caption);
标题是 (TCHAR[]) 常量。