...назад

РАЗРАБОТЧИКАМ

Эта страница предназначена в первую очередь тем пользователям, которые, обладая навыками программирования, захотят использовать некоторые встроенные в Runner возможности межпрограммного взаимодействия. В частности, используя систему сообщений Windows, можно отдать Runner'у команду показать пиктограмму, если он скрыт, можно передать ему любую допустимую команду расписания для немедленного выполнения, а также получить командную строку запуска Runner-а.

Взаимодействие осуществляется с помощью двух сообщений, которые нужно зарегистрировать, используя функцию Win32 API RegisterWindowMessage, а затем отправлять с помощью PostMessage или SendMessage, адресуя окну Runner-a, HWND которого можно получить, использовав функцию FindWindow с указанием класса окна "PanSoft Runner":

  1. WM_RUNNER, строка для регистрации "PS Runner". Это сообщение используется для того, чтобы "проявить" Runner, работающий в скрытом режиме, а также для получения командной строки запуска Runner-a или его Process ID.
  2. WM_RUNNER_EXEC, строка для регистрации "PS Runner execute". Это сообщение используется для передачи Runner-у команды для немедленного выполнения.
Описание сообщений:

командасообщение значение WPARAMзначение LPARAM получатель
показать пиктограммуWM_RUNNER 0игнорируется Runner
вернуть Process ID 3 WM_RUNNER 1HWND окна-получателя ответа Runner
вернуть указатель char* на командную строкуWM_RUNNER 2HWND окна-получателя ответа Runner
возврат Process ID Runner-aWM_RUNNER 3Process ID Runner-a приложение
возврат командной строки Runner-aWM_RUNNER 4char* указатель на командную строку 1 приложение
команда для выполнения Runner-омWM_RUNNER_EXEC Process ID приложения 2 char* указатель на команду Runner

1 - в адресном пространстве Runner-а. Для получения нужно использовать функцию ReadProcessMemory, предварительно получив HANDLE процесса Runner-a с помощью OpenProcess (для чего и нужен Process ID Runner-a).
2 - получить Process ID можно с помощью функции GetCurrentProcessId.
3 - Runner возвращает запрошенную информацию также с помощью сообщения WM_RUNNER, направленного окну, заданному в запросе .

Исходники и то, что нужно для сборки (кроме стандартных библиотек) Runner-a можно обнаружить здесь.