首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FindWindow失败

FindWindow失败
EN

Stack Overflow用户
提问于 2012-10-12 10:42:23
回答 1查看 2.2K关注 0票数 4

我在使用FindWindow扩展pywin32时遇到了麻烦。简单C代码:

代码语言:javascript
复制
int main()
{
  HWND h = FindWindow(NULL, TEXT("SomeApp"));
  if (h != INVALID_HANDLE_VALUE)
      SetForegroundWindow(h);
  return 0;
}

效果很好。python也是如此:

代码语言:javascript
复制
import win32gui

h = win32gui.FindWindow(None, "SomeApp")
if h:
    win32gui.SetForegroundWindow(h)
else:
    print "SomeApp not found"

失败,SomeApp未找到。我建议文本编码可能会在这里造成麻烦,但在文档中找不到如何指定文本的任何信息。

更新:--我在其他机器上测试过代码,没有发现任何问题。因此,我的第一台计算机上的配置应该是不正确的。如果发现问题我会更新我的调查结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-13 12:21:41

在C代码中,您正在检查h != INVALID_HANDLE_VALUE,在Python h != None中。0/null/None.不是INVALID_HANDLE_VALUE

Python通过win32file.INVALID_HANDLE_VALUE导入定义win32file

此外,与打印“未找到的SomeApp”相比,您还可以执行以下操作:

代码语言:javascript
复制
gle = win32api.GetLastError()
err = win32api.FormatMessage(gle)[:-2]
print 'SomeApp not found: LastError=%d - %s' % (gle, err)

这将为您提供更多关于如果FindWindow由于某种原因而合法失败的失败的详细信息(或者“成功”,如果它有效)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12857300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档