SORU
25 EYLÜL 2008, PERŞEMBE


Python bir betik içinden UAC yükseltme isteği?

Python senaryomu Vista dosyaları kopyalamak istiyorum. I cmd.exe normal bir pencere çalıştırdığınızda, bir hata oluşturulur, henüz dosyalar kopyalanır. Eğer "administator" ve sonra benim komut dosyasını çalıştırmak, sorunsuz çalışıyor. cmd.exe kaçarsam

Bu Kullanıcı Hesap Denetimini normalde birçok dosya sistemi eylemleri engellediği için mantıklı.

Orada, bir Python betiği içinde uzay yönetimi yükselme isteği çağırmak bir yolu (gibi bir şey bu diyaloglar "böyle ve böyle bir uygulama ihtiyacı Erişim Yöneticisi, TAMAM mı?")

Eğer bu mümkün değilse, senaryomu en azından düzgün bir şekilde başarısız kadar yüksek olmadığını tespit edebilen bir yolu var mı?

CEVAP
31 Temmuz 2012, Salı


Dguaraglia cevabı çalışan almak için biraz zaman aldı, diğerleri de zaman kazanmak için, burada bu fikri uygulamak için yaptım:

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)
    sys.exit(0)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • EminemMusic

    EminemMusic

    9 ŞUBAT 2007
  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010