Здравствуйте, Strannic, Вы писали:
S>procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
S>begin
S> DllThread := TDllThread.Create(false);
S> PostMessage (DllThread.WndHandle, MY_MESSAGE1, 0, 0);
S> Started := True;
S>end;
S>procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
S>begin
S> if DllThread <> nil then
S> SendMessage (DllThread.WndHandle, MY_MESSAGE2, 0, 0);
S> Stopped := True;
S>end;
S>Однако месаджы не проходят.
S>Причем после
S> DllThread := TDllThread.Create(false);
S>DllThread.WndHandle = 0
S>естественно месадж не попадает
S> PostMessage (DllThread.WndHandle, MY_MESSAGE1, 0, 0);
S>Однако "0" почему пока не ясно
Упс.
Тут проблема в том что окно еще не создалось.
пропробуй
DllThread := TDllThread.Create(false);
DllThread.WndHandle = 0;
while DllThread.WndHandle = 0 do
Sleep (0);
PostMessage (DllThread.WndHandle, MY_MESSAGE1, 0, 0);
И иеще протрассируй создалось ли окно в методе Execute