掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
タスクトレイでの実行 (ID:125499)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは、宜しくお願いします。 実行時にタスクトレイに入るように実行したく、 以下のようなソースを探して来たのですが、 実行すると.hIcon = Form1.Iconの所で「オブジェクトが必要です。」 のメッセージが出てしまいます。 Form1のIConプロパティにアイコンファイルを指定したのですが、 やはり同様の現象が起こります。 アイコンファイルを選択してもプロパティは(アイコン)のままなのが 気になります。 どなたか教えて下さいませんでしょうか。 Option Explicit Private Sub Form_Load() Picture1.Visible = False 'PictureBoxをForm1に不可視で張り付けておく。 Dim typNID As NOTIFYICONDATA Dim rc As Long With typNID .cbSize = Len(typNID) '構造体のサイズ(BYTE)を設定 .hwnd = Picture1.hwnd 'メッセージを受け取るウィンドウ .uID = 0 .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE .uCallbackMessage = WM_MOUSEMOVE '通知するメッセージ .hIcon = Form1.Icon '表示アイコンの設定 .szTip = App.Title & vbNullChar '表示テキスト End With 'API関数呼び出し rc = Shell_NotifyIcon(NIM_ADD, typNID) End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single) 'ScaleModeを3(pixcel)にしておくこと。 'コールバックされた値がXに来るので比較して処理する。 Select Case X Case WM_LBUTTONDOWN Text1.Text = "左が、クリックされました。" Case WM_RBUTTONDOWN Text1.Text = "右が、クリックされました。" Case WM_LBUTTONDBLCLK Text1.Text = "左が、ダブルクリックされました。" Case WM_RBUTTONDBLCLK Text1.Text = "右が、ダブルクリックされました。" End Select End Sub Option Explicit Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _ "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData _ As NOTIFYICONDATA) As Long Public Const NIM_ADD = &H0 'タスクバーにアイコンを追加 Public Const NIM_MODIFY = &H1 '既存のアイコンを更新 Public Const NIM_DELETE = &H2 '既存のアイコンを削除 Public Const NIF_ICON = &H2 'hIconが有効 Public Const NIF_MESSAGE = &H1 'uCallbackMessageが有効 Public Const NIF_TIP = &H4 'szTipが有効 Type NOTIFYICONDATA cbSize As Long '構造体のバイト数 hwnd As Long '通知先のウィンドウのハンドル uID As Long '表示するアイコンのID uFlags As Long '設定する値の定数 uCallbackMessage As Long 'アイコン上でのマウスイベントが、発生するとウインドウに _ メッセージを送る hIcon As Long '追加 更新 削除 変更 のアイコンのハンドル szTip As String * 64 'チップヘルプテキスト End Type Public Const WM_MOUSEMOVE = &H200 Public Const WM_LBUTTONDOWN = 7695 '左が押された時 Public Const WM_LBUTTONDBLCLK = 7725 '左がダブルクリックされた時 Public Const WM_RBUTTONDOWN = 7740 '右が押された時 Public Const WM_RBUTTONDBLCLK = 7770 '右がダブルクリックされた時
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.