青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

春暖花開
雪化了,花開了,春天來了
posts - 149,comments - 125,trackbacks - 0
今天完成了一個任務,就是在mobile上如何監控文件的操作。這個SDK中有相應的例子,為FileChangeNotif

 
如何實現文件監控?
         
首先要在窗口注冊,這個要用到SHChangeNotifyRegister,這個函數的主要功能就是列舉一個窗口來接收change notifications.
         
在這個注冊的窗口中,響應WM_FILECHANGEINFO這個消息,來進行我們響應的操作。
         
如何我們不想監控了,則可以使用SHChangeNotifyDeregister,來移除相應的注冊窗口。

這樣我們就可以實現對一個文件夾內文件的生成,刪除,改名等等操作的監控。

下面我們再具體來談談每一步如何操作。
1
SHChangeNotifyRegister的運用
   SHChangeNotifyRegister
的原型為
  BOOL WINAPI SHChangeNotifyRegister(

HWND hwnd,

SHCHANGENOTIFYENTRY * pshcne

);

  其中,hwnd,為接收change notification的窗口;

pshcne是一個指向SHCHANGENOTIFYENTRY結構的指針,它用來指明窗口接收的change notification的類型.如果設為NULL,窗口將接收all file system, network media類型的notifications.

SHCHANGENOTIFYENTRY是什么樣的一個結構,我們看一下它的定義

typedef  struct  tagSHCHANGENOTIFYENTRY {
   DWORD dwEventMask;
   LPTSTR pszWatchDir;
 BOOL fRecursive;

} SHCHANGENOTIFYENTRY;

dwEventMask 指定發生什么時間來發送notification 消息

pszWatchDir 指定監控路徑,該值為NULL的情況下,是監控所有的文件。

fRecursive指定是否只監控指定路徑還是監控指定路徑及其子文件夾。

 

知道了這些,我們不妨寫一個這樣的函數,來啟動文件監控。

代碼如下:

BOOL StartFileMonitor(HWND hWnd, LPTSTR lpFilePath)

{

     SHCHANGENOTIFYENTRY schneNotifyEntry;

     schneNotifyEntry.dwEventMask = SHCNE_ALLEVENTS;

     schneNotifyEntry.pszWatchDir = lpFilePath;

     schneNotifyEntry.fRecursive = TRUE;

 

     return SHChangeNotifyRegister(hWnd, &schneNotifyEntry);

}

2、如何處理WM_FILECHANGEINFO消息

WM_FILECHANGEINFO 中的參數lParam,指向FILECHANGENOTIFY,含有相關的數據。所以我們在收到該消息后,先作的一部操作就是

FILECHANGENOTIFY *lpfcn = (FILECHANGENOTIFY*)lParam;

FILECHANGENOTIFY的結構為:

typedef struct tagFILECHANGENOTIFY {

 DWORD dwRefCount;

 FILECHANGEINFO fci;

} FILECHANGENOTIFY;

我們主要用到了其中的fci參數。

FILECHANGEINFO的結構為:

struct _FILECHANGEINFO {

 DWORD cbSize;

 LONG wEventId;

 ULONG uFlags;

 DWORD dwItem1;

 DWORD dwItem2;

 DWORD dwAttributes;

 FILETIME ftModified;

 ULONG nFileSize;

} FILECHANGEINFO, *LPFILECHANGEINFO;

dwEventId SHCHANGENOTIFYENTRY結構中的dwEventMask對應。

dwItem1,dwItem2是事件依賴的值,里面包括了我們需要的文件的完整路徑。如果是進行創建文件的操作,則dwItem1是創建后文件的完整路徑,如果是對文件進行重新命名操作的話,則dwItem2是修改后文件的完整路徑。此處對其他參數不做介紹,大家需要的話,可以查看一下。

 

我們做完相應的操作后,要知道釋放,此時要用到SHChangeNotifyFree。這個用起來就簡單很多,如SHChangeNotifyFreelpfcn)。

 

下面給大家一小段示例代碼,如下

