Lightweight Python 3 API to access Windows COM Objects
Project description
arwcom
Lightweight Python 3 API to access Windows COM Objects
Developer Configuration
Configure VS Code for Microsoft C++
References
Python Bindings Libraries
-
- Access to many of the Windows APIs from Python
-
- Python COM Extensions, example:
xl = win32com.client.Dispatch("Excel.Application")
- Python COM Extensions, example:
-
- Lightweight Python COM package, based on the ctypes_FFI library, in less than 10000 lines of code (not counting the tests).
-
- Pure python package using
from ctypes import windll, wintypes, byref, FormatError, WinError
- Pure python package using
-
- Patch for combase.dll
_ole32 = _ffi.dlopen('ole32')
and_combase.CoUninitialize()
- Patch for combase.dll
-
Python ctypes.OleDLL() Examples
- General examples of using
ctypes.OleDLL
- General examples of using
-
- Example of finding a DLL in C2R version of COM object and get a COM object
-
- Supported:
LIBTYPES = ['cdll', 'windll', 'oledll', 'net', 'clr', 'java', 'com', 'activex']
- Supported:
-
- Unit tests for Windows COM threading mode initialization by mocking pythoncom.CoInitializeEx
-
CoInitializeEx = windll.ole32.CoInitializeEx
-
- Manual
pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED)
andpythoncom.CoUninitialize()
- Manual
-
- pywin32-stubs is generated from pywin32.chm
-
- Reversing a binary calling the CoCreateInstance function from the OLE32.DLL library
- https://reverseengineering.stackexchange.com/questions/2822/com-interface-methods/2823#2823
-
ea_cocreateinstance = find_import("ole32", "CoCreateInstance") or find_import("api-ms-win-core-com-l1-1-0", "CoCreateInstance")
Other language bindings to COM
C/C++ Examples
- Fastboi
- A lightweight and simple C++20 game engine written over SDL2. It implements a basic component model and event system.
- Win32batch-GokhleSir
- COM, Class factory, Containment, Aggregation, Automation, etc.
- CommeCOM
- Header-only library providing basic means for working with "comme" (like) COM objects - querying interfaces and acccessing functionality from dynamically loaded plug-ins (DLLs or shared objects)
- EasyOLE: C/C++ OLE Automation Client Library
- Ease the development of OLE Automation Clients in C/C++ handling the internal not-so-friendly aspects of COM interfaces
- OLEVIEW Sample: ActiveX Object Viewer
- Illustrates how to implement ActiveX Object viewers through custom ActiveX interfaces
- MapWinGis
Writing COM Applications
- OLE Component Object Model
- General overview of COM
- Get Started with Win32 and C++
- Write a desktop program in C++ using Win32 and COM APIs
- COM Clients and Servers
- Getting a Pointer to an Object, COM Glossary, etc.
- Active Template Library (ATL) Concepts
- Active Template Library (ATL) is a set of template-based C++ classes that let you create small, fast Component Object Model (COM) objects
- CComPtr Class from atlbase.h
COM API Reference
- Windows System Services APIs
- COM, COM+
- Component Object Model (COM)
- Overview of the Component Object Model (COM) technology, header files, methods e.g. IUnknown interface (unknwn.h)
Books
- Essential COM by Don Box
- Atl Internals by Brent Rector
- Inside COM by Dale Rogerson
- Inside COM+ by Guy Eddon and Henry Eddon https://thrysoee.dk/InsideCOM+/ch03b.htm
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
arwcom-0.1.0.tar.gz
(18.0 kB
view details)
Built Distribution
arwcom-0.1.0-py3-none-any.whl
(19.0 kB
view details)
File details
Details for the file arwcom-0.1.0.tar.gz
.
File metadata
- Download URL: arwcom-0.1.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.8.11 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db00aed0a90277904e05ae24a18ae3c6d29679d42d5ab91f4dc5df875f8eacf6 |
|
MD5 | 0d8243a1e8148d9330f0677eca36f624 |
|
BLAKE2b-256 | 3e272fd923ff0a9f0b8c4ffde3d643a6104fcee40c180a78dc1dad97b0e08603 |
File details
Details for the file arwcom-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: arwcom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.8.11 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d78d23e046c3588b4f30cf71199bfa0042a5a9c4fdcb80af9801d4c3da972fdd |
|
MD5 | 0a9e4c29d9d22cd2b42089bbec0d8ab1 |
|
BLAKE2b-256 | f1ceea6035a1f74628350cf7768d37f445bcc6070ad2331670bd032485d0540a |