Windows da çalıştırılan herhangi bir programın veya pencerenin ismini bir txt dosyası içerisine yazdırmak istiyorum delphi kodlarını bulamadım..
Mesela winamp.exe çalıştırıldığında benim programım bir txt içerisine winamp.exe yazsın istiyorum. alt tab ile msn e geçildi diyelim, hemen msnmsgr.exe yazsın..Yani o an hangi uygulamaya geçildiyse o uygulamanın ismini txt içine yazmak istiyorum.
Üstadlarımdan birisi yardımcı olursa çok sevinirim..
Çalışan uygulama ile ilgili yardım lütfen..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- raikkonen21
- Üye
- Mesajlar: 49
- Kayıt: 02 Nis 2007 10:02
- Konum: Konya
-
- Üye
- Mesajlar: 4
- Kayıt: 04 Oca 2008 05:15
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));
StrDispose(Title);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.items.clear;
EnumWindows(@EnumWindowsProc,0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('Dehanın %1 i ilham %99u terdir.');
end;
end.
begin
showmessage('Dehanın %1 i ilham %99u terdir.');
end;
end.