|
|
|
| Общая схема такова:
ThId:=GetWindowThreadProcessId(MainScreen); //получение ID потока окна
CurThId:=GetWindowThreadProcessId(Handle); //получение ID потока нашей программы
result1:=AttachThreadInput(CurThId,ThId,true); //подключение к потоку ввода окна
GetKeyboardState(keys); //запоминаем состояние клавиш
keys[vk_control]:=$FF; // устанавливаем нажатое состояние Ctrl
SetKeyboardState(keys); // устанавливаем нажатое состояние Ctrl
sleep(20);
PostMessage(MainScreen,wm_keydown,ord('1'),0); //
sleep(20); // нажимаем кнопку "1"
PostMessage(MainScreen,wm_keyup,ord('1'),0); //
sleep(20);
SetKeyboardState(keys); //восстанавливаем состояние клавиш
sleep(20);
AttachThreadInput(CurThId,ThId,false); //отключаемся от потока ввода
|
Но это всё функции user32.dll
Удастся ли их применить из РНР просто указав в ini путь к dll ? | |
|
|