首页 > 代码库 > delphi 实现用户自定义通知(User Notification)
delphi 实现用户自定义通知(User Notification)
unit Form_Main; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, ActiveX, ComObj, ShlObj, ShLwApi; type TFormMain = class(TForm, IQueryContinue, IUserNotificationCallback) Button1: TButton; CheckBox1: TCheckBox; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private I: IUserNotification2; public function QueryContinue: HRESULT; stdcall; function OnBalloonUserClick(const pt: TPoint): HRESULT; stdcall; function OnLeftClick(const pt: TPoint): HRESULT; stdcall; function OnContextMenu(const pt: TPoint): HRESULT; stdcall; end; var FormMain: TFormMain; implementation {$R *.dfm} procedure TFormMain.Button1Click(Sender: TObject); begin I.SetIconInfo(Application.Icon.Handle, ‘IUserNotification2演示‘); I.SetBalloonInfo(‘提示标题‘, ‘这是提示内容‘, 3); I.SetBalloonRetry(1000, 5000, 3); I.Show(self as IQueryContinue, 1000, self as IUserNotificationCallback); end; procedure TFormMain.FormCreate(Sender: TObject); begin I := CreateComObject(CLSID_UserNotification) as IUserNotification2; end; procedure TFormMain.FormDestroy(Sender: TObject); begin I := nil; end; function TFormMain.OnBalloonUserClick(const pt: TPoint): HRESULT; begin ShowMessage(‘Balloon User Click!‘); end; function TFormMain.OnContextMenu(const pt: TPoint): HRESULT; begin ShowMessage(‘On Context Menu‘); end; function TFormMain.OnLeftClick(const pt: TPoint): HRESULT; begin ShowMessage(‘Left Click!‘); end; function TFormMain.QueryContinue: HRESULT; begin if CheckBox1.Checked then Result := S_OK else Result := S_FALSE; end; end.
delphi 实现用户自定义通知(User Notification)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。