Задача следующая:
1. Вызваем внешнее приложение.
2. Посылаем ему сообщение, что нажаты определенные клавиши.
Со второй задачей, к сожалению, через win32gui.SendMessage(…) не справился. Использую SendKeys. Если кто подскажет как сообщить приложению, что нажаты, скажем ALT+R, буду весьма признателен.
Основной вопрос в следующем. Вот мой код
import os
import SendKeys
import win32gui
arg=['']
wdir='C:\\Test\\'
Appl_path='C:\\Program1\\first.exe'
os.chdir(wdir)
os.spawnv(os.P_NOWAIT,Appl_path,arg)
#os.system(Appl_path)
#os.execv(Appl_path,arg)
#os.startfile(Appl_path)
hwnd=win32gui.FindWindow(aaa,bbb)
win32gui.SetForegroundWindow(hwnd)
SendKeys.SendKeys("""
%{r}{ENTER}
""")
Traceback (most recent call last):
File “C:\Project\test.py”, line …, in <module>
win32gui.SetForegroundWindow(hwnd)
NameError: name ‘hwnd’ is not defined
Причем если приложение запустить самому до этого, то все отлично работает. Т.е. параметры aaa и bbb я указываю правильные