【问题标题】:open .exe file in specific size via python通过python打开特定大小的.exe文件
【发布时间】:2020-09-26 01:17:12
【问题描述】:

我正在尝试创建一个可以使用 win32process 以特定大小打开程序的按钮。 不知何故,我写的代码不起作用.. 我该如何完成这项工作?

from tkinter import *
from tkinter import filedialog
from tkinter.filedialog import *
from PIL import ImageTk,Image
import win32process


window=Tk()

def openfile():
    window.filename = askopenfilename(title="Open file", filetypes=(("exe files", "*.exe"),("all files", "*.*")))  
    startupinfo = win32process.STARTUPINFO()
    startupinfo.dwX = 10
    startupinfo.dwY = 20
    startupinfo.dwXSize = 600
    startupinfo.dwYSize = 100

    win32process.CreateProcess(
        None,
        window.filename,
        None,
        None,
        False,
        0,
        None,
        None,
        startupinfo
    )

OpeButton = Button(window, text="Open", command=openfile)#COMMAND=OPEN
OpeButton.pack()
OpeButton.place(relx = 0.52, rely = 0.5)

window.overrideredirect(1)
window.mainloop()

【问题讨论】:

  • 您手动启动程序后手动更改窗口大小?我问的是不是所有程序都允许调整到所有尺寸

标签: python winapi process window size


【解决方案1】:

您没有设置STARTUPINFOdwFlags 字段,因此dwX/dwYdwXSize/dwYSize 字段将被忽略。您需要添加这些标志才能使用这些字段:

startupinfo.dwFlags = win32process.STARTF_USEPOSITION | win32process.STARTF_USESIZE

但是,这仍然不能保证目标窗口实际上会处于指定的位置和大小。由目标进程自行决定是否支持STARTUPINFO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多