在另一个桌面上启动进程,Python,Windows

3 投票
1 回答
2519 浏览
提问于 2025-04-18 06:44

我创建了第二个桌面

import win32api, win32con, win32gui, win32service, win32process
import pywintypes
import traceback, thread, time, cStringIO


k = win32service.CreateDesktop("ABCD2", 0, win32con.MAXIMUM_ALLOWED, None)

我该怎么在“ABCD2”这个桌面上启动一个程序,比如说计算器 calc.exe 呢?

1 个回答

3

你可以把 STARTUPINFO.lpDesktop 设置为那个桌面的名字:

import win32api, win32con, win32gui, win32service, win32process
#import pywintypes
#import traceback, thread, time, cStringIO


hDesktop = win32service.CreateDesktop("ABCD2",
                                      0,
                                      win32con.GENERIC_ALL,
                                      None)

win32api.Sleep(500)
StartInfo = win32process.STARTUPINFO()
StartInfo.lpDesktop = "ABCD2"

ProcInfo = win32process.CreateProcess(
    None,
    "mspaint.exe",
    None,
    None,
    True,
    win32con.NORMAL_PRIORITY_CLASS | win32con.CREATE_NEW_CONSOLE,
    None,
    None,
    StartInfo)

撰写回答