Вниз
Скачать: CL | DM;

Сообщение приложению не имеющего окна   Найти похожие ветки 

← →
alex-drob ©   (2005-08-16 11:39) [0]

Есть приложение не имеющие форму.
Как зделать чтобы при запуске копии приложения они оба закрывались.
Как закрыть копию я знаю. А как послать сообщение приложению не имеющему окна и как его обработать?

тело приложения выполняется в цикле:


var b:boolean;
begin
...
while b do
begin
...
end;
...// эту строку нужно выполнить при закрытии приложения.
end.


Вобщем нужно чтобы при запуске копии приложения в первом приложении присвоить b:=false;


← →
DVM ©   (2005-08-16 11:40) [1]


> А как послать сообщение приложению не имеющему окна и как
> его обработать?

PostThreadMessage(). Только цикл выборки сообщений надо будет организовать в принимающем приложении.


← →
alex-drob ©   (2005-08-16 11:44) [2]


> цикл выборки сообщений

А как это можно зделать?


← →
Digitman ©   (2005-08-16 11:44) [3]


> как послать сообщение приложению


никак.

сообщение м.б. отправлено ЛИБО окну ЛИБО трэду, НО не приложению.


← →
alex-drob ©   (2005-08-16 11:47) [4]


> Digitman ©   (16.08.05 11:44) [3]

Значит трэду.


> DVM ©   (16.08.05 11:40) [1]

А как получить ThreadId?


← →
Digitman ©   (2005-08-16 12:05) [5]


> alex-drob ©   (16.08.05 11:47) [4]
> Значит трэду.


Сообщения трэду м.б. отправлены асинхронной ф-цией PostThreadMessage()


← →
DVM ©   (2005-08-16 12:09) [6]


> А как получить ThreadId?

GetCurrentThreadId() получи внутри своего приложения и положи в MMF.


← →
Digitman ©   (2005-08-16 12:30) [7]


> DVM ©   (16.08.05 12:09) [6]


> GetCurrentThreadId()


скорей всего, автором имелось ввиду "чужое" приложение, так что GetCurrentThreadId() здесь - как корове седло


← →
DVM ©   (2005-08-16 12:53) [8]


> скорей всего, автором имелось ввиду "чужое" приложение,
> так что GetCurrentThreadId() здесь - как корове седло

Вряд ли речь идет о чужом приложении, учитывая [0], [2].


← →
alex-drob ©   (2005-08-16 15:31) [9]

Приложение моё.


>  и положи в MMF.

А можно поподробней, никогда не делал токого.

И как можно получить сообщение посланное PostThreadMessage()?


← →
Digitman ©   (2005-08-16 15:47) [10]


> как можно получить сообщение посланное PostThreadMessage()?


by Get/Peekmessage


← →
alex-drob ©   (2005-08-16 15:54) [11]

Спасибо всем за помощь.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
1-1123746640
AlexBo
2005-08-11 11:50
2005.09.04
Экстренный выход из процедуры


4-1121730983
[MHT]Tyz
2005-07-19 03:56
2005.09.04
Перехват печати в Windows


3-1122038677
Juice
2005-07-22 17:24
2005.09.04
Потокобезопасность IBX


3-1121942224
helpme
2005-07-21 14:37
2005.09.04
Как определить используется ли запись другим пользователем


1-1123755704
.ruslan
2005-08-11 14:21
2005.09.04
На какое событие это сделать?




   Наверх