Btgunluk.com
Kişisel bir bilişim blogu
Delphi'de System Tray Uygulaması Geliştirme
Windows'ta sağ alt köşede, tarih ve saatin sol tarafında yer alan bölüme System Tray deniyor. Birtakım Windows API'leri yardımıyla, Delphi 7'de yazdığımız programın System Tray'de çalışmasını sağlayabiliyoruz.
İlk yapmamız gerken, en baştaki uses bölümüne ShellApi kısmını eklemek. Sonra uygulamadaki formun tanımlandığı yerin hemen altında bir değişken tanımlıyoruz.
var Form1: TForm1; stray: NOTIFYICONDATA;
Formun Create olayında aşağıdaki kodları yazıyoruz.
procedure TForm1.FormCreate(Sender: TObject); begin stray.cbSize:=sizeof(NOTIFYICONDATA); stray.Wnd:=Form1.Handle; stray.uID:=0; stray.szTip:='SystemTrayApp'#0; stray.uCallbackMessage:=$200; stray.uFlags:=7; stray.hIcon:=Application.Icon.Handle; //system tray'a ekle Shell_NotifyIcon(0, @stray); //System Tray'de çalışan programın Task Listesinde görünmemesi için //ShowWindows(Application.Handel, SW_HIDE); end;
Eğer System Tray'deki uygulama ikonunu ya da açıklamayı değiştirmek istersek, şöyle bir kullanım yapmalıyız.
procedure TForm1.Button1Click(Sender: TObject); begin //stray parametreleri değiştğinde Shell_NotifyIcon güncellenmeli stray.szTip:='SystemTrayApp çalışıyor'#0; Shell_NotifyIcon(1, @stray); end;
Kullanıcının Sytem Tray'deki uygulama ikonuna fare ile ne şekilde tıkladığını da şu şekilde tespit edebiliyoruz.
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin //System Tray'deki ikonun üzerindeki hareketleri kontorl için formun mousemove olayı kullanılır. case x of $202: showmessage('Sol tuş tıklandı'); //sol tuşa tıklanınca yapılacaklar $203: showmessage('Çift tıklandı'); //çift tıklanınca yapılacaklar //form1.show; //genelde yapılan işlem $205: showmessage('Sağ tuş tıklandı'); //sağ tuşa tıklanınca yapılacaklar //popupmenu1.popup(m.x,m.y); //genelde yapılan işlem end; end;
Son olarak da, programımızdan çıkıldığında System Tray'deki uygulama ikonunu kaldırmalıyız.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin //uygulamayı system tray'den kaldırmak için Shell_NotifyIcon ilk parametresi 2 verilmeli Shell_NotifyIcon(2, @stray); end;
27.04.2020 05:05:45
Yorumlar
Bu yazıya henüz yorum yapılmamış.
Yazı hakkında yorum yapmak için, buraya tıklayın.
Kategoriler :
- Bilişim (52)
- C Sharp (1)
- Delphi (44)
- Duyuru (8)
- Excel (8)
- Fıkralar (9)
- Flash (2)
- Javascript (3)
- Kategorisiz (2)
- Kıssa'dan Hisse (5)
- Php (20)
- Program Tanıtımı (1)
- Python (2)
Arşiv :
- Kasım 2008 (11)
- Ekim 2010 (6)
- Kasım 2010 (11)
- Aralık 2010 (3)
- Ocak 2011 (2)
- Mayıs 2011 (1)
- Temmuz 2011 (4)
- Ağustos 2011 (10)
- Ekim 2011 (2)
- Ocak 2012 (2)
- Şubat 2012 (1)
- Mart 2012 (1)
- Nisan 2012 (3)
- Haziran 2012 (2)
- Temmuz 2012 (1)
- Ağustos 2012 (1)
- Kasım 2012 (1)
- Mart 2013 (1)
- Mayıs 2013 (1)
- Temmuz 2013 (1)
- Ekim 2013 (2)
- Kasım 2013 (2)
- Şubat 2014 (1)
- Ekim 2014 (1)
- Kasım 2014 (3)
- Şubat 2015 (1)
- Ağustos 2015 (3)
- Eylül 2015 (1)
- Ekim 2015 (1)
- Ocak 2016 (3)
- Nisan 2016 (1)
- Ekim 2016 (1)
- Aralık 2016 (8)
- Ocak 2017 (27)
- Şubat 2017 (1)
- Haziran 2017 (1)
- Eylül 2017 (1)
- Kasım 2017 (1)
- Ocak 2018 (2)
- Temmuz 2018 (2)
- Kasım 2018 (1)
- Aralık 2018 (1)
- Şubat 2019 (1)
- Ağustos 2019 (2)
- Aralık 2019 (1)
- Ocak 2020 (1)
- Nisan 2020 (10)
- Kasım 2020 (1)
- Aralık 2020 (1)
- Ocak 2021 (1)
- Mayıs 2022 (1)
- Kasım 2022 (1)
- Mart 2023 (1)
- Mayıs 2023 (2)
- Haziran 2023 (1)
- Ocak 2024 (2)
- Temmuz 2024 (1)
Etiketler :
- 3d acar baltas Android asp.net banana pi c sharp delphi fonksiyonları excel Firefox flash flowplayer ipucu opencv pascal pdf php fonksiyonları python super pi ttnet veritabanı video visual studio Windows word