擅长:python、mysql、java
<p>我发现错误在我调用子进程中。在</p>
<p>我用的是:</p>
<pre><code>command_line = r"screenshot-cmd -wt '" + windowName + ...."
args = shlex.split(command_line)
subprocess.call(args,shell=True)
</code></pre>
<p>将此更改为:</p>
^{pr2}$
<p>解决了这个问题。在</p>
<p>奇怪的是,这两个选项在不在wx按钮单击事件(即从命令行启动的python脚本)中工作时都有效,但只有第二个选项在wx按钮单击事件中工作。
如果有人能告诉我为什么我会非常感激。在</p>
<p>编辑:
经过进一步调查,挂起是由于试图在截图cmd中指定活动窗口造成的。在</p>
<p>为了解决这个问题,我用
windowRect=win32gui.GetWindowRect(win32图形用户界面())</p>
<p>然后在不指定窗口的情况下使用screenshot cmd。在</p>
<p>这解决了所有的问题,尽管还不清楚为什么这会导致问题</p>