Alex
Alex

Reputation: 295

Start process on the other desktop, Python, Windows

I have created second desktop

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


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

How can I start a process, say, calc.exe on the desktop "ABCD2"?

Upvotes: 3

Views: 2637

Answers (1)

user1129665
user1129665

Reputation:

You can set the STARTUPINFO.lpDesktop to the name of that desktop:

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)

Upvotes: 3

Related Questions