Как выполнять вызовы Windows API в Python 3.1?

Кто-нибудь нашел версию pywin32 для python 3.x? Последняя доступная версия для 2.6.

В качестве альтернативы, как мне «свернуть свои собственные» вызовы Windows API в Python 3.1?


person Blorgbeard    schedule 29.06.2009    source источник


Ответы (2)


Для версии 3.0 доступен pywin32. Python 3.1 был выпущен два дня назад, поэтому, если вам нужен pywin32, вам нужно либо немного подождать, либо скомпилировать их из исходников.

http://sourceforge.net/project/showfiles.php?group_id=78018&package_id=79063

person Lennart Regebro    schedule 29.06.2009
comment
Ах я вижу! Кажется, я не понимаю прочитанного (этот проект сейчас размещен на sourceforge - могут быть доступны более поздние версии, чем указаны на этой странице) - person Blorgbeard; 30.06.2009

Вы должны быть в состоянии делать все с ctypes, хотя и немного громоздко.

Вот пример получения папки «общие данные приложения»:

from ctypes import windll, wintypes

_SHGetFolderPath = windll.shell32.SHGetFolderPathW
path_buf = wintypes.create_unicode_buffer(255)
csidl = 35
_SHGetFolderPath(0, csidl, 0, 0, path_buf)
print(path_buf.value)

Результат:

C:\Documents and Settings\All Users\Application Data
person Ryan Ginstrom    schedule 29.06.2009
comment
Прохладный! Я тоже поиграю с этим. - person Blorgbeard; 30.06.2009