在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IniFiles, ExtCtrls, bsSkinData, BusinessSkinForm, Menus, bsSkinMenus,shellapi, ImgList; type Tmain = class(TForm) bsSkinData: TbsSkinData; bsBusinessSkinForm1: TbsBusinessSkinForm; Image1: TImage; Timer1: TTimer; Label1: TLabel; PopupMenu1: TbsSkinPopupMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Timer2: TTimer; ImageList1: TImageList; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } procedure WndProc(var Msg: TMessage); override; end; const TrayMsgStr = 'TrayNotifyIconMsg'; var main: Tmain; shi,fen,miao:integer; nd0,nd1: NotifyIconData; hs: array[0..1]of LongWord; WM_TRAYNOTIFY: Cardinal; IconFlag: integer; implementation {$R *.DFM} procedure TMain.WndProc(var Msg: TMessage); var pt:TPoint; begin with Msg do begin if Msg = WM_TRAYNOTIFY then begin case lParam of WM_LBUTTONDOWN: begin hs[1]:=LoadIcon(hInstance, 'Icon1'); nd1.cbSize := sizeof(NotifyIconData); nd1.Wnd := Handle; nd1.uID := 1; nd1.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; nd1.uCallbackMessage := WM_TRAYNOTIFY; nd1.hIcon := hs[1]; StrPLCopy(nd1.szTip, 'Thank You !',63); Shell_NotifyIcon(NIM_MODIFY,@nd1); IconFlag :=1; Main.Show ; end; WM_LBUTTONDBLCLK: begin ShowMessage('double click'); end; WM_RBUTTONDOWN: begin SetForegroundWindow(Handle); GetCursorPos(pt); PopupMenu1.Popup(Pt.X, Pt.Y); end; end; end; end; inherited; end; procedure Tmain.FormCreate(Sender: TObject); begin setwindowlong(application.handle,gwl_exstyle,ws_ex_toolwindow); WM_TRAYNOTIFY := RegisterWindowMessage(TrayMsgStr); hs[0]:=LoadIcon(hInstance, 'MainIcon'); nd0.cbSize := sizeof(NotifyIconData); nd0.Wnd := Handle; nd0.uID := 0; nd0.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; nd0.uCallbackMessage := WM_TRAYNOTIFY; nd0.hIcon := hs[0]; StrPLCopy(nd0.szTip, '速普得应用服务器,正在运行...',63); Shell_NotifyIcon(NIM_ADD,@nd0); IconFlag :=0; with Timer2 do begin Enabled := False; Interval := GetDoubleClickTime; end; end; procedure Tmain.FormDestroy(Sender: TObject); begin if (IconFlag=0) then Shell_NotifyIcon(NIM_DELETE, @nd0) else Shell_NotifyIcon(NIM_DELETE, @nd1); end; procedure Tmain.N3Click(Sender: TObject); begin main.Show; end; procedure Tmain.N4Click(Sender: TObject); begin beep; if messagedlg('如果你退出该服务,ERP系统将无法正常运行!'+#13+'你确定要强行退出应用服务器吗? Y/N',mtwarning,[mbyes,mbno],0) = mryes then Application.Terminate; end; procedure Tmain.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caNone; main.Hide; end; end. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论