Skip to main content

Collection of win32 related utils.

Project description

win32fastutils

Collection of win32 related utils.

Installed Utils

  • win32fastutils.consoleutils
    • ResetableAttachConsole
    • ReadConsoleOutputText
  • win32fastutils.guiutils
    • PostMessage
    • GetHwndsByProcessIds
    • GetExplorerHwnds
    • GetExplorerProcessIds
  • win32fastutils.py32fix
    • iswin32
    • DisableFileSystemRedirection

Usage Examples

Example 1: Read console output

examples/read_console_output.py

import uuid
import time
import subprocess

from win32fastutils import consoleutils

CMD = "C:\\Windows\\System32\\cmd.exe"

msg1 = str(uuid.uuid4())
proc = subprocess.Popen([CMD, "/C", "echo", msg1, "&&", "timeout", "2"], creationflags=subprocess.CREATE_NEW_CONSOLE)
time.sleep(1)
result = ""
with consoleutils.ResetableAttachConsole(proc.pid):
    result = consoleutils.ReadConsoleOutputText()
print(result)

result output

C:\workspace\win32fastutils>python examples\read_console_output.py
8a3d81ac-9f59-4066-8206-86cee8101f8c <Note: a lot of space here....>

等待 1 秒,按一个键继续 ...

Example 2: Press ENTER to end the timeout waiting

examples/press_enter_to_end_time_timeout_waiting.py

import uuid
import time
import datetime
import subprocess

from win32fastutils import guiutils

CMD = "C:\\Windows\\System32\\cmd.exe"

print("start", datetime.datetime.now())
msg1 = str(uuid.uuid4())
proc = subprocess.Popen([CMD, "/C", "echo", msg1, "&&", "timeout", "20"], creationflags=subprocess.CREATE_NEW_CONSOLE) # wait for 20 seconds
time.sleep(1)
hwnds = guiutils.GetHwndsByProcessIds(proc.pid)

guiutils.PostMessage(hwnds[0], "\n") # press ENTER to end the timeout waiting
proc.wait()
print("end  ", datetime.datetime.now())

result output

C:\workspace\win32fastutils>python examples\press_enter_to_end_the_timeout_waiting.py
start 2022-02-17 17:01:15.115822
end   2022-02-17 17:01:16.210102

Example 3: Using 32bit-version-python in 64bit-version-windows, we can NOT access files under folder C:\Windows\System32, How to fix the problem?

import os
from win32fastutils import py32fix

SSH = "C:\\Windows\\System32\\OpenSSH\\ssh.exe"

print("Access directly result:", os.path.exists(SSH))

with py32fix.DisableFileSystemRedirection():
    print("Access in fixed scope: ", os.path.exists(SSH))

result output

C:\workspace\win32fastutils>python examples\32bit_python_access_application_under_system.py
Access directly result: False
Access in fixed scope:  True

Releases

v0.1.0

  • First release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

win32fastutils-0.1.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

win32fastutils-0.1.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file win32fastutils-0.1.0.tar.gz.

File metadata

  • Download URL: win32fastutils-0.1.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for win32fastutils-0.1.0.tar.gz
Algorithm Hash digest
SHA256 db2c5db3edeec9a05164562a5cc1db8d9806d48eb5266d355d3079a21b6a18e3
MD5 a37d79156f42b6f45c8bc7dedf97e4d9
BLAKE2b-256 f6b3f5ddcd082d5a76706fb769cdc2123cce83d924ee3c04b17ce9233e040674

See more details on using hashes here.

File details

Details for the file win32fastutils-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: win32fastutils-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for win32fastutils-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6151d60358c2f8fd428432dc481be6cf556713707da9b1d27c15488d12f37e0
MD5 2d6c003cd219b420b6db3784cfed4583
BLAKE2b-256 f9de0f690f4c2062ea62f0dfcb854559b8892ce18676cb4e92d060432a284f12

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page