我尝试以另一个用户身份启动应用,这很有效,创建了流程,但我不知道如何处理创建的流程,就像我通常使用comtypes或win32com(COM)一样接口),这是脚本:
import win32process
import win32security
import win32con
import cgi
import cgitb; cgitb.enable()
domain = '.'
username = 'me'
password = 'mypwd'
try:
token = win32security.LogonUser (
username,
domain,
password,
win32security.LOGON32_LOGON_NETWORK,
win32security.LOGON32_PROVIDER_DEFAULT
)
except win32security.error:
print "Failed"
else:
appname = "C:/path/to/app.exe"
startup = win32process.STARTUPINFO()
priority = win32con.NORMAL_PRIORITY_CLASS
handle, thread_id ,pid, tid = win32process.CreateProcessAsUser(token, appname, None, None, None, True, priority, None, None, startup)
通常,当我不需要以另一个用户身份运行该流程时,我会使用(例如使用win32com):
import win32com.client
app = win32com.client.Dispatch("app.Application")
然后我可以使用app
对象
作为同一个图书馆,我想我可以使用handle
或thread_id
以及win32com.client
保持相同的用户,但我找不到任何内容,你能做些什么吗?请帮帮我。