我需要知道在user32和kernel32函数中传递了多少个参数 例如:
windll.kernel32.GetConsoleTitle()
我收到错误:
:ValueError:可能在没有足够的参数(缺少4个字节)的情况下调用过程
答案 0 :(得分:0)
您应该阅读API解说。这是GetConsoleTitle的链接: https://docs.microsoft.com/en-us/windows/console/getconsoletitle
DWORD WINAPI GetConsoleTitle(
_Out_ LPTSTR lpConsoleTitle,
_In_ DWORD nSize
);
更新的 这是获取控制台窗口标题的简短演示:
import ctypes
MAX_BUFFER = 260
title_text_buffer = (ctypes.c_char * MAX_BUFFER)()
res = ctypes.windll.kernel32.GetConsoleTitleA(title_text_buffer, MAX_BUFFER)
title_text = title_text_buffer.value
print title_text
答案 1 :(得分:0)
Python3:
>>> import ctypes
>>> MAX_LEN = 256
>>> buffer_ = ctypes.create_unicode_buffer(MAX_LEN)
>>> ctypes.windll.kernel32.GetConsoleTitleW(buffer_, MAX_LEN)
5
>>> buffer_.value
'Command Prompt - python'