Python ctypes布尔指针

Python ctypes布尔指针,python,pointers,ctypes,Python,Pointers,Ctypes,我试图将布尔指针传递给ctypes函数,更具体地说是WINAPI的GetDevicePowerState函数 我试着用很多不同的方式发送它,但我从未得到改变的价值。我已尝试将指针包装在ctypes库中的byref/pointer/pointer中。我也尝试过不只是发送一个c_bool,还发送ctypes.wintypes.bool以及作为整数发送,但它的值也不会改变 我浏览了文档,但没有看到任何关于这方面的突出内容,可能是我忽略了它?设置:kernel32=ctypes.windell('ker

我试图将布尔指针传递给ctypes函数,更具体地说是WINAPI的GetDevicePowerState函数

我试着用很多不同的方式发送它,但我从未得到改变的价值。我已尝试将指针包装在ctypes库中的byref/pointer/pointer中。我也尝试过不只是发送一个c_bool,还发送ctypes.wintypes.bool以及作为整数发送,但它的值也不会改变


我浏览了文档,但没有看到任何关于这方面的突出内容,可能是我忽略了它?

设置:
kernel32=ctypes.windell('kernel32',use\u last\u error=True)
kernel32.GetDevicePowerState.argtypes=(wintypes.HANDLE,ctypes.POINTER(wintypes.BOOL))
用法:
f=open(r'C:\Windows\notepad.exe')
hDevice=msvcrt.get_osfhandle(f.fileno())
正在工作=wintypes.BOOL()
success=kernel32.GetDevicePowerState(hDevice,ctypes.byref(正在工作))
@eryksun谢谢,成功了。看起来GetDevicePowerState即使在win 10上也不能很好地使用监视器:(羞耻设置:
kernel32=ctypes.windell('kernel32',use_last\u error=True);
kernel32.GetDevicePowerState.argtypes=(wintypes.HANDLE,ctypes.POINTER(wintypes.BOOL))
用法:
f=open(r'C:\Windows\notepad.exe)
hDevice=msvcrt.get_osfhandle(f.fileno());
is_working=wintypes.BOOL();
success=kernel32.GetDevicePowerState(hDevice,ctypes.byref(is_working))
@eryksun谢谢,成功了。看起来GetDevicePowerState即使在win 10上也不太好用监视器