summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2016-09-28 14:07:01 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2016-09-28 14:07:01 (GMT)
commitde55c612fb3176fad9dd4b17906a03baa487b5e1 (patch)
tree9209ac4a9562cc4a1b38814ae89f1c6fae0204c2
parent0c6974d9349d590bfefdcb339a0666f8182b5881 (diff)
downloadcpython-de55c612fb3176fad9dd4b17906a03baa487b5e1.zip
cpython-de55c612fb3176fad9dd4b17906a03baa487b5e1.tar.gz
cpython-de55c612fb3176fad9dd4b17906a03baa487b5e1.tar.bz2
Issue #21903: Update ctypes example to use MessageBoxW
-rw-r--r--Doc/library/ctypes.rst20
1 files changed, 9 insertions, 11 deletions
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index 072d61e..7550f4d 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -1665,32 +1665,30 @@ different ways, depending on the type and number of the parameters in the call:
The optional third item is the default value for this parameter.
-This example demonstrates how to wrap the Windows ``MessageBoxA`` function so
+This example demonstrates how to wrap the Windows ``MessageBoxW`` function so
that it supports default parameters and named arguments. The C declaration from
the windows header file is this::
WINUSERAPI int WINAPI
- MessageBoxA(
+ MessageBoxW(
HWND hWnd,
- LPCSTR lpText,
- LPCSTR lpCaption,
+ LPCWSTR lpText,
+ LPCWSTR lpCaption,
UINT uType);
Here is the wrapping with :mod:`ctypes`::
>>> from ctypes import c_int, WINFUNCTYPE, windll
- >>> from ctypes.wintypes import HWND, LPCSTR, UINT
- >>> prototype = WINFUNCTYPE(c_int, HWND, LPCSTR, LPCSTR, UINT)
- >>> paramflags = (1, "hwnd", 0), (1, "text", "Hi"), (1, "caption", None), (1, "flags", 0)
- >>> MessageBox = prototype(("MessageBoxA", windll.user32), paramflags)
- >>>
+ >>> from ctypes.wintypes import HWND, LPCWSTR, UINT
+ >>> prototype = WINFUNCTYPE(c_int, HWND, LPCWSTR, LPCWSTR, UINT)
+ >>> paramflags = (1, "hwnd", 0), (1, "text", "Hi"), (1, "caption", "Hello from ctypes"), (1, "flags", 0)
+ >>> MessageBox = prototype(("MessageBoxW", windll.user32), paramflags)
-The MessageBox foreign function can now be called in these ways::
+The ``MessageBox`` foreign function can now be called in these ways::
>>> MessageBox()
>>> MessageBox(text="Spam, spam, spam")
>>> MessageBox(flags=2, text="foo bar")
- >>>
A second example demonstrates output parameters. The win32 ``GetWindowRect``
function retrieves the dimensions of a specified window by copying them into