OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

フォルダ内の更新を監視する

  • 困ってます
  • 質問No.209104
  • 閲覧数257
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 73% (179/243)

こんにちは、honiyonです。
 Windowsについて質問です。

 Explorerであるフォルダを表示しておいた場合に、フォルダ内にファイルの作成・削除等の変更があると自動的に再表示されます。

 これはどのような仕組みになっているのでしょうか?
 もしかして数秒単位でスキャンを行っているだけ?

 任意のフォルダ内の変更を検知するプログラムを作りたいと考えています。
 何か数秒単位でスキャンより効率の良い方法は無いかと考えているのですが...

 宜しくお願いします(..

 
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

書き間違い。
FindNextChangeNotification(hNotification);

FindNextChangeNotification(hNotification[1]);
お礼コメント
honiyon

お礼率 73% (179/243)

こんにちは、honiyonです。

 ご回答ありがとうございます。
 各APIを調べて早速実験&成功しました(^^)

 ありがとうございました(..
投稿日時 - 2002-02-01 12:10:38
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1

かなり適当に書きますが、やりたい事はわかってもらえると思います。 ---- メイン側 ---- HANDLE hNotification[3]; void Start() { hNotification[0] = CreateEvent(NULL, TRUE, FALSE, NULL); hNotification[1] = FindFirstChangeNotification(.. ...続きを読む
かなり適当に書きますが、やりたい事はわかってもらえると思います。

---- メイン側 ----
HANDLE hNotification[3];

void Start()
{
hNotification[0] = CreateEvent(NULL, TRUE, FALSE, NULL);
hNotification[1] = FindFirstChangeNotification(...
hNotification[2] = CreateThread(...
}

void Stop()
{
SetEvent(hNotification[0]);
WaitForSingleObject(hNotification[2]);
FindCloseChangeNotification(hNotification[1]);
CloseHandle(hNotification[0]);
CloseHandle(hNotification[2]);
}

---- 通知取得スレッド ----
for(;;)
{
switch (WaitForMultipleObjects(2, hNotification, FALSE, INFINITE))
{
case WAIT_OBJECT_0:// 終了イベント
ExitThread(0);

case WAIT_OBJECT_0 + 1:// 通知イベント
<何らかの方法でメイン側に通知する>;
FindNextChangeNotification(hNotification);
}
}


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