我想使用某个函数AnimateWindow()(来自API Windows函数)执行Python中以下代码的操作
var
hWind: HWND;
begin
Label1.Caption := 'function: AnimateWindow';
Label1.Font.Size := 15;
hWind := Form1.Handle;
If (AnimateWindow(hWind, 1500, AW_HIDE) = True) Then
Edit1.Text := 'Done'
Else
Begin
Edit1.Text := 'ERROR';
Edit2.Text := IntToStr(GetLastError());
End;
end;
我尝试了下面的代码,但没有工作
import win32gui
hwnd = win32gui.FindWindow(None, "Untitled - Notepad")
win32gui.AnimateWindow(hwnd, 1500,0x00010000, True)
bbox = win32gui.GetWindowRect(hwnd)
1条答案
按热度按时间xmakbtuz1#
问题:
1.* * 这不是[SO]: How to create a Minimal, Reproducible Example (reprex (mcve))(不包含预期和实际输出),因此人们必须猜测问题所在**
1.根据( Package )[MS.Learn]: AnimateWindow function (winuser.h)(强调是我的):
第一个月
类型:* HWND *
要动画的窗口的句柄。调用线程必须拥有此窗口。
因此,这可以在(线程或)进程拥有的窗口上完成(与使用任何窗口的其他函数(如 * ShowWindow *)相反(如果用户有足够的权限))。
我敢肯定,您的 * 记事本 * 窗口不符合标准,它很可能是独立于您的脚本启动的。
我准备了一个小例子。
在第2次运行期间,当窗口扩大("增长")时,拍摄了一张屏幕截图: