狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

運用Delphi完成系統狀態欄圖標

運用Delphi完成系統狀態欄圖標

更新時間:2019-08-21 文章作者:未知 信息來源:網絡 閱讀次數:

  下面以一個具體的例子,詳細介紹一下利用Delphi實現系統狀態欄圖標的步驟和方法。

  1.創建一個應用程序,在主窗體上增加一個TpopupMenu組件。并為該彈出選單組件增加選單項Exit,標題為“退出”。  

  2.在Uses中添加ShellAPI,因為在系統狀態欄中增加圖標時需調用ShellAPI中的函數Shell_NotifyIconA。該函數需要兩個參數,其中一個是TnotifyIconDataA結構,需在主窗體中增加TnotifyIconDataA類型的全局變量ntida。  

  3.定義消息mousemsg,并編寫主窗體的mousemessage消息處理函數,此函數說明在圖標上用鼠標左鍵單擊時,會打開應用程序窗口;用鼠標右鍵單擊時,會彈出一個選單。  

  下面給出步驟2和3的實現代碼: 

  unit Unit1;
  interface
  uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Menus, shellapi;
  const
  mousemsg = wm_user + 1; //自定義消息,用于處理用戶在圖標上點擊鼠標的事件
  iid = 100; //用戶自定義數值,在TnotifyIconDataA類型全局變量ntida中使用
  type
  TForm1 = class(TForm)
  ......
  private
  //自定義消息處理函數,處理鼠標點擊圖標事件
  procedure mousemessage(var message: tmessage); message mousemsg;
  public
  { Public declarations }
  end;
  var
  Form1: TForm1;
  ntida: TNotifyIcondataA;
  //用于增加和刪除系統狀態圖標
  implementation
  {$R .DFM}
  procedure TForm1.mousemessage(var message: tmessage);
  var
  mousept: TPoint; //鼠標點擊位置
  begin
  inherited;
  if message.LParam = wm_rbuttonup then begin //用鼠標右鍵點擊圖標
  getcursorpos(mousept); //獲取光標位置
  popupmenu1.popup(mousept.x, mousept.y);
  //在光標位置彈出選單
  end;
  if message.LParam = wm_lbuttonup then begin //用鼠標左鍵點擊圖標
  //顯示應用程序窗口
  ShowWindow(Handle, SW_SHOW);
  //在任務欄上顯示應用程序窗口
  ShowWindow(Application.handle, SW_SHOW);
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
  not (GetWindowLong(Application.handle, GWL_EXSTYLE)
  or WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW));
  end;
  message.Result := 0;
  end 

  5.編寫Tform1.OnClose的代碼如下:  

  procedure TForm1.FormClose(Sender:TObject; var Action: TCloseAction);
  begin
  Action := caNone; //不對窗體進行任何操作
  ShowWindow(Handle, SW_HIDE); //隱藏主窗體
  //隱藏應用程序窗口在任務欄上的顯示
  ShowWindow(Application.Handle, SW_HIDE);
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
  GetWindowLong(Application.handle, GWL_EXSTYLE)
  or WS_EX_TOOLWINDOW AND NOT WS_EX _APPWINDOW);
  end;
  procedure TForm1.FormClose(Sender:TObject; var Action: TCloseAction);
  begin
  Action := caNone; //不對窗體進行任何操作
  ShowWindow(Handle, SW_HIDE); //隱藏主窗體
  //隱藏應用程序窗口在任務欄上的顯示
  ShowWindow(Application.Handle, SW_HIDE);
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
  GetWindowLong(Application.handle, GWL_EXSTYLE)
  or WS_EX_TOOLWINDOW AND NOT WS_EX _APPWINDOW);
  end; 

  6.編寫Exit代碼如下:  

  當用戶點擊Exit時實現完全退出應用程序。具體代碼如下: 

  procedure TForm1.ExitClick(Sender:TObject);
  begin
  //為ntida賦值,指定各項參數
  ntida.cbSize := sizeof(tnotifyicondataa);
  ntida.wnd := handle;
  ntida.uID := iid;
  ntida.uFlags := nif_icon + nif_tip + nif_message;
  ntida.uCallbackMessage := mousemsg;
  ntida.hIcon := Application.Icon.handle;
  ntida.szTip := 'Icon';
  shell_notifyicona(NIM_DELETE, @ntida);
  //刪除已有的應用程序圖標
  Application.Terminate;
  //中斷應用程序運行,退出應用程序
  end  

  通過以上步驟,我們即可用Delphi輕松實現系統狀態欄圖標。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
