1

私が始めるとき

os.system('"runas /user:USERNAME "C:/Python27/python.exe shell.py""')

コンソールで何度も繰り返されます。

プログラムはWin7で使用されるため、UACを気にすることにつながるため、権利を昇格させるためにコンピューターの所有者からプログラムを起動する必要があります。

私は内部でプログラムを開始する方法で行くことに決めましたが、昇格された権限ですぐに終了しました。

このコードを使用しました

import os 
import sys
import win32com.shell.shell as shell 
ASADMIN = 'asadmin'
if sys.argv[-1] != ASADMIN: 
     script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN]) 
shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params) 

` しかし、私の場合、ShellExecuteEx で始まるものは何もありません。そして、ShellExecuteEx の代わりに、runas コマンドを使用して os.system を配置しました。これは、runas /user:USERNAME "C:/Python27/python.exe shell.py" のようなコンソール文字列で何度も繰り返されます。

import os
import sys
import win32com.shell.shell as sh    ASADMIN = '/user:@'
os.system('"runas /user:=@COMPANY_NAME "C:/Python27/python.exe shell.py""')
sys.exit(0)
if sys.argv[-1] != ASADMIN:
    script = os.path.abspath(sys.argv[0])
    params = ' '.join([ASADMIN] + ['c:\\Python27\\python.exe', script] + sys.argv[1:])
    sh.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
    sys.exit(0)

これは私のコードです。

4

0 に答える 0