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

春暖花開
雪化了,花開了,春天來了
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| 欧美大片网址| 亚洲二区三区四区| 欧美承认网站| 91久久精品www人人做人人爽| 亚洲成人自拍视频| 一区二区三区精品| 午夜国产精品影院在线观看 | 亚洲国产精品成人精品| 亚洲日本欧美| 香港久久久电影| 老妇喷水一区二区三区| 最新国产成人av网站网址麻豆| 99精品免费| 欧美一区二区视频在线观看2020 | 国产精品女人网站| 很黄很黄激情成人| 一本色道久久99精品综合 | 久久精品一区二区三区不卡牛牛 | 欧美性开放视频| 国产日产欧美一区| 久久这里有精品视频| 亚洲电影免费观看高清完整版在线观看 | 久久久久国产精品一区| 欧美成人免费大片| 99在线热播精品免费| 久久不见久久见免费视频1| 欧美国产日韩一区二区三区| 国产精品最新自拍| 一本色道久久综合亚洲精品高清| 久久不射电影网| 亚洲精品在线免费| 久久夜色精品国产| 国产一区二区久久久| 一区二区欧美激情| 欧美激情a∨在线视频播放| 亚洲嫩草精品久久| 欧美日韩国产综合久久| 精品电影在线观看| 欧美一区二区在线视频| 9人人澡人人爽人人精品| 麻豆av一区二区三区久久| 国产精品自拍在线| 亚洲制服丝袜在线| 亚洲美女黄网| 欧美激情一区二区三区高清视频| 红桃视频成人| 久久久午夜视频| 性视频1819p久久| 国产欧美精品va在线观看| 宅男噜噜噜66一区二区66| 亚洲韩国一区二区三区| 美女爽到呻吟久久久久| 红桃视频亚洲| 老司机免费视频久久| 欧美一区二区在线播放| 国产欧美日韩激情| 欧美一级午夜免费电影| 亚洲一区在线免费| 国产欧美日本一区二区三区| 欧美一区亚洲| 欧美在线高清| 尹人成人综合网| 久久久久久伊人| 久久精品三级| 亚洲第一区在线观看| 免费日韩av片| 欧美电影打屁股sp| 中日韩午夜理伦电影免费| 一区二区三区视频在线播放| 国产精品欧美日韩一区| 久久精品国亚洲| 亚洲欧美成人网| 亚洲欧美日韩综合一区| 欧美精品国产精品日韩精品| 99精品欧美一区二区蜜桃免费| 亚洲人午夜精品免费| 国产精品www色诱视频| 久久99伊人| 久久午夜羞羞影院免费观看| 亚洲乱码国产乱码精品精98午夜| 夜夜夜久久久| 国产日韩欧美一区二区三区四区| 久久综合色天天久久综合图片| 美女网站在线免费欧美精品| 这里只有精品丝袜| 亚洲欧美在线观看| 亚洲日本理论电影| 亚洲香蕉在线观看| 亚洲第一二三四五区| 99re6热只有精品免费观看| 国产日韩精品电影| 亚洲欧洲日韩在线| 国内精品久久久久久久影视麻豆| 91久久国产综合久久蜜月精品| 国产欧美日韩高清| 亚洲乱码国产乱码精品精天堂| 国精产品99永久一区一区| 亚洲日本乱码在线观看| 国内精品久久久久伊人av| 日韩视频在线一区| 在线视频国产日韩| 亚洲女人天堂av| 99国内精品久久| 久久久精品一区二区三区| 亚洲视频综合在线| 欧美大片一区二区三区| 久久久久成人精品| 国产精品久久久久毛片软件| 欧美电影免费网站| 好看不卡的中文字幕| 亚洲一区在线观看免费观看电影高清| 亚洲区一区二| 久久综合激情| 老司机精品福利视频| 国产欧美精品在线观看| 在线中文字幕一区| 一区二区三区国产盗摄| 欧美激情bt| 亚洲国产成人在线| 亚洲激情网址| 老司机久久99久久精品播放免费| 久久精品国产一区二区电影 | 欧美激情区在线播放| 国语精品中文字幕| 欧美一区二区三区在线视频| 亚洲欧美制服另类日韩| 欧美午夜免费电影| 一本久道久久综合中文字幕 | 中文国产亚洲喷潮| 欧美国产日韩亚洲一区| 亚洲国产精品999| 亚洲国产欧美日韩| 麻豆freexxxx性91精品| 亚洲成人在线观看视频| 91久久久精品| 欧美一区二区三区婷婷月色 | 国产欧美在线看| 亚洲女人av| 欧美一级免费视频| 国产日韩欧美一区二区三区在线观看| 亚洲一二三区在线| 久久大逼视频| 国模精品娜娜一二三区| 欧美一级网站| 蜜桃av一区二区| 亚洲欧洲精品一区二区三区| 欧美激情亚洲精品| 一区二区免费看| 久久av一区二区| 在线精品国产欧美| 欧美第一黄色网| 夜夜嗨av一区二区三区网页| 午夜在线一区二区| 激情亚洲一区二区三区四区| 久久亚洲欧美国产精品乐播| 亚洲国产精品久久久久久女王| 亚洲视频精选在线| 国产一区二三区| 欧美金8天国| 亚洲欧美资源在线| 欧美国内亚洲| 午夜精品www| 在线电影一区| 欧美色视频日本高清在线观看| 午夜精品影院| 亚洲国产精品一区二区第四页av| 亚洲欧美日韩国产成人| 国产午夜一区二区三区| 欧美电影在线| 欧美一区二区视频观看视频| 亚洲日韩视频| 久久蜜桃精品| 亚洲一级电影| 亚洲国产精品福利| 国产欧美日韩精品在线| 欧美黄色一级视频| 久久岛国电影| 一区二区高清视频在线观看| 蜜桃久久精品一区二区| 亚洲在线视频免费观看| 亚洲人成7777| 国产亚洲精品久| 欧美四级电影网站| 欧美www在线| 久久久亚洲精品一区二区三区| 一区二区三区欧美视频| 欧美激情第1页| 久久这里有精品视频| 亚洲专区欧美专区| 99国产欧美久久久精品| 亚洲国产高清aⅴ视频| 国产视频欧美视频| 国产精品扒开腿做爽爽爽视频| 欧美高清在线播放| 另类春色校园亚洲| 久久精品视频免费观看| 午夜精品在线|