Scripting remote control from Python with WM_COPYDATA
Code: Select all
# Python Code Tested OK in v3.9
# Needs packages installed
script_text = '::msg "Hello world!";'
import array
import struct
import win32gui
from win32con import WM_COPYDATA as WM_COPYDATA # int 74
DW_DATA = 4194305
WIN_CLASS = "ThunderRT6FormDC"
hwnd = win32gui.FindWindow(WIN_CLASS, None)
buffer = array.array('u', script_text)
buffer_address, buffer_length = buffer.buffer_info()
copy_struct = struct.pack('PLP', DW_DATA, buffer_length*buffer.itemsize, buffer_address)
win32gui.SendMessage(hwnd, WM_COPYDATA, 0, copy_struct)