2016-06-03 7 views
0

Wirklich dumme Frage hier, tut mir leid - es ist mein erster Tag in Python.Importieren von ctypes.windll.shell32.IsUserAnAdmin gibt ImportError

Ich möchte wie so die 'IsUserAnAdmin' Funktion importieren:

from ctypes.windll.shell32 import IsUserAnAdmin 

Ich bin offensichtlich etwas falsch machen, weil ich erhalte:

ImportError: No module named 'ctypes.windll'

Alles funktioniert gut, wenn ich den Import Ich möchte diese Funktion nicht wirklich verwenden, da ich die Funktion lieber mit folgenden Funktionen aufrufen würde:

... als:

ctypes.windll.shell32.IsUserAnAdmin() 

Könnte mir jemand sagen, wie ich diese Funktion, dies zu tun werden, den Import sollte?

Vielen Dank im Voraus :)

Antwort

2

windll ist ein LibraryLoader Objekt keine module. Wenn Sie die docs lesen, werden Sie feststellen, der Import geschehen wie:

>>> from ctypes import * 
>>> print windll.Shell32.IsUserAnAdmin() 
0 

windll = LibraryLoader(WinDLL) wo WinDLL ist eine Klasse, deren doc lautet:

This class represents a dll exporting functions using the Windows stdcall calling convention.

So können Sie tun:

>>> IsUserAnAdmin = WinDLL('Shell32').IsUserAnAdmin 
>>> IsUserAnAdmin() 
0 
Verwandte Themen