• 締切済み

VB6によるシステムトレイのアイコン操作

システムトレイにある複数のアイコンの中から、操作したいアイコン(プログラム)を特定し、マウスで行う右・左クリックあるいはダブルクリックを模擬して自動的に操作するプログラムを作ろうとしています。 知識が乏しいため、システムトレイそのもののハンドルを取得するとこまではできたのですが、その中から操作したいアイコンを特定する方法がわかりません。 マウスを置いた時にでるバルーンでアイコンを特定できないかとも考えましたが、バルーンのTEXTを取得する方法もわかりません。 検索すると「Shell_NotifyIcon」関数がよくヒットしますが、内容はシステムトレイにアイコンを追加する・削除する・バルーンを設定する、と必要とする情報にたどりつけない状態です。 環境は、Windows7、VB6です。よろしくお願いします。

みんなの回答

  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.1

> システムトレイそのもののハンドルを取得するとこまではできた Shell_NotifyIconでタスクトレイに追加したアイコンのハンドルを使えばいいでしょう。 下記サイトが参考になると思います。 「タスクトレイのアイコンを操作」 http://blog.goo.ne.jp/masaki_goo_2006/e/a067535abc8b6f1851db69bcdcf4b761

sho1313
質問者

補足

ご回答、ありがとうございます。システムトレイに複数のアイコンがあると思いますが、これ全部を1つのウィンドウ(?)として認識するハンドルを取得するところまではできています。ここでたとえば、スピーカー(音量)のアイコンをVB6で操作したい場合、このアイコンあるいはそれの基の実行プログラムを個別に識別して操作する方法はどうすれば良いのでしょうか?知識が乏しいので、申し訳ありませんが具体例を示していただくと助かります。よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • タスクトレイの常駐解除後について

    VB6(SP6)にてタスクトレイに常駐するプログラムを作成しました。 そして、プログラムを終了するとき下記コードにて常駐を解除しています。 Private Sub Form_Unload(Cancel As Integer) 'タスクトレイのアイコンを消去 ingAPIReVal = Shell_NotifyIcon(NIM_DELETE, nidNoftyIconData) '終了 End End Sub プログラムは無事終了するのですが、タスクトレイにアイコンが残ってしまいます。 マウスをタスクトレイに近づけると消えるのですが... 極端な話 5回実行・終了を繰り返すと、同じアイコンが5個並び...マウスを近づけると一気に消えてしまいます。 プログラムの動作に問題はないのですが、あまり体裁が良いとは思えず どうにかならないかと質問させて頂きました。 対処方法をご存じの方、ご教授下さいm(__)m

  • システムトレイのアイコンが消えました

    gooのIDメモリーを使用していまして PC起動の際のログインが面倒になり オートログインにチェックを入れました。 今までシステムトレイの中にアイコンが あったので設定等を右クリックからできた のですがアイコンが消えてしまったため 設定ができません。 IDとパスワードの保存はツールバーからと 右クリックからでできるのですがアイコンは どうすれば復活できるのかわかりません。 こんなことならオートログインを解除 したいのでよろしくお願いいたします。

  • システムトレイのアイコンを完全に消す方法は?

    OS:Windows XP SP2 起動しているソフトがシステムトレイにアイコン(時計の横)となって表示されていますが、 あるソフトを起動した状態のままで、システムトレイのアイコンを隠すソフトはあるでしょうか? 『タスクバー』の『プロパティ』より『アクティブでないインジケータを隠す』で、 『矢印』が出て一時的に隠せる機能は知っているのですが、『矢印』を開けば起動しているソフトは表示されてしまいます。 ソフト自体に『システムトレイから隠す』という機能があればよいのですが、無いソフトの場合、 起動していながら、システムトレイからアイコンを完全に消すことが出来るソフト、または方法はあるのでしょうか? その他、レジストリ操作で出来るものなのでしょうか? 知っている方がいらっしゃいましたら、どうぞご教授よろしくお願いいたします。

  • バルーンのアイコンをカスタマイズするには?

    Windowsのバルーンチップ(※)について質問です。 ※.Netライブラリ:System.Windows.Forms.Notifyicon バルーン内のアイコンをGoogleアップデータのようにオリジナルのものにしたいのですがその方法がわかりません。 MSDNにはWindows標準のアイコンを指定する方法しか載っておらず困っています。 どうすればGoogleアップデータのようにオリジナルのものにできるのでしょうか? ■開発環境 Microsoft Visual Basic 2005 Express Edition ■MSDN>System.Windows.Forms.Notifyicon http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.notifyicon(VS.80).aspx ■バルーン事例 http://www.dworkers.com/dss/p/faqdoc/001/

  • タスクトレイアイコンからのメニュー表示について

    今VBでプログラムを作成しています。 サンプルソースを調べたりして、「Shell_NotifyIcon」を使用してタスクトレイにアイコンを追加する事はできたのですが、そのアイコンを右クリック等してメニューを表示させることができません。コールバックメッセージにWM_MOUSEMOVEを指定しているのですがフォームのMouse_Moveイベント自体が発生していないようです。 いくつかサンプルソースをダウンロードして実行してみましたが問題は無かったので、環境のせいでは無いと思います。 原因の可能性として考えつくものがあったら教えて下さい。 (ソースコードは長くなるので割愛させて頂きます。APIを使用している部分は全てサンプルソースのコピーそのままです。)

  • Windowsプログラミングでのタスクトレイへの格納について

    Windowsプログラミングでのタスクトレイへの格納について 以下の動作を実現したいです。 (1)初回プログラム起動時タスクトレイにアイコン表示 (2)タスクトレイアイコンのポップアップメニューからプログラムのリージョンウィンドウを表示できる (3)以後デスクトップとタスクトレイ間で出し入れ可能 Shell_NotifyIcon関数などをつかってプログラム起動後メニューなどからメッセージをつかんで出し入れはできるのですが、初回起動時にタスクトレイに格納しようとするとリージョンウィンドウが表示されたままタスクトレイにアイコンが追加されてしまいます。起動時にタスクトレイのみに表示されるようにする方法分かる方教えてくださいお願いします。

  • タスクトレイに文字を表示するには

    よろしくお願い致します。 環境 WIN98 VC++6.0 MFC にて タスクトレイに文字を表示するにはどうすれば良いのでしょう? 現在::Shell_NotifyIcon( NIM_ADD, &m_stNotifyIcon );にてアイコンを表示することは出来ています。

  • システムトレイの右クリックで出るメニューを消す方法

     システムトレイのアイコンを右クリックするとメニューが出ますが、誤ってそうしてしまった場合にこれを消す方法が分かりません。何か項目を選べばそれで消えるのでしょうが、どれも意味のある項目ばかりでクリックしたくない場合に困ってしまいます。  システムトレイでさえなければどこか適当な場所をクリックすれば右クリックメニューは消えてくれるのですが、ことシステムトレイに限ってはどこをクリックしようが消えてくれません。どうすれば良いのでしょうか?

  • GNOME2のシステムトレイから削除してしまったアイコン(スピーカー)の復活方法

    環境:Ubuntu9.4 問題:システムトレイからスピーカーアイコンを削除してしまった <<行った事>> GNOME2起動後、通常であれば右上にネットワークアイコンや時刻表示が表示されていると思います。 そのうちの一つ”スピーカーアイコン”を操作ミスにより削除してしまいました。 Google検索にて調べて見たところ、そのトレイがシステムトレイと呼ばれている事、及びシステムメニューからセッションを選択して解決する方法を見つけることが出来ましたが、私のUbuntuにはセッション項目がありません。 ご存知の方、御教示願います。

  • フリーズ後のタスクトレイアイコンの戻し方

    パソコンを4~5日ぶっ続けて使っていると、フォルダの開閉などがだんだん動きが重たくなって、そのうちフォルダーを開いただけで、あるいは開いたフォルダ内のファイルを再生しようとクリックしたらフリーズします。 感じとしてはリソース不足のような気もします。 「システムエラーコード1400ウィンドウ ハンドルが無効です」というエラーがよくでます。何かのアプリのエラーメッセージなのかOSのエラーなのかわかりませんがこれが頻繁に出ると寿命と言う感じです。そのときは再起動してます。 上の、たとえばフリーズしたフォルダを消そうと、CTRL+ALT+DELでフォルダを終了すると、フォルダは消えてくれますが、変わりに画面全体が一瞬ちらつきます。具体的には壁紙を残して、0.2秒くらいデスクトップアイコンもタスクバーも全部消えます。そのちらついたあと、復帰するのですが、 画面右下のタスクトレイのアイコンが全部は復帰しません。画面がちらついたあと、再度スタートアップに登録したものを読み込んでいるかのように一つ一つ戻ってくるのですが、16個登録してるうちの半分くらいしか戻りません。 そこでタスクトレイに入れようと、プログラムからスタートアップで直接クリックするのですが、なぜかタスクトレイに反映されません。 カレンダー、ワンセグチューナー、驚速メモリなどのアイコンがプログラムをクリックしてもタスクトレイに戻りません。驚速メモリはバックグラウンドで動いてるのは警告が出るのでわかります。他のはわかりません。すごく困ります。再起動すればいいのですが、いろいろ作業をしてる途中でこれが起こると、作業終了までタスクトレイにアイコンがないままです。 どうしてこういうことが起こるのでしょう?MEでのリソース問題のようなものが、XPでもあるとしか思えないのですが。 また再起動なしにタスクトレイにアイコンを復活させる方法はないでしょうか?タスクマネージャーのプロセスをみて何とかならないかと思ったんですが良くわかりません。 バックグラウンドで明らかに働いてるにもかかわらず、タスクトレイから消えてしまったアイコンの復活方法が知りたいのですが、いい方法はないでしょうか? どなたかお気づきのことがあるかたおられましたら、アドバイスをよろしくお願いします。

このQ&Aのポイント
  • 起業したばかりで会社の信用がない場合、連帯保証人がいないと部屋の借り入れは困難です。
  • 安定収入がなく信用もないため、入居審査でもお断りされる可能性があります。
  • ただし、起業者のための特別な借り入れ制度や保証人代行サービスなども存在している可能性があります。
回答を見る