Windows Mobile中的檔案改變通知

2021-05-21 17:38:27 字數 985 閱讀 6043

在資源管理器中,刪除乙個檔案,更改乙個資料夾名稱,都能及時重新整理。這是怎麼做到的呢?答案是使用了檔案改變通知。

先看乙個結構

typedef struct tagshchangenotifyentry shchangenotifyentry;

要接收檔案改變的訊息,我們要使用乙個視窗hwnd,在視窗建立的wm_create訊息處註冊:

shchangenotifyentry schnenotifyentry;

schnenotifyentry.dweventmask = shcne_allevents;//監視所有事件

schnenotifyentry.pszwatchdir = null;//要監視的目錄名,null表示所有

schnenotifyentry.frecursive = true;//監視目錄時,是否遞迴

shchangenotifyregister(hwnd, &schnenotifyentry);

在視窗的過程函式裡,我們響應wm_filechangeinfo訊息

case wm_filechangeinfo:

lpfci = &(lpfcn->fci);

if (null == lpfci)

else

}shchangenotifyfree(lpfcn);

}break;

shcneevent函式實現如下:

bool shcneevent(filechangeinfo *lpfci)

return true;

}根據事件,就可以知道是哪個檔案或目錄發生了改變。

最後,在hwnd銷毀處,要登出:

Windows Mobile中GPRS連線網路

windows mobile程式中如果要使用http或socket連線伺服器,需要先連線網路。可以使用connmgrestablishconnectionsync函式來連線。如果知道乙個接入點的名稱,則可以通過connmgrenumdestinations得到相應接入點的guiddestnet。然後...

Windows Mobile中GPRS連線網路

windows mobile程式中如果要使用http或socket連線伺服器,需要先連線網路。可以使用connmgrestablishconnectionsync函式來連線。如果知道乙個接入點的名稱,則可以通過connmgrenumdestinations得到相應接入點的guiddestnet。然後...

Windows Mobile中的檔案改變通知

在資源管理器中,刪除乙個檔案,更改乙個資料夾名稱,都能及時重新整理。這是怎麼做到的呢?答案是使用了檔案改變通知。先看乙個結構 typedef struct tagshchangenotifyentry shchangenotifyentry 要接收檔案改變的訊息,我們要使用乙個視窗hwnd,在視窗建...