Görev Yöneticisinden görev ismini nasıl alırız?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Görev Yöneticisinden görev ismini nasıl alırız?
arkdaşlar görev yöneticisinde xx.exe çalışma sırasında görev çubuğunda çıkan ismi nasıl alabiliriz
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
uses tlhelp32
Kod: Tümünü seç
var
devam: BOOL;
fyakhandle: THandle;
islem32 : TProcessEntry32;
begin
s.Clear;
fyakhandle :=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
islem32.dwSize:=Sizeof(islem32);
devam :=Process32First(fyakhandle,islem32);
while integer(devam)<>0 do begin
//Listeye çalışan exe dosyaları ekleniyor.
S.Items.Add(islem32.szExeFile);
devam:=Process32Next(fyakhandle,islem32);
end;
CloseHandle(fyakhandle);
end;
@White Rose satır arasında yazmış aslında ama yine de bir cümle harici açıklama eklese daha anlaşılır olurmuş. Gönderdiği kod "Görev Yöneticisindeki" çalışan dosyaların dosya isim listesini getirir.
- Sizin istediğiniz ise başlıkları. Bunları çalışan kendi programın Handle nosundan başlayan bir döngü ile aktif pencereleri sayarak bulabilirsin. Yani aşağıdaki kod sana yardımcı olacaktır.
// Çalışması
- Sizin istediğiniz ise başlıkları. Bunları çalışan kendi programın Handle nosundan başlayan bir döngü ile aktif pencereleri sayarak bulabilirsin. Yani aşağıdaki kod sana yardımcı olacaktır.
Kod: Tümünü seç
Procedure CalisanListesi(Hand : HWnd; Liste:TStrings);
var
Title,
ClassName : array[0..255] of char;
begin
while Hand > 0 do
begin
if IsWindowVisible(Hand) then
begin
GetWindowText(Hand, Title ,255);
GetClassName (Hand, ClassName,255);
Liste.Add( Format('%8d : %s ( %s )', [Hand, String(Title), String(ClassName)] ) );
end;
Hand:=GetnextWindow(Hand,GW_HWNDNEXT);
end; // While
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
CalisanListesi( Application.Handle, ListBox1.Items );
end;
nasıl çözdüğünüzü yazmak bir forum etiğidir. böylece ilerde buna ihityacı olanlar tekrar konu çamdan bulabilirler. lütfen bu konuya dikkat ediniz. burası bilgiye erişim bir bir kaynak olsun ve bilgi hep artsınSencer yazdı:arkdaşlar saolun çözdüm sorunumu
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
mrmarman yazdı:@White Rose satır arasında yazmış aslında ama yine de bir cümle harici açıklama eklese daha anlaşılır olurmuş. Gönderdiği kod "Görev Yöneticisindeki" çalışan dosyaların dosya isim listesini getirir.
- Sizin istediğiniz ise başlıkları. Bunları çalışan kendi programın Handle nosundan başlayan bir döngü ile aktif pencereleri sayarak bulabilirsin. Yani aşağıdaki kod sana yardımcı olacaktır.
// ÇalışmasıKod: Tümünü seç
Procedure CalisanListesi(Hand : HWnd; Liste:TStrings); var Title, ClassName : array[0..255] of char; begin while Hand > 0 do begin if IsWindowVisible(Hand) then begin GetWindowText(Hand, Title ,255); GetClassName (Hand, ClassName,255); Liste.Add( Format('%8d : %s ( %s )', [Hand, String(Title), String(ClassName)] ) ); end; Hand:=GetnextWindow(Hand,GW_HWNDNEXT); end; // While end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Clear; CalisanListesi( Application.Handle, ListBox1.Items ); end;
Kod: Tümünü seç
if IsWindowVisible(Hand) then
