Текущий архив: 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.028 c