麻豆精品一区二区av白丝在线| 国产一区999| 国产欧美日韩在线观看| 日韩一区二区在线观看视频| 欧美老年两性高潮| 欧美福利视频导航| 日韩欧美国产系列| 久久久九九九九| 久久久精品蜜桃| 欧美国产一区在线| 国产精品国产自产拍高清av | 亚洲人精品午夜| 日韩美女久久久| 一区二区欧美视频| 日本特黄久久久高潮| 精品一区二区三区视频| 丰满岳乱妇一区二区三区| av毛片久久久久**hd| 99riav一区二区三区| 国户精品久久久久久久久久久不卡| 韩国av一区| 久久永久免费| 88在线观看91蜜桃国自产| 日韩欧美高清dvd碟片| 久久精品欧美一区二区三区麻豆| 国产精品美日韩| 亚洲国产精品精华液网站| 麻豆成人免费电影| www.欧美亚洲| 中文亚洲欧美| 欧美精品一二三四| 国产亚洲精品aa午夜观看| 亚洲欧美日韩国产成人精品影院| 午夜欧美视频在线观看| 国产成人鲁色资源国产91色综| 女女同性女同一区二区三区91| 激情偷拍久久| 国产日韩欧美亚洲| 国产精品久久久久婷婷| 亚洲va国产天堂va久久en| 久久99精品久久久久久久久久久久 | 国产精品日韩一区二区| 欧美午夜理伦三级在线观看| 精品久久久久久久久久久久包黑料 | 国产精品三级电影| 美女精品自拍一二三四| 女人香蕉久久**毛片精品| 国产精品一区二区三区免费观看| 欧美一区二区三区四区视频 | 国内精品免费**视频| 欧美日韩精品免费看| 欧美视频一区在线| 国产精品三级在线观看| 精品在线免费视频| 亚洲人成免费| 欧美大片免费久久精品三p | 伊人精品视频| 欧美一区二区日韩| 亚洲高清久久久| 欧美一区免费| 欧美福利一区二区| 亚洲一区二区四区蜜桃| 成人动漫av在线| 91成人在线观看喷潮| 亚洲国产电影在线观看| 国内精品免费在线观看| 亚洲在线成人| 中文字幕av一区二区三区高 | 久久久精品网| 国产精品国产精品国产专区不蜜| 久久国产精品区| 国产精品一区视频| 日本一区二区三区久久久久久久久不 | 日本欧美在线看| 99精品99| 国产精品理论片在线观看| 高清免费成人av| 欧美亚洲综合另类| 亚洲国产另类av| 亚洲无玛一区| 国产午夜精品久久久久久免费视| 国产一区二区三区免费播放| 蘑菇福利视频一区播放| 亚洲精品美国一| 国产精品videossex久久发布| 欧美欧美欧美欧美| 玖玖九九国产精品| 久久激情一区| 成人中文字幕合集| 欧美一区二区不卡视频| 久久99精品久久久久婷婷| 久久亚洲一区二区| 亚洲成人精品影院| 亚洲一区不卡| 亚洲二区在线视频| 国产精品久久久久9999高清| 亚洲黄色免费电影| 亚洲无线观看| 亚洲乱码国产乱码精品精可以看 | 91精品久久久久久久99蜜桃| 精品中文字幕一区二区| 欧美日韩一区二区在线视频| 青椒成人免费视频| 欧美性一二三区| 看电视剧不卡顿的网站| 欧美日韩精品系列| 国产一区高清在线| 欧美一区二区高清| av中文一区二区三区| 国产视频一区在线播放| 国产综合视频| 亚洲国产成人91porn| 久久午夜精品一区二区| 天堂av在线一区| 欧美高清视频一二三区| 国产剧情一区在线| wwwwww.欧美系列| 国色天香一区二区| 亚洲视频网在线直播| 亚洲一区区二区| 精品一区二区三区在线播放视频| 欧美日韩高清在线| jlzzjlzz亚洲日本少妇| 国产精品久久久99| 久久精品国产第一区二区三区最新章节 | 亚洲黄色小视频| 欧美午夜免费电影| 成人h动漫精品一区二| 国产女同互慰高潮91漫画| 一本一本久久| 国内精品久久久久影院色| 亚洲精品一区二区三区福利| 亚洲激情在线| 精油按摩中文字幕久久| 久久久综合视频| 国产欧美精品| 狠狠色丁香婷婷综合| 国产日韩欧美一区二区三区乱码| 一区二区三区欧美在线| 久久99最新地址| 久久久久久久综合日本| 久久岛国电影| 91一区在线观看| 午夜精品影院在线观看| 日韩精品一区二区三区在线观看 | 国产精品亚洲午夜一区二区三区| 欧美韩国一区二区| 欧洲精品视频在线观看| 97久久超碰精品国产| 亚洲一区在线看| 亚洲精品在线免费观看视频| 国产欧美一区二区三区国产幕精品| 中国av一区二区三区| 蜜桃视频一区| 欧美一区二区三区的| 99热免费精品| 精品精品欲导航| 91麻豆精品91久久久久同性| 色婷婷综合久久久中文字幕| 国产精品乱人伦中文| 91久久香蕉国产日韩欧美9色| 国产精品国产三级欧美二区| 97精品国产露脸对白| 色综合久久久久久久久久久| 亚洲欧美另类图片小说| 91麻豆精品国产91久久久久久| 亚洲特色特黄| 岛国一区二区在线观看| 午夜日韩在线观看| 国产偷国产偷亚洲高清人白洁| 91成人看片片| 一区二区三区精品国产| 色综合色综合色综合 | 久久电影网站中文字幕| 亚洲精品国产一区二区精华液| 2欧美一区二区三区在线观看视频| 色先锋久久av资源部| 亚洲无线一线二线三线区别av| 丁香五精品蜜臀久久久久99网站 | 国产在线观看免费一区| 亚洲国产视频在线| 国产精品日韩成人| 欧美大胆一级视频| 欧美日韩电影在线播放| 色网综合在线观看| 亚洲一区二区三区涩| 黄色成人91| 国产一区亚洲| 91麻豆免费在线观看| 丁香婷婷综合激情五月色| 久久成人av少妇免费| 日韩高清中文字幕一区| 亚洲一区二区三区三| 中文字幕一区二区三区在线播放 | 91一区二区在线| 成人三级伦理片| 国产成人精品亚洲午夜麻豆| 久久成人免费网站| 久久爱另类一区二区小说| 日本亚洲欧美天堂免费|