<p>如果不想安装单独的模块,可以使用内置的<a href="https://docs.python.org/3/library/ctypes.html" rel="nofollow noreferrer">ctypes</a>模块。这个用法与上面接受的答案没有太大区别,只是您可以与dll本身交互,不必安装其他任何东西。</p>
<p>首先是代码:</p>
<pre><code>import ctypes
user32 = ctypes.WinDLL('user32')
SW_MAXIMISE = 3
hWnd = user32.GetForegroundWindow()
user32.ShowWindow(hWnd, SW_MAXIMISE)
</code></pre>
<p>现在的解释是:</p>
<ul>
<li>获取ctypes模块。</li>
<li>获取适当的运行时,使用<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548(v=vs.85).aspx" rel="nofollow noreferrer">Windows documentation</a>并在“需求”下查看以供参考。</li>
<li>将<code>SW_MAXIMISE</code>值设置为3,因为这是将窗口设置为最大值的值(在<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548(v=vs.85).aspx" rel="nofollow noreferrer">documentation</a>中指示)。</li>
<li><code>hWnd = user32.GetForegroundWindow()</code>检索前台窗口(位于所有其他窗口前面的窗口)-有关函数的完整说明,请参见<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms633505(v=vs.85).aspx" rel="nofollow noreferrer">here</a>。</li>
<li>使用<code>ShowWindow()</code>控制windows显示状态。这需要两个参数,窗口的句柄(上面定义为<code>hWnd</code>)和如何查看窗口(在<code>SW_MAXIMISE = 3</code>中设置为3)。您可以查看<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms633505(v=vs.85).aspx" rel="nofollow noreferrer">documentation</a>以获得各种选项的更完整列表。</li>
</ul>
<p>你当然可以把它放到一个函数中,使它易于使用。</p>
<hr/>
<p><strong>另一种方法:</strong></p>
<P>因为在这种情况下,不必担心跨平台,而是可以构建C或C++扩展。</p>
<p><em>好处:</em></p>
<ul>
<li>没有ctypes(有时值得考虑,请参见<a href="https://stackoverflow.com/questions/8067171/ctypes-vs-c-extension">answers to this question</a>)</li>
</ul>
<p><em>衰退:</em></p>
<ul>
<li>需要编译(因为它只在Windows上运行,所以只需要担心为x32位和x64位编译)</li>
<li><em>必须</em>是一个模块(即不能将其集成到一个文件中)</li>
<L>需要C或C++的最基本知识,也需要Python API本身</LI>
</ul>
<p>要调用的实际函数不应该那么困难:</p>
<pre><code>static PyObject * max_win(PyObject *self, PyObject *args) {
ShowWindow(GetForegroundWindow(), SW_MAXIMISE);
return Py_BuildValue(""); // Return nothing
}
</code></pre>
<p><sub>请注意,这只是所需实际代码的一部分</sub></p>