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

Вниз

XP чтоб его =( хелп плиз!   Найти похожие ветки 

 
WinLamka   (2003-10-16 17:41) [0]

Зрдавствуйте уважаемые мастера!
Вот возникла пара вопросов... Я пишу программу для удаленного контроля\администрирования компьютеров (не троян). Проблемы возникли следующие:
1) Получение списка запущеных программ. Моя программа должна будет следить за запущенными программами на удаленном компьютере, и при появлении запрещенных (игрушек например или msblast =))оповещать об этом админа. Я делаю это так (примитив конечно, но я пока не мастер в такого рода делах)

f:=tstringlist.Create;
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do begin
if (Wnd <> Application.Handle)
and (GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
then begin
GetWindowText(Wnd, buff, sizeof(buff));
p:=StrPas(buff);
if IsWindowVisible(Wnd)=false then p:="[hidden] "+p;
if (GetWindow(Wnd, gw_Owner) <> 0)then p:="[child] "+p;
f.Add(p);
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
f.SaveToFile(ExtractFilePath(Application.ExeName)+"\proc.lst");


На win2k и win9x все пашет идеально, но в вин ХР максимум что я получаю это следующее:
[child] [hidden] Form1
[hidden] BadApplicationNotificationWindow
[hidden] resetservice
[hidden] SYSTEM AGENT COM WINDOW
что у меня не так? помогите пожалуйста.

2) Получение скриншота экрана. Я нашел для этого такой код :

Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height),
Canva, Rect(0, 0, Width, Height));
B.SaveToFile(ExtractFilePath(Application.ExeName)+"sys.bmp");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free
end
end;

проблема таже - в вин ХР получаю белый рисунок.
подскажите плиз что можносделать!
заранее спасибо.


 
VMcL ©   (2003-10-16 18:59) [1]

1)
ToolHelp (tlhelp32.pas), PsAPI (psapi.pas)

2)
Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height),
Canva, Rect(0, 0, Width, Height));

B.SaveToFile(ExtractFilePath(Application.ExeName)+"sys.bmp");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free
end
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
7-75428
DVM
2003-10-15 13:02
2003.12.23
New(), Dispose() TaskManager


1-75260
ZHK
2003-12-08 15:52
2003.12.23
Как поймать стандартный ДОС-овский вывод?


1-75159
R
2003-12-09 04:48
2003.12.23
Подсветка элементов текста


1-75163
md
2003-12-09 21:49
2003.12.23
инфа о файле


1-75247
Nucl
2003-12-09 15:00
2003.12.23
Чистилка кода