Various pywin32 improvements (#11616)

This commit is contained in:
Avasam
2024-03-30 14:55:30 -04:00
committed by GitHub
parent 9d2f651818
commit f36714b0fb
14 changed files with 110 additions and 80 deletions
+6 -5
View File
@@ -1,8 +1,9 @@
# Can't generate with stubgen because `import pywintypes` must be called first.
# Otherwise you get the error: "KeyError: 'pywintypes'"
from _typeshed import Incomplete
from collections.abc import Sequence
from datetime import datetime
from typing import ClassVar, Literal, NoReturn, overload
from typing import ClassVar, Final, NoReturn, SupportsInt, overload
from typing_extensions import Never, TypeAlias, deprecated
import _win32typing
@@ -32,13 +33,13 @@ class TimeType(datetime): # aka: PyTime, PyDateTime
IIDType = _win32typing.PyIID
def DosDateTimeToTime() -> TimeType: ...
def DosDateTimeToTime(FatDate: int, FatTime: int, /) -> TimeType: ...
def Unicode() -> str: ...
def UnicodeFromRaw(_str: str, /) -> str: ...
def IsTextUnicode(_str: str, flags, /) -> tuple[Incomplete, Incomplete]: ...
def OVERLAPPED() -> _win32typing.PyOVERLAPPED: ...
def IID(iidString: str, is_bytes: bool = ..., /) -> _win32typing.PyIID: ...
def Time(timeRepr, /) -> TimeType: ...
def Time(timeRepr: SupportsInt | Sequence[SupportsInt] | TimeType, /) -> TimeType: ...
def CreateGuid() -> _win32typing.PyIID: ...
def ACL(bufSize: int = ..., /) -> _win32typing.PyACL: ...
def SID(buffer, idAuthority, subAuthorities, bufSize=..., /) -> _win32typing.PySID: ...
@@ -53,6 +54,6 @@ def TimeStamp(timestamp: tuple[int, int], /) -> TimeType: ...
@overload
def TimeStamp(timestamp: int, /) -> TimeType: ...
FALSE: Literal[False]
TRUE: Literal[True]
FALSE: Final = False
TRUE: Final = True
WAVE_FORMAT_PCM: int
+7 -7
View File
@@ -119,7 +119,7 @@ def GetProcAddress(hModule: int, functionName: _win32typing.PyResourceId, /): ..
def GetProfileVal(section: str, entry: str, defValue: str, iniName: str | None = ..., /) -> str: ...
def GetShortPathName(path: str, /) -> str: ...
def GetStdHandle(handle: int, /) -> _win32typing.PyHANDLE: ...
def GetSysColor(index, /): ...
def GetSysColor(index: int, /) -> int: ...
def GetSystemDefaultLangID(): ...
def GetSystemDefaultLCID(): ...
def GetSystemDirectory() -> str: ...
@@ -153,8 +153,8 @@ def LoadLibrary(fileName: str, /): ...
def LoadLibraryEx(fileName: str, handle: int, handle1, /) -> int: ...
def LoadResource(handle: int, _type: _win32typing.PyResourceId, name: _win32typing.PyResourceId, language, /) -> str: ...
def LoadString(handle: int, stringId, numChars: int = ..., /) -> str: ...
def MessageBeep(arg, /): ...
def MessageBox(hwnd: int, message: str, title: str, arg, arg1, /): ...
def MessageBeep(type: int, /): ...
def MessageBox(hwnd: int | None, message: str, title: str | None = ..., style=..., language=..., /) -> int: ...
def MonitorFromPoint(pt: tuple[Incomplete, Incomplete], Flags: int = ...) -> int: ...
def MonitorFromRect(rc: _win32typing.PyRECT | tuple[int, int, int, int], Flags: int = ...) -> int: ...
def MonitorFromWindow(hwnd: int, Flags: int = ...) -> int: ...
@@ -189,7 +189,7 @@ def RegEnumValue(key: _win32typing.PyHKEY, index, /) -> tuple[str, Incomplete, I
def RegFlushKey(key: _win32typing.PyHKEY, /) -> None: ...
def RegGetKeySecurity(key: _win32typing.PyHKEY, security_info, /) -> _win32typing.PySECURITY_DESCRIPTOR: ...
def RegLoadKey(key: _win32typing.PyHKEY, subKey: str, filename: str, /) -> None: ...
def RegOpenCurrentUser(samDesired, /) -> _win32typing.PyHKEY: ...
def RegOpenCurrentUser(samDesired=..., /) -> _win32typing.PyHKEY: ...
def RegOpenKey(
key: _win32typing.PyHKEY | int, subkey: str | None, reserved: bool = ..., sam: int = ..., /
) -> _win32typing.PyHKEY: ...
@@ -198,7 +198,7 @@ def RegOpenKeyTransacted(
Key: _win32typing.PyHKEY, SubKey: str, samDesired, Transaction: int, Options: int = ...
) -> _win32typing.PyHKEY: ...
def RegOverridePredefKey(Key: _win32typing.PyHKEY, NewKey: _win32typing.PyHKEY) -> None: ...
def RegQueryValue(key: _win32typing.PyHKEY, subKey: str, /) -> str: ...
def RegQueryValue(key: _win32typing.PyHKEY | int, subKey: str | None, /) -> str: ...
def RegQueryValueEx(key: _win32typing.PyHKEY | int, valueName: str | None, /) -> tuple[str, int]: ...
def RegQueryInfoKey(key: _win32typing.PyHKEY, /) -> tuple[Incomplete, Incomplete, Incomplete]: ...
def RegQueryInfoKeyW(Key: _win32typing.PyHKEY, /): ...
@@ -256,7 +256,7 @@ def UpdateResource(
language: int = ...,
/,
) -> None: ...
def VkKeyScan(char, char1, /): ...
def VkKeyScan(char: str | bytes, /): ...
def WinExec(cmdLine: str, arg, /) -> None: ...
def WinHelp(hwnd: int, hlpFile: str, cmd, data: str | int = ..., /) -> None: ...
@deprecated("This function is obsolete, applications should use the registry instead.")
@@ -267,7 +267,7 @@ def HIBYTE(val: int, /) -> int: ...
def LOBYTE(val: int, /) -> int: ...
def HIWORD(val: int, /) -> int: ...
def LOWORD(val: int, /) -> int: ...
def RGB(red, green, blue, /): ...
def RGB(red: int, green: int, blue: int, /) -> int: ...
def MAKELANGID(PrimaryLanguage, SubLanguage, /): ...
def MAKEWORD(low, high, /): ...
def MAKELONG(low, high, /): ...
+1 -1
View File
@@ -36,7 +36,7 @@ def FindCloseChangeNotification(hChangeHandle, /) -> None: ...
def FindFirstChangeNotification(pathName: str, bWatchSubtree, notifyFilter, /): ...
def FindNextChangeNotification(hChangeHandle, /): ...
def FlushFileBuffers(hFile: int, /) -> None: ...
def GetBinaryType(appName: str, /): ...
def GetBinaryType(appName: str, /) -> int: ...
def GetDiskFreeSpace(rootPathName: str, /) -> tuple[Incomplete, Incomplete, Incomplete, Incomplete]: ...
def GetDiskFreeSpaceEx(rootPathName: str, /) -> tuple[int, int, int]: ...
def GetDriveType(rootPathName: str, /): ...
+9 -7
View File
@@ -54,9 +54,9 @@ def RegisterWindowMessage(name: str, /): ...
def DefWindowProc(
hwnd: int | None, message: int, wparam: ReadableBuffer | float | None, lparam: ReadableBuffer | float | None, /
) -> int: ...
def EnumWindows(callback: Callable[[int, _T], object], extra: _T, /) -> None: ...
def EnumThreadWindows(dwThreadId, callback: Callable[[int, _T], object], extra: _T, /) -> None: ...
def EnumChildWindows(hwnd: int | None, callback: Callable[[int, _T], object], extra: _T, /) -> None: ...
def EnumWindows(callback: Callable[[int, _T], int | None], extra: _T, /) -> None: ...
def EnumThreadWindows(dwThreadId, callback: Callable[[int, _T], int | None], extra: _T, /) -> None: ...
def EnumChildWindows(hwnd: int | None, callback: Callable[[int, _T], int | None], extra: _T, /) -> None: ...
def DialogBox(hInstance: int, TemplateName: _win32typing.PyResourceId, hWndParent: int, DialogFunc, InitParam: int = ..., /): ...
def DialogBoxParam(): ...
def DialogBoxIndirect(
@@ -145,7 +145,7 @@ def AlphaBlend(
blendFunction: _win32typing.PyBLENDFUNCTION,
/,
) -> None: ...
def MessageBox(parent, text: str, caption: str, flags, /): ...
def MessageBox(parent: _win32typing.PyHANDLE | int | None, text: str, caption: str, flags, /): ...
def MessageBeep(_type, /) -> None: ...
def CreateWindow(
className: str | _win32typing.PyResourceId,
@@ -227,7 +227,9 @@ def ExtractIcon(hinstance, moduleName: str, index, /): ...
def ExtractIconEx(moduleName: str, index, numIcons: int = ..., /): ...
def DestroyIcon(hicon, /) -> None: ...
def GetIconInfo(hicon: int, /) -> _win32typing.PyICONINFO: ...
def ScreenToClient(hWnd: int, Point: tuple[Incomplete, Incomplete], /) -> tuple[Incomplete, Incomplete]: ...
def ScreenToClient(
hWnd: int | _win32typing.PyHANDLE, Point: tuple[Incomplete, Incomplete], /
) -> tuple[Incomplete, Incomplete]: ...
def ClientToScreen(hWnd: int, Point: tuple[Incomplete, Incomplete], /) -> tuple[Incomplete, Incomplete]: ...
def PaintDesktop(hdc: int, /) -> None: ...
def RedrawWindow(hWnd: int, rcUpdate: tuple[int, int, int, int], hrgnUpdate: _win32typing.PyGdiHANDLE, flags, /) -> None: ...
@@ -347,7 +349,7 @@ def CreateSolidBrush(Color, /) -> _win32typing.PyGdiHANDLE: ...
def CreatePatternBrush(hbmp: _win32typing.PyGdiHANDLE, /) -> _win32typing.PyGdiHANDLE: ...
def CreateHatchBrush(Style, clrref, /) -> _win32typing.PyGdiHANDLE: ...
def CreatePen(PenStyle, Width, Color, /) -> _win32typing.PyGdiHANDLE: ...
def GetSysColor(Index, /): ...
def GetSysColor(Index: int, /) -> int: ...
def GetSysColorBrush(Index, /) -> _win32typing.PyGdiHANDLE: ...
def InvalidateRect(hWnd: int, Rect: _win32typing.PyRECT, Erase, /) -> None: ...
def FrameRect(hDC: int, rc: _win32typing.PyRECT, hbr: _win32typing.PyGdiHANDLE, /) -> None: ...
@@ -355,7 +357,7 @@ def InvertRect(hDC: int, rc: _win32typing.PyRECT, /) -> None: ...
def WindowFromDC(hDC: int, /) -> int: ...
def GetUpdateRgn(hWnd: int, hRgn: _win32typing.PyGdiHANDLE, Erase, /): ...
def GetWindowRgn(hWnd: int, hRgn: _win32typing.PyGdiHANDLE, /): ...
def SetWindowRgn(hWnd: int, hRgn: _win32typing.PyGdiHANDLE, Redraw, /) -> None: ...
def SetWindowRgn(hWnd: int, hRgn: _win32typing.PyGdiHANDLE | None, Redraw: bool, /) -> None: ...
def ValidateRgn(hWnd: int, hRgn: _win32typing.PyGdiHANDLE, /) -> None: ...
def InvalidateRgn(hWnd: int, hRgn: _win32typing.PyGdiHANDLE, Erase, /) -> None: ...
def GetRgnBox(hrgn: _win32typing.PyGdiHANDLE, /) -> tuple[Incomplete, _win32typing.PyRECT]: ...
+1 -1
View File
@@ -13,7 +13,7 @@ def EnumEntries(reserved: str | None = ..., fileName: str | None = ..., /) -> No
def GetConnectStatus(hrasconn, /) -> tuple[Incomplete, Incomplete, str, str]: ...
def GetEntryDialParams(
fileName: str, entryName: str, /
) -> tuple[Incomplete, Incomplete, Incomplete, Incomplete, Incomplete, Incomplete, Incomplete]: ...
) -> tuple[tuple[Incomplete, Incomplete, Incomplete, Incomplete, Incomplete, Incomplete], bool]: ...
def GetErrorString(error, /) -> str: ... # noqa: F811
def HangUp(hras, /) -> None: ...
def IsHandleValid(hras: int | None, /) -> bool: ...
+3 -1
View File
@@ -18,7 +18,9 @@ def GetProcessWindowStation() -> _win32typing.PyHWINSTA: ...
def CreateWindowStation(
WindowStation, Flags, DesiredAccess, SecurityAttributes: _win32typing.PySECURITY_ATTRIBUTES, /
) -> _win32typing.PyHWINSTA: ...
def EnumServicesStatus(hSCManager: _win32typing.PySC_HANDLE, ServiceType, ServiceState, /) -> tuple[Incomplete, ...]: ...
def EnumServicesStatus(
hSCManager: _win32typing.PySC_HANDLE | int, ServiceType: int = ..., ServiceState: int = ..., /
) -> tuple[Incomplete, ...]: ...
def EnumServicesStatusEx(
SCManager: _win32typing.PySC_HANDLE, ServiceType, ServiceState, InfoLevel, GroupName: Incomplete | None = ..., /
) -> tuple[Incomplete, ...]: ...