case WM_FILECHANGEINFO:

     {  

FILECHANGENOTIFY    *lpfcn;

          FILECHANGEINFO        *lpfci;   

lpfcn = (FILECHANGENOTIFY *)lParam;

         if (NULL == lpfcn)

         {

             break;

         }

         // see if the pointer to the file change info structure

         lpfci = &(lpfcn->fci);

         if (NULL == lpfci)

         {

             break;

         }

           else

           {

               switch (lpfci->wEventId) 

                     {

                     case SHCNE_RENAME:

                            {

                                   //……

                            }

                            break;

                     }    

           }

           SHChangeNotifyFree(lpfcn);

}

break;

 

3、如何停止文件監控

   停止文件監控比較簡單,只要使該窗口不接收WM_FILECHANGEINFO消息即可。使用SHChangeNotifyDeregister(hWnd)即可。

 

以上是我今天學習的一些總結,此外需要注意的一個小地方,在mobile上,把一個文件從一個文件夾拷到另一個文件夾,此時響應的事件是SHCNE_CREATE,二從電腦上拷貝一個文件到mobile上,響應的消息為SHCNE_RENAME。我注意到從電腦上拷貝的話,mobile會先生成一個Temp文件夾內生成一個臨時文件,然后再在我們指定的文件夾內生成一個文件。這個機制我還不是很清楚為什么。

posted on 2009-02-08 16:20 Sandy 閱讀(1624) 評論(2)  編輯 收藏 引用 所屬分類: windows學習

FeedBack:
# re: mobile上監控文件的操作[未登錄]
2009-12-22 10:47 | kkk
這個監控是在文件操作完成之后才能收到嗎?要是防止復制、發送等能不能用這個呢?  回復  更多評論
  
# re: mobile上監控文件的操作
2009-12-22 15:09 | Sandy
@kkk

