SHChangeNotify

機能
アプリケーションの実行により発生した、シェルに関するイベントをシステムに通知する
Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventsID As Long, _
ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventsID As Integer, _
ByVal uFlags As Integer, ByVal dwItem1 As Integer, ByVal dwItem2 As Integer)
引数
wEventsId
発生したイベントを指定する定数の組み合わせ
通常、一つのイベントを指定するが、複数のイベントを指定する場合でも
dwItem1とdwItem2とは、全てのイベントに対して同じ値を設定しなければならない
uFlags
dwItem1とdwItem2の意味を指定する定数
dwItem1
イベントにかかわるパラメータ1
dwItem2
イベントにかかわるパラメータ2
wEventsIdの定数
定数名
意味uFlagdwItem1dwItem2
SHCNE_ALLEVENTS&H7FFFFFFF全てのイベント000
SHCNE_ASSOCCHANGED&H8000000ファイルタイプの関連付けが変化したSHCNF_IDLIST00
SHCNE_ATTRIBUTES&H800アイテムの属性が変化したSHCNF_IDLISTか,SHCNF_PATH対象アイテムを設定0
SHCNE_CREATE&H2フォルダでないアイテムが作成されたSHCNF_IDLISTか,SHCNF_PATH作成するアイテムを設定0
SHCNE_DELETE&H4フォルダでないアイテムが削除されたSHCNF_IDLISTか,SHCNF_PATH削除するアイテムを設定0
SHCNE_DRIVEADD&H100ドライブが追加されたSHCNF_IDLISTか,SHCNF_PATHドライブのルートディレクトリを設定0
SHCNE_DRIVEADDGUI&H10000ドライブが追加されたので
シェルはドライブ用の新しい
ウインドウを用意しなければならない
SHCNF_IDLISTか,SHCNF_PATH追加するドライブのルートディレクトリキーを設定0
SHCNE_DEIVERMOVED&H80ドライブが削除されたSHCNF_IDLISTか,SHCNF_PATH削除するドライブのルートディレクトリキーを設定0
SHCNE_EXTENDED_EVENT&H80000(使用できない)
SHCNE_FREESPACE&H40000ドライブに空きスペースが変化したSHCNF_IDLISTか,SHCNF_PATH対象にするドライブのルートディレクトリキーを設定0
SHCNE_MEDIAINSERTED&H20ドライブにメディアを挿入したSHCNF_IDLISTか,SHCNF_PATH対象にするドライブのルートディレクトリキーを設定0
SHCNE_MEDIAREMOVED&H40ドライブからメディアを除去したSHCNF_IDLISTか,SHCNF_PATH対象にするドライブのルートディレクトリキーを設定0
SHCNE_MKDIR&H8フォルダ(ディレクトリ)が作成されたSHCNF_IDLISTか,SHCNF_PATH作成されたフォルダ名を設定0
SHCNE_NETSHARE&H200ローカルコンピュータ上でフォルダは
ネットワーク経由で共有されている
SHCNF_IDLISTか,SHCNF_PATHに対象のフォルダ名を設定0
SHCNE_NETNETUNSHARE&H400ローカルコンピュータ上でフォルダは
ネットワーク経由で共有されない
SHCNF_IDLISTか,SHCNF_PATH対象のフォルダ名を設定0
SHCNE_RENAMEFOLDER&H20000フォルダ名を変更したSHCNF_IDLISTか,SHCNF_PATH以前のフォルダ名新しいフォルダ名
SHCNE_RENAMEITEM&H1フォルダ以外のアイテム名を変更したSHCNF_IDLISTか,SHCNF_PATH以前のフォルダ名新しいフォルダ名
SHCNE_RMDIR&H10フォルダを削除するSHCNF_IDLISTか,SHCNF_PATH対象のフォルダ名0
SHCNE_SERVERDISCONNECT&H4000コンピュータはサーバから切り離されたSHCNF_IDLISTか,SHCNF_PATH対象のコンピュータ名0
SHCNE_UPDATEDIR&H1000既存のフォルダの内容が変化した
(フォルダ自身の変化はない)
SHCNF_IDLISTか,SHCNF_PATH対象のフォルダ名0
SHCNE_UPDATEIMAGE&H8000システムイメージリストのイメージが変化したSHCNF_DWORDシステムイメージリスト内の対象イメージのインデックス0
SHCNE_UPDATEITEM&H2000フォルダ出ない既存のアイテムが変化したSHCNF_IDLISTか,SHCNF_PATH対象のアイテム名0
次の定数は個々のイベントの組み合わせを定義している
SHCNE_DISKEVENTS&H2381F 全てのディスクイベント
SHCNE_GLOBALEVENTS&HC0581E0全てのグローバルイベント
次の定数は,他のイベントとあわせて使用する
SHCNE_INTERRUPT&H80000000指定したイベントはシステム割込みの結果として発生した
uFlagsの定数
SHCNF_DWORD&H3 32ビット値
SHCNF_IDLIST&H0 ITEMIDリスト
SHCNF_PATH&H5 パス名
SHCNF_PRINTER&H2 プリンタ名
SHCNF_FLUSH&H1000 通知が終わるまで関数は戻らない
SHCNF_FLUSHNOWAIT&H2000 通知処理が始まればすぐに戻る
サンプル
ダウンロード(SHChangeNotify.lzh 2.57KB)