something wrong here??
Code
from ctypes import *
import win32con
import win32gui
import win32process
import subprocess
import time
from pathlib import Path
def get_hwnds_for_pid(pid):
def callback(hwnd, hwnds):
_, found_pid = win32process.GetWindowThreadProcessId(hwnd)
if found_pid == pid:
print hwnd, "=>", win32gui.GetWindowText(hwnd)
hwnds.append(hwnd)
return True
hwnds = []
win32gui.EnumWindows(callback, hwnds)
return hwnds
class CopyDataStruct(Structure):
_fields_ = [('dwData', c_int),
('cbData', c_int),
('lpData', c_void_p)]
def SendASCommand(cmd):
s = create_string_buffer(cmd)
cds = CopyDataStruct(len(s), len(s), cast(s, c_void_p))
for hwnd in get_hwnds_for_pid(process.pid):
win32gui.SendMessage(hwnd, win32con.WM_COPYDATA, 0, addressof(cds))
if __name__ == '__main__':
process = subprocess.Popen(r'''"G:\Random\DON\'T EVER DELETE\stuff\grow\test.exe"''', stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
time.sleep(2.0)
SendASCommand("test")