• 締切済み

NOTIFYICONDATAについて

kmb01の回答

  • kmb01
  • ベストアンサー率45% (63/138)
回答No.1

もし使用しているのがVC++6.0なら、2000以降追加された機能はそのままでは使用できません。 最新のPlatformSDKをインストールする必要があります。

参考URL:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
hiko758
質問者

補足

ありがとうございます。 インストールしてみましたが、同じエラーが出てコンパイルできません。 他に何か考えられることはありませんでしょうか。 ちなみに開発環境はVC++6.0です。質問の際に抜けておりました。申し訳ありません。

関連するQ&A

  • NortonAntiVirus2000「処理できない例外が起きました」メッセージ

    NortonAntiVirus2000を常駐させています。 タスクトレイのアイコンをダブルクリックすると「処理できない例外が起きました。エラーはUnknown」というメッセージが出ます。 Symantec社ナレッジから調べてMfc42.dllファイルの拡張子を.oldに変更しましたが、「NMain.exe - DLLが見つかりません ダイナミックリンクライブラリMfc42.Dllが指定されたファイルC:\ProgramFiles...に見つかりませんでした。」 というメッセージが出て、起動できません。 とりあえずオンラインスキャンを実行してみようと思いますが、ほかに何か有効な改善方法はありますか? windows2000SP3、IE6SP1、Becky!使用 最近添付ファイルを開いたことはありません。

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

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

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

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

  • Outlook Expressに関して

    タスクトレイに常駐させることはできませんか? メールが来たらいつでもわかるように,1分毎の自動チェックを 入れているんですが少しジャマになりまに感じるんです. バージョンは6.0です.ご存知の方,よろしくお願いします.

  • VC++でタスクバーに表示させない方法。(非MFC)

    VC++6.0 で常駐アプリの開発をしているのですが、 MFCを使わずにダイアログを作成し、 タスクトレイにアイコンを表示するのはできたのですが、タスクバーには表示が残ってしまいます。 タスクバーに表示させない方法を教えてください。 よろしくお願いします。

  • タスクトレイからアイコンを削除したい

    VB6.0にて、自作のアプリ「zisaku.exe」から、タスクトレイ常駐型の他アプリケーション「aiueo.exe」を再起動したいと考えています。 しかし、色々調べて試してみたのですが、Shell_NotifyIconに設定する設定値が分からず困っています。教えていただけないでしょうか。 (「aiueo.exe」はウィンドウを持たない) 動作フロー (1)「aiueo.exe」のプロセスを削除する。(タスクマネージャにて確認。動作OK) (2)「aiueo.exe」のタスクトレイアイコンを削除する。(設定値が分からない) (3)「aiueo.exe」を起動する。(起動後は自動でタスクトレイに入る) 開発環境 WindowsXP SP2 VB6.0-SP6 コード 'タスクトレイ関連の構造体と定数 Private Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 dwState As Long dwStateMask As Long End Type Private Const NIF_ICON = &H2 Private Const NIF_MESSAGE = &H1 Private Const NIF_TIP = &H4 Private Const NIM_ADD = &H0 Private Const NIM_DELETE = &H2 Private Const NIM_MODIFY = &H1 Private Const WM_MOUSEMOVE = &H200 Private Const WM_LBUTTONDBLCLK = &H203 Private Const WM_LBUTTONDOWN = &H201 Private Const WM_LBUTTONUP = &H202 Private Const WM_RBUTTONDBLCLK = &H206 Private Const WM_RBUTTONDOWN = &H204 Private Const WM_RBUTTONUP = &H205 Private Sub aiueoReStart() Dim intCnt As Integer Dim lngRet As Long Dim strBuf As String Dim strSql As String Dim lobjProcess As Object Dim lstrModule As String Dim NID As NOTIFYICONDATA lstrModule = "aiueo.exe" 'プロセスを削除する。 strSql = "SELECT * FROM win32_process WHERE name='" & lstrModule & "'" For Each lobjProcess In GetObject("winmgmts:").ExecQuery(strSql) If lstrModule = lobjProcess.Name Then lobjProcess.Terminate End If Next 'Shell_NotifyIconを使ってタスクトレイより削除する。 'NIDの設定値が分からない。 '色々試して見たけど巧くいかなかった。 Shell_NotifyIcon NIM_DELETE, NID lngRet = Shell("C:\Program Files\aiueo.exe", vbNormalNoFocus) If lngRet = 0 Then lngRet = MsgBox("起動失敗!", vbCritical) End If Exit Sub End Sub 以上です。 どうかよろしくお願い致します。 (質問するカテゴリを間違えていたため、一時削除しました。申し訳ありません。)

  • ハードウェアの安全な取り外しを簡単に

    ハードウェアの安全な取り外しを、タスクトレイからではなく簡単に行う方法として 「rundll32 shell32.dll,Control_RunDLL hotplug.dll」のショートカットをデスクトップに作成する という方法があります。 これはタスクトレイの『ハードウェアの安全な取り外し』を右クリックして取り外す方法と同じで、手順(クリック)を5回ほど繰り返す必要があります。 一方、タスクトレイのアイコンを左クリックする方法であれば、2ステップで取り外すことが出来ます。 こちらの機能をデスクトップにショートカット作成する方法はありませんでしょうか。 またそれに代わる機能をご存知の方はいらっしゃいませんでしょうか。 ソフトを使用する場合はフリーで、かつレジストリをいじらないものの方がより良いです。 パソコン操作に疎い方が簡単に操作できる方法を探っております。 ご存知の方がいらっしゃいましたら教えてください。

  • 「ハードウェアの安全な取り外し」アイコン

    パソコンはMouse MDV-GZ7200 Windows 8.1 64Bit です。 ハードウェアの安全な取り外しを簡単に行なえるように「ショートカット」作成の項目に 「rundll32 shell32.dll,Control_RunDLL hotplug.dll」と入力して作りました。 USBメモリーや外付けHDDを取り外すのにこの「ショートカット」を使ったところ、 「このデバイスは現在使用中です。デバイスを使用しているプログラム またはウィンドウを閉じてから、再試行してください。」 と出ます。 何回やっても同じでした。 タスクトレイのハードウェアの安全な取り外し(USBメモリー形)を使うとエラーもなくうまく取り外しできます。 作成した「ショートカット」アイコンを使う前でも、「ショートカット」アイコンを使ってエラーが出た後でもタスクトレイの「ハードウェアの安全な取り外し」を使うとエラーは出ません。 「rundll32 shell32.dll,Control_RunDLL hotplug.dll」の入力がWin81 64Bitでは間違っているのでしょうか? Win81 64Bitに合った「ショートカット」作成方法を教えてください。

  • ツールバー上のタスクトレイの表示変更

    画面下にツールバーが表示されている時にツールバーの 右端にタスクトレイ(常駐プログラム)が表示されて いると思いますが タスクトレイのみを縦に表示出来ますか? 友人は適当にいじっていたら ツールバーは画面下に表示されたままでも右端のタスクトレイだけが縦に表示されるようになってしまったそうです。したがって 常駐プログラムの先頭1つしか表示されず ツールバー自体を縦に伸ばさないと先頭以降の常駐プログラムが表示されないようになってしまったそうです。 ですから 特定のソフトを使用せずに出来るようなのです。 ちなみに友人らはWindows98やWindows2000で現象を確認 したそうですが 私のWindowsMEでは再現できません。 友人はどうやってなったのかも どうやったら直ったのかもわからないので 気持ちが悪いといいます。 私もとても気になるので ご存知の方は是非教えてください。よろしくお願いします。

  • 構造体型のポインタ変数を含む構造体

    struct seiseki_tag { Int32 math ; Int32 english ; Int32 science; } ; typedef struct seiseki_tag SEISEKI ; struct personal_tag { Char name ; Int32 num ; SEISEKI *sptr } : typedef struct personal_tag PERSONAL ; struct info_tag { PERSONAL person_info ; } ; typedef struct info_tag INFO ; たとえば、上記のように3つの構造体があり、PERSONAL構造体のメンバーに SEISEKI構造体の型を持つポインタ変数が含まれているような場合で、下記のように INFO型のポインタ変数からSEISEKI構造体のメンバーを参照する方法を教えてください。 PERSONAL構造体メンバーのnameやnumは INFO *info ; info->person_info.name ; info->person_info.num ; のように参照すると思いますが、sptrが示すSEISEKI構造体のメンバーへの アクセスができません。下記のように参照を試みたのですがコンパイルは 通るのですが、実際に参照できていませんでした。 INFO *info ; SEISEKI *seiseki ; seiseki = info->person_info.sptr ; seiseki->math ; 判りにくい説明で申し訳ありませんが、どなたか教えていただければと思います。 よろしくお願いいたします。