unit1.pas
来自「一个托盘程序能够快速打开记事本、画板、注册表以IE设置属性」· PAS 代码 · 共 63 行
PAS
63 行
unit Unit1;
interface
uses
Windows,ShellAPI, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Menus,ExtCtrls;
const
ICON_ID= 1;
MI_ICONEVENT= WM_USER+ 1;
type
TForm1 = class(TForm)
Button1: TButton;
PopupMenu1: TPopupMenu;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
procedure FormCreate(Sender: TObject);
private
procedure SetupIcon;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
NormalIcon, DisabledIcon: TIcon; //正常和失效情况下的图标
Status: Boolean; //标志是“使用状态”还是“禁用状态”
Apath: String;
implementation
{$R *.dfm}
procedure TForm1.SetupIcon;
var
IconData: TNotifyIcondata;
begin
NormalIcon:= TIcon.Create;
DisabledIcon:= TIcon.Create;
NormalIcon.LoadFromFile(Apath+ '1.ico');
DisabledIcon.LoadFromFile(Apath+ '2.ico');
IconData.cbSize:= SizeOf(IconData);
IconData.Wnd:= Handle;
IconData.uID:= Icon_ID;
IconData.uFlags:= NIF_ICON or NIF_MESSAGE or NIF_TIP;
IconData.uCallbackMessage:= MI_ICONEVENT;
IconData.hIcon:= NormalIcon.Handle;
IconData.szTip:= '新增托盘图标';
Shell_NotifyIcon(NIM_ADD, @IconData);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Apath:= ExtractFilePath(ParamStr(0));
Status:= True;
SetupIcon;
// ChangeIcon(True);
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?