好像不可以。要是防止復制、發送操作什么的,可以用一下鉤子吧。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩午夜av在线| 亚洲国产欧美不卡在线观看| 麻豆国产精品777777在线| 亚洲精品永久免费精品| 你懂的网址国产 欧美| 久久精品国产视频| 欧美成人在线影院| 国产欧美欧美| 韩国av一区二区| 亚洲日本视频| 另类天堂av| 欧美成人在线免费观看| 亚洲第一主播视频| 狠狠久久亚洲欧美| 欧美日韩精品一区视频| 欧美一区二区高清| 国产亚洲激情在线| 国产一区欧美| 久久精品在线播放| 国产欧美日韩免费| 国产欧美一区二区三区沐欲 | 久久精品人人做人人爽电影蜜月| 久久高清一区| 亚洲国产小视频| 亚洲一二区在线| 久久一二三国产| 国产精品成人免费| 亚洲国产综合在线看不卡| 亚洲视频在线一区| 美日韩精品视频免费看| 制服丝袜亚洲播放| 欧美xx视频| 国产一区二区黄| 在线一区二区日韩| 美女性感视频久久久| 一本一道久久综合狠狠老精东影业 | 日韩午夜一区| 欧美在线日韩| 99国产精品自拍| 欧美成人嫩草网站| 国自产拍偷拍福利精品免费一| 亚洲视频你懂的| 亚洲国产精品久久| 久久精品亚洲精品| 国产亚洲a∨片在线观看| 一卡二卡3卡四卡高清精品视频| 久久久噜久噜久久综合| 亚洲一区二区三区免费观看| 欧美激情在线有限公司| 亚洲国产精品一区制服丝袜| 久久久99免费视频| 亚洲男女自偷自拍| 欧美三级乱人伦电影| av不卡在线| 91久久久久久久久| 欧美电影免费观看网站| 亚洲高清视频一区| 欧美r片在线| 久久男人资源视频| 亚洲第一搞黄网站| 欧美成人高清视频| 欧美成年人网站| 亚洲免费电影在线观看| 亚洲福利在线观看| 欧美精品亚洲| 亚洲男同1069视频| 国产一区在线观看视频| 国产欧美一区二区三区视频| 亚洲欧美精品中文字幕在线| 一本久久综合亚洲鲁鲁| 欧美午夜久久久| 亚洲欧美韩国| 欧美一进一出视频| 亚洲第一久久影院| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲一卡久久| 国产欧美精品| 老司机精品导航| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲国产aⅴ天堂久久| 欧美成人资源| 欧美色播在线播放| 久久aⅴ乱码一区二区三区| 欧美在线欧美在线| 亚洲精品国产系列| av成人天堂| 含羞草久久爱69一区| 亚洲黄色小视频| 国产精品视频久久| 欧美成人免费在线视频| 欧美日韩四区| 鲁大师影院一区二区三区| 欧美精品在线观看一区二区| 午夜精品福利一区二区三区av | 国产一区二区欧美日韩| 开元免费观看欧美电视剧网站| 麻豆久久久9性大片| 亚洲无线一线二线三线区别av| 亚洲欧美另类久久久精品2019| 尤物yw午夜国产精品视频明星| 最新日韩欧美| 国产日韩欧美在线一区| 亚洲国产婷婷香蕉久久久久久| 国产精品入口日韩视频大尺度| 亚洲国产精品va在线观看黑人| 国产九区一区在线| 亚洲精品乱码久久久久久日本蜜臀| 国产欧美 在线欧美| 亚洲激情在线视频| 尹人成人综合网| 亚洲在线视频免费观看| 99re6热在线精品视频播放速度 | 欧美三级乱人伦电影| 蜜桃伊人久久| 国产精品一区久久| 亚洲精品国产日韩| 在线观看91久久久久久| 亚洲小说春色综合另类电影| 亚洲精品久久久久久下一站| 欧美伊久线香蕉线新在线| 亚洲自拍三区| 国产精品v日韩精品v欧美精品网站| 在线亚洲精品| 快播亚洲色图| 国产一区成人| 亚洲一区二区四区| 中日韩在线视频| 欧美精品免费看| 欧美电影免费网站| 亚洲第一精品夜夜躁人人爽| 午夜久久福利| 久久都是精品| 国产毛片精品视频| 一区二区三区国产盗摄| 中日韩美女免费视频网址在线观看| 蜜桃av一区二区三区| 免费看亚洲片| 亚洲国产日韩欧美在线动漫| 久久久久久久久岛国免费| 久久久久久久久久久成人| 国产美女扒开尿口久久久| 亚洲欧美日韩专区| 欧美在线视频在线播放完整版免费观看| 欧美日韩国产片| 一区二区三区欧美视频| 亚洲欧美日韩在线播放| 欧美午夜不卡在线观看免费| 一区二区三区视频观看| 亚洲在线视频一区| 国产精品久久久久久久浪潮网站 | 欧美激情小视频| 亚洲精品国产系列| 欧美成人国产一区二区| 欧美高清在线精品一区| 亚洲精品社区| 国产精品久久久久三级| 欧美中文字幕在线观看| 欧美国产先锋| 亚洲一区二区成人| 国产欧美精品在线| 麻豆国产精品777777在线| 日韩视频三区| 久久综合给合| 亚洲精品系列| 国产伦精品一区二区三| 久久免费视频在线| 一个色综合av| 免费不卡在线观看| 99精品视频免费在线观看| 国产色综合久久| 欧美精品一区二| 欧美亚洲一区二区在线| 欧美高清在线视频| 午夜综合激情| 亚洲激情av在线| 国产精品久久久久久久久久久久久久 | 性色av香蕉一区二区| 亚洲福利小视频| 欧美亚洲视频在线观看| 亚洲国产日韩欧美综合久久| 欧美午夜免费影院| 老司机午夜精品视频| 亚洲午夜成aⅴ人片| 欧美成人官网二区| 久久精品亚洲一区二区三区浴池 | 一区二区三区四区五区精品| 国产精品区免费视频| 免费观看亚洲视频大全| 亚洲欧美一级二级三级| 亚洲国产精品久久久久婷婷884| 欧美一区二区三区久久精品茉莉花| 亚洲国产精品国自产拍av秋霞 | 亚洲综合色婷婷| 亚洲日韩视频| 伊人色综合久久天天五月婷| 国产精品一区2区| 欧美日韩亚洲国产精品| 麻豆精品视频在线观看视频| 欧美在线免费视屏| 欧美一级片久久久久久久|