Delphi made tray programs

xiaoxiao2021-03-06  65

Unit umain;

Interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, shellapi, Menus, Buttons, ExtCtrls; const mousemsg = wm_user 1; iid = 100; type TForm1 = class (TForm) MainMenu1: TMainMenu; Panel1: TPanel ; SpeedButton1: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: ​​TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; PopupMenu1: TPopupMenu; exit1: TMenuItem; SpeedButton2: TSpeedButton; procedure SQLLMClick (Sender: TObject); procedure N2Click (Sender: TObject); procedure SpeedButton1Click (Sender: TObject); procedure FormClose (Sender: TObject; var Action: TCloseAction); procedure FormCreate (Sender: TObject); procedure exit1Click (Sender: TObject); private {Private declarations} procedure mousemessage (var message : tMessage); Message Mousemsg; public {public declarations} procedure exec (sender: TOBJECT); 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;

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, not (GetWindowLong (Application .handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW)); end; procedure TForm1.FormCreate (Sender: TObject); begin 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_ADD, @ntida); end;

procedure TForm1.exit1Click (Sender: TObject); begin 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.

转载请注明原文地址:https://www.9cbs.com/read-89800.html

New Post(0)