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
Metadata
Release files for arwcom 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arwcom-0.1.0.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arwcom-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.0 kB
Release files / arwcom-0.1.0.tar.gz
| Download URL | arwcom-0.1.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db00aed0a90277904e05ae24a18ae3c6d29679d42d5ab91f4dc5df875f8eacf6
|
|
BLAKE2b-256 checksum How to use checksums |
3e272fd923ff0a9f0b8c4ffde3d643a6104fcee40c180a78dc1dad97b0e08603
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.8.11 Windows/10
|
Release files / arwcom-0.1.0-py3-none-any.whl
| Download URL | arwcom-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d78d23e046c3588b4f30cf71199bfa0042a5a9c4fdcb80af9801d4c3da972fdd
|
|
BLAKE2b-256 checksum How to use checksums |
f1ceea6035a1f74628350cf7768d37f445bcc6070ad2331670bd032485d0540a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.8.11 Windows/10
|