Çalışan uygulamaları nasıl öğrenebilirim

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Çalışan uygulamaları nasıl öğrenebilirim

Mesaj gönderen MicroChip »

Merhaba aşağıdaki kod ile o anda çalışan uygulamaların listesini alınabilir
ve DDE de onlara birşey yaptırmak istenirse O uygulamanın başlığı da yetecektir...
Bunun için forma bir listbox ve bir buton koymak yeterli...

Kod: Tümünü seç

function EnumWindowsProch(Wnd : HWnd;Form : TForm1) : Boolean;
Export; {$ifdef Win32} StdCall; {$endif}
var
  Buffer : Array[0..99] of char;
begin
  GetWindowText(Wnd,Buffer,100);
  if StrLen(Buffer) <> 0 then
    form1.listbox1.items.Add(StrPas(Buffer));
  Result := True;
end;

function EnumWindowsProc (Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
Var Title : PChar;
begin
  Result := True;
  if (IsWindowVisible(Wnd) or IsIconic(wnd)) and
      ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
      (GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and
     (GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then
  begin
    Title:=StrAlloc(255);
    GetWindowText(Wnd,Title,255);
    form1.listbox1.items.add(StrPas(Title));
    //ShowMessage(StrPas(Title));
    StrDispose(Title);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.items.clear;
EnumWindows(@EnumWindowsProc,0);
end;
Saygılar...
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Cevapla