Что нового

Отправка команд уже запущенному процессу на выполнение

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Здравствуйте, меня интересует проблема: как можно реализовать отсылку(отправку) определенных команд, уже запущенному процессу в системе с последующей обработкой.
Логический пример:
1. Существует процесс к примеру avp.exe;
2. Род. процесс посылает команду Exit\closed;
3. Последующее выполнение\обработки команды.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
А этот процесс ждёт от тебя команды и готов обрабатывать их?
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Ну предположительно возможно, что будет подготовлена функция
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Ну вот как в этой функции будет подготовлено, так и надо будет отправлять.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Что ж тут непонятного?
Придумываешь способ взаимодействия процесса с внешним миром и пишешь соответствующую функцию в нём (в процессе).
Вот как в этой функции реализуешь приём команд, вот таки способом и надо будет этому процессу их отправлять.
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
вот мне и интересно как придумать способ взаимодействия процесса, STDIN потоки мне не понятно как их реализовывать
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
MnM
набери в поиске слово "интеракция" и увидишь как можно решить задачу общения между программами, написанными на autoit
один из примеров я реализовал в своей "программной зарисовке" :smile:
http://autoit-script.ru/index.php/topic,11757.msg77658.html#msg77658
в указанном сообщении сам пример
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Не совсем понятно, меня интересует такая логистика примера: к примеру есть 2 программы у первой код примерно такой(предположительно скомпилирован)
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 262, 26, 374, 311)
$Input1 = GUICtrlCreateInput("", 0, 0, 257, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd

банальный инпат, как можно построить вторую программу которая бы посылала какой либо текст процессу(именно процессу а не ввод в инпат с помощью подобных команд типа ControlSetText(...)), ну а первая программа вписывала высланный текст
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
а какая разница куда вставлять текст?
измени. главное это принцип передачи
я же по ссылке указал на пример
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
всмысле куда вставлять, мне нужно чтобы программа с инпатом ждала(циклично) текста, а вторая ей отправила любой текст, после, первая доложна вписать принятый ею любой текст в инпат
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
MnM
извини, но я вроде по русски написал, что есть пример передачи текста. дал ссылку на пример :smile:
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Все разобрался, спс)
 
Верх