Merhaba
Google choreme ile bir çok internet sayfası açtığınızı düşünün. Yapmak istediğim açılan bu her tabı gezerek elimdeki adres ile karşılaştırmak eğer elimdeki adres ile aynı ise o sayfayı aktif etmek ve o sayfaya ait handle değerlerini almak istiyorum. Bunun için FindWindowA fonksiyonunu kullanıyorum fakat aradığım sayfa aktif değilse bulamıyor. Bu fonksiyon choremda sadece aktif yani seçili ise işe yarıyor. Başka bir tab açıksa bulamıyor. Bu konuda yardımcı olursanız sevinirim.
Teşekkürler
choreme açık sayfaların başlık veya adresini alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
choreme açık sayfaların başlık veya adresini alma
En son Lord_Ares tarafından 30 Oca 2015 06:31 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
choreme açık sayfaların başlık veya adres alma
Arkadaş kısmen çözümü buldum ihtiyacı olan arkadaşlar için fonksiyon şu şekilde. Açık pencerelerin captionlarında aradığınız yazıyı bu fonksiyona verirseniz size o pencerenin handle numarasını verir. Fakat yukarıda dediğim gibi kısmen çalışıyor. Ekranınızda tarayıcınız hariç tüm pencereleri simge durumuna aldığımızda pencereyi buluyor fakat notpad gibi başka pencereler açıksa bulamıyor. Kullanırken tarayıcınız hariç tüm pencereleri simge durumuna alın. Bunu düzeltebilirsem paylaşırım.
( Google choreme ve explorerda çalışıyor.)
Kullanım şekli
( Google choreme ve explorerda çalışıyor.)
Kod: Tümünü seç
function FindWindowByTitle(WindowTitle: string): Hwnd;
var
NextHandle: Hwnd;
NextTitle: array[0..260] of char;
begin
// Get the first window
NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST);
while NextHandle > 0 do
begin
// retrieve its text
GetWindowText(NextHandle, NextTitle, 255);
if Pos(WindowTitle, StrPas(NextTitle)) <> 0 then
begin
Result := NextHandle;
Exit;
end
else
// Get the next window
NextHandle := GetWindow(NextHandle, GW_HWNDNEXT);
end;
Result := 0;
end;
Kullanım şekli
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
var
pencere_numarası: Hwnd;
begin
pencere_numarası:=FindWindowByTitle('google') ;
if pencere_numarası <> 0 then
begin
ShowWindow(pencere_numarası,SW_SHOW); /// pencere minimize ise göster
SetForegroundWindow(pencere_numarası);//pencereyi öne plana getir;
end else ShowMessage(Aradığınız pencere yok');
end;