掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
タスクトレイのアイコンをクリックし、サイトを表示させるには(続き) (ID:36374)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ミスがあったのでもう一度書き込みます。 凶は憑かれたさんや、igyさんが言われたようにやってみました(間違ってるかもしれないですが自分なりにやりました)が、タスクトレイのアイコンをダブルクリックすると、Label1の所に左ダブルクリックと表示されるだけで何も開きません。(本来ならyahooのトップページが開くようにしてあります) ソースをはりますので、アドバイスをお願いします。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDblClick(Sender: TObject); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private 宣言 } NID : TNotifyIconData; procedure WMUSER(var Msg : TMsg); message WM_USER + 100; public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin with NID do begin cbSize := Sizeof(NID); hIcon := Application.Icon.Handle; Wnd := Form1.Handle; szTip := 'PAPY'; uCallbackMessage := WM_USER + 100; uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; end; //アイコンを追加 Shell_NotifyIcon(NIM_ADD, @NID); end; procedure TFOrm1.WMUSER(var Msg: TMsg); begin //左クリック時 if (Msg.wParam = WM_LBUTTONDOWN) then Label1.Caption :='左クリック' ; //右クリック時 if (Msg.wParam = WM_RBUTTONDOWN) then Label1.Caption :='右クリック'; //左ダブルクリック if (Msg.wParam = WM_LBUTTONDBLCLK) then Label1.Caption :='左ダブルクリック'; //右ダブルクリック時 if (Msg.wParam = WM_RBUTTONDBLCLK) then Label1.Caption :='右ダブルクリック' ; //中央ボタンをクリック if (Msg.wParam = WM_MBUTTONDOWN) then Label1.Caption :='中央ボタンをクリック'; //中央ボタンをクリック if (Msg.wParam = WM_MBUTTONDBLCLK) then Label1.Caption :='中央ボタンをダブルクリック'; //マウスが移動 if (Msg.wParam = WM_MOUSEMOVE ) then Label1.Caption :='マウスが通過'; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin //アイコンを削除 Shell_NotifyIcon(NIM_DELETE, @NID); end; //ここが今回やったところです procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (Msg.wParam = WM_LBUTTONDOWN) then Label1.Caption :='左ダブルクリック'; ShellExecute(Handle,nil,PChar(http://www.yahoo.co.jp/),nil,nil,SW_NORMAL); end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.