Как отправить сообщение процессу зная его ProcessID?
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Как отправить сообщение процессу зная его ProcessID? - 2009-02-14 20:31:32.270000
|
|
|
Xelle
Сообщений: 20
Оценки: 0
Присоединился: 2008-07-10 23:07:46.580000
|
Есть примерно такое приложение:
program myprogram;
uses
Windows;
var pMessage: TMsg;
begin
while GetMessage (pMessage, 0, 0, 0) do
begin
if pMessage.message = WM_MYMESSAGE then
MessageBox(0, PChar('Hello World!'), PChar('myprogram'), MB_ICONINFORMATION);
TranslateMessage(pMessage);
DispatchMessage(pMessage);
end;
end.
Как передать такому приложению сообщение WM_MYMESSAGE?
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-14 22:18:50.420000
|
|
|
Dgedit
Сообщений: 131
Оценки: 0
Присоединился: 2007-02-04 15:07:37.163333
|
Слушай, если я не ошибаюсь, то сообщения в Windows отправляются окнам, процессам не получится - это во-певых, во-вторых твое сообщение WM_MYMESSAGE эт о и есть оконное сообщение(расшифровывается WindowMessage_MYMESSAGE), если тебе оконное сообщение нужно, то отправляй с помощью SendMessage
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-14 23:59:14.110000
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
Советую слать окну WM_USER (там как бы распределены значения для сообщений, абы что нельзя слать),токо сначала зарегистрируй его,свой собственный.И слать ты будешь окну,правильно тебе сказали,цикл у тебя для того и нужен.Читай про WinAPI - это то что тебе понадобится.
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-15 01:02:19.320000
|
|
|
Xelle
Сообщений: 20
Оценки: 0
Присоединился: 2008-07-10 23:07:46.580000
|
2 Dgedit WM_MYMESSAGE это просто имя константы, ее могу назвать PM_MYMESSAGE, это сути не меняет )) з.ы. сообщения приложением принимаются только вот как их ему передать…
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-15 01:12:48.420000
|
|
|
Xelle
Сообщений: 20
Оценки: 0
Присоединился: 2008-07-10 23:07:46.580000
|
2 Genco Genco, я знаю для чего нужен здесь нужен цикл и все такое :) но проблема заключается в том что в программе никакого ОКНА НЕТУ и насколько я понимаю хендла тоже нету.
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-15 01:39:52.696666
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
Типо консоль? Хм…ну окно то все равно будет,но мб лучше тогда как то ещё реализовать то что тебе надо? PostThreadMessage отправит например сообщение потоку(чем окну то), ещё можно ивенты=event=события делать (выставлять/проверять)…Смотря что ты хочешь.
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-15 03:01:46.263333
|
|
|
Xelle
Сообщений: 20
Оценки: 0
Присоединился: 2008-07-10 23:07:46.580000
|
2 Genco 1. это не консоль, а обычное приложение. 2. окна у него действительно нету. большое спасибо за подсказку, реализовал передачу сообщения по ThreadID :) 2 All вопрос разрулил.
|
|
|
RE: Как отправить сообщение процессу зная его ProcessID? - 2009-02-16 19:06:55.120000
|
|
|
Dgedit
Сообщений: 131
Оценки: 0
Присоединился: 2007-02-04 15:07:37.163333
|
quote:
2 Genco 1. это не консоль, а обычное приложение. 2. окна у него действительно нету. большое спасибо за подсказку, реализовал передачу сообщения по ThreadID :) 2 All вопрос разрулил. расскажи как ты его реализовал, интересно будет узнать.
|
|
|
|
|