Files
ShotRDP/gui/main.py
2025-03-28 16:03:06 +08:00

31 lines
796 B
Python

import ctypes
def shot(target, width, height):
lib = ctypes.CDLL('../shotrdp.dll')
lib.GetScreen.argtypes = [
ctypes.c_char_p,
ctypes.POINTER(ctypes.POINTER(ctypes.c_char)),
ctypes.POINTER(ctypes.c_int),
ctypes.c_int,
ctypes.c_int,
]
lib.GetScreen.restype = ctypes.c_char_p
data = ctypes.POINTER(ctypes.c_char)()
length = ctypes.c_int()
error_ptr = lib.GetScreen(target, ctypes.byref(data), ctypes.byref(length), width, height)
if error_ptr:
print(ctypes.string_at(error_ptr).decode())
else:
result = ctypes.string_at(data, length.value)
with open('test.png', 'wb') as f:
f.write(result)
lib.Free(data)
if __name__ == '__main__':
shot(b'127.0.0.1:3389', 1024, 800)