Форум: "WinAPI";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться с контролем приложений Найти похожие ветки
← →
vodvorezlaya (2006-04-14 12:20) [0]Ув. Мастера подскажите как проверять запущена ли программа (которая видна только в диспетчере задач - процессах) и если она отсудствует то запускать её?
← →
Elen © (2006-04-14 12:27) [1]С помощью функции API EnumProcessполучаеш список всех процессов.
Далее узнаеш принадлежность процесса к файлу.
← →
Feg16 © (2006-04-14 13:31) [2]кусок кода
var
Form1: TForm1;
function SetLayeredWindowAttributes(hwnd: HWND; crKey: TColor; bAlpha: byte; dwFlags: DWORD): BOOL; stdcall;
implementation
{$R *.dfm}
function SetLayeredWindowAttributes; external "user32.dll";
procedure Tform1.GetAllWindow;
Var
Wd : HWnd;
Nm: array[0..255] of Char;
Item: TListItem;
begin
Wd:=FindWindow(nil, nil);
while (Wd<>0) do Begin
Wd:=GetNextWindow(Wd,GW_HWNDNEXT);
GetWindowText(wd, nm, 255);
if (nm<>"") then with Lister do begin
Item:=Items.Add;
Item.Caption:=nm;
Item.SubItems.Add(IntToStr(Wd));
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
GetAllWindow;
end;
тут выводится список всех окон
← →
vodvorezlaya (2006-04-14 14:44) [3]окна нет у моей програмки, она без формы
список процессов я нашёл, по ходу всё выводится в мемо1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TlHelp32, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
private
{ Private declarations }
public
{ Public declarations }
end;
procedure GetProcessList;
var
Form1: TForm1;
S: String;
implementation
procedure GetProcessList;
var
I: Integer;
hSnapshoot: THandle;
pe32: TProcessEntry32;
begin
Form1.Memo1.Clear;
hSnapshoot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshoot = -1) then Exit;
pe32.dwSize := SizeOf(TProcessEntry32);
if (Process32First(hSnapshoot, pe32)) then
repeat
S := pe32.szExeFile;
Form1.Memo1.Lines.Add(s);
until not Process32Next(hSnapshoot, pe32);
CloseHandle (hSnapshoot);
end;
end.
← →
Leonid Troyanovsky © (2006-04-15 04:15) [4]
> vodvorezlaya (14.04.06 14:44) [3]
> Form1.Memo1.Clear;
Никогда не используй глобальную переменную FormX.
--
Regards, LVT.
← →
Woolen © (2006-04-15 14:57) [5]
> С помощью функции API EnumProcessполучаеш список всех процессов.
>
> Далее узнаеш принадлежность процесса к файлу.
Нет такой функции в Win API
← →
n0name (2006-04-15 18:40) [6]
> Нет такой функции в Win API
PSapi
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c