Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Составление списка активных окон в системе из сервиса   Найти похожие ветки 

 
The_Kurs   (2006-04-11 14:20) [0]

Написал сервис аппликейшин выводящий в лог фийл список всех активных окон... но он что то отказывается их выводить ... в обычном приложении выводит а вот в сервисе нет ... кто может подсказать почему и как исправить ???
Листинг:

var
 svchosted: Tsvchosted;
 Wind1 : array[1..10] of boolean;
 aDt:string;
 aDi:integer;
 H:THandle;
implementation
{$R *.DFM}
procedure Vivod (const DATASTR : string);
var File1 :TextFile;
begin
AssignFile(file1,"d:\log1TEXT.txt");
if FileExists("d:\log1TEXT.txt") then Append(file1) else Rewrite(file1) ;
writeln(file1, datastr);
CloseFile(file1);
end;

function EnumWindowsProc(H: hWND;Param:Pointer): Boolean;stdcall;
var
WindowText:array [0..255] of Char;
begin
result:=false;
vivod("s");
if (IsWindow(H)) and ((isWindowVisible(H)) and
       (GetWindowText(H,WindowText,255)<>0)) then begin
adt:=floattostr(h) + "   " + windowtext;
vivod(adt)
end;
Result:=true;
end;

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
 svchosted.Controller(CtrlCode);
end;

function Tsvchosted.GetServiceController: TServiceController;
begin
 Result := ServiceController;
end;

procedure Tsvchosted.Timer1Timer(Sender: TObject);
begin
vivod("------------------------");
EnumWindows (@EnumWindowsProc, 0);
vivod("------------------------");
end;

end.


 
Leonid Troyanovsky ©   (2006-04-11 14:41) [1]


> The_Kurs   (11.04.06 14:20)  

> Написал сервис аппликейшин выводящий в лог фийл список всех
> активных окон... но он что то отказывается их выводить .
> .. в обычном приложении выводит а вот в сервисе нет ...
> кто может подсказать почему и как исправить ???


А на зачем сервису список активных окон?
Ну, если так надо, напиши ему клиента, который будет
пускаться, скажем, в стартапе, следить за окнами
и сообщать ему об активных (на таком-то десктопе).

--
Regards, LVT.


 
The_Kurs   (2006-04-12 15:26) [2]

Мда...можно конечно и так всё же хотелось чтобы сервис это делал...а переброс данных от сервиса к клиенту как можно осуществить... я тока один способ знаю через сокеты ... а ещё как нить можно???


 
Eraser ©   (2006-04-12 15:33) [3]


> The_Kurs   (12.04.06 15:26) [2]


> Мда...можно конечно и так всё же хотелось чтобы сервис это
> делал...

интерактивный сервис это может делать и даже при желании неинтерактивный, ... только вот с fast user switching это не совместимо :(
поэтому единственный правильный вариант - Leonid Troyanovsky ©   (11.04.06 14:41) [1].

> а переброс данных от сервиса к клиенту как можно осуществить

named pipes.


 
The_Kurs   (2006-04-13 15:47) [4]

Спосибо за информацию ....!!!



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

Текущий архив: 2006.07.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
2-1152628408
AlexanderMS
2006-07-11 18:33
2006.07.30
Форма "сворачивается".


1-1150451941
oleg444
2006-06-16 13:59
2006.07.30
Не могу отладить DLL


2-1152397347
Asail
2006-07-09 02:22
2006.07.30
Проблема с полем в классе


2-1152603836
novill
2006-07-11 11:43
2006.07.30
Ообработчик любого сообщения для окна


15-1152014121
kotik
2006-07-04 15:55
2006.07.30
Delphi5