Python win32 com: как обработать параметр?

В дополнение к ответу @modiX, это то, что работает ... НЕ ОСТАВЛЯЙТЕ ЭТО как пустое

today.toLocaleDateString("default", {year: "numeric", month: "2-digit", day: "2-digit"})
5
задан grigoryvp 30 June 2009 в 07:00
поделиться

2 ответа

Так как это параметры out, не могли бы вы просто сделать следующее?

Framebuffer, XOrigin, YOrigin = display.getFrameBuffer(ScreenId)

Есть несколько хороших ссылок в Программирование Python на Win32 Глава 12 Расширенный Python и COM

И они указывают, что синтаксис должен быть таким, как указано выше. Они также упоминают об использовании MakePy для COM-объектов:

Существует ряд веских причин для использования MakePy: (скопировано из книги)

  • Интерфейс Python для объектов автоматизации быстрее для объектов, поддерживаемых модулем MakePy.

  • Любые определенные константы библиотекой типов доступны для программы Python. Мы обсудим константы COM более подробно позже в этой главе.

  • Гораздо лучшая поддержка расширенных типов параметров, в частности, параметры, объявленные COM как BYREF, могут использоваться только с объектами, поддерживаемыми MakePy. Мы обсудим параметры передачи позже в этой главе.

8
ответ дан 13 December 2019 в 19:33
поделиться

Используйте ] makepy модуль, вызывая его следующим образом:

>>> import win32com.client.makepy as makepy
>>> makepy.main()

Откроется окно со списком библиотек типов. Прокрутите до «Библиотеки типов виртуальных ящиков» и выберите ее, затем нажмите «ОК». Модуль Python будет создан в распечатанном месте (обычно % TEMP% \ gen_py \ 2.x \ ).

Созданный класс будет автоматически использоваться win32com.client .Dispatch , но если он вам явно нужен, вы можете получить к нему доступ через функции в win32com.client.

3
ответ дан 13 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: