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

春暖花開
雪化了,花開了,春天來了
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 閱讀(1630) 評論(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另类精品一区二区| 欧美成年人网站| 欧美激情第10页| 欧美午夜激情视频| 国产日韩在线播放| 亚洲国产精品久久久久| 亚洲精品免费看| 亚洲一区欧美一区| 久久这里有精品视频| 亚洲二区在线| 欧美一级久久久久久久大片| 久久亚洲色图| 欧美少妇一区二区| 狠狠久久婷婷| 亚洲天堂偷拍| 美女福利精品视频| 亚洲视频一区二区免费在线观看| 欧美中文字幕在线| 欧美手机在线| 亚洲三级视频| 久久亚洲综合| 亚洲一区尤物| 久久久青草婷婷精品综合日韩 | 国产精品免费看片| 在线看欧美视频| 亚洲欧美日本国产有色| 蜜臀久久99精品久久久久久9| 亚洲久久一区二区| 久久久亚洲国产天美传媒修理工 | 午夜精品理论片| 欧美激情亚洲激情| 精品电影在线观看| 欧美在线播放高清精品| 亚洲精品社区| 牛夜精品久久久久久久99黑人| 国产伦理精品不卡| 一区二区高清视频| 欧美黄色日本| 久久久久久久高潮| 国产亚洲毛片| 久久99在线观看| 亚洲视频综合| 国产精品日本欧美一区二区三区| 99热精品在线| 欧美黑人在线播放| 久久综合影视| 在线视频观看日韩| 久久综合色一综合色88| 久久gogo国模裸体人体| 国产午夜精品视频| 久久久久久久一区二区三区| 亚洲欧美网站| 国产一区二区精品久久| 久久久精品视频成人| 午夜视频久久久久久| 国产亚洲精品一区二555| 久久久激情视频| 久久久久久久久久久久久久一区| 国产亚洲欧洲997久久综合| 久久精视频免费在线久久完整在线看| 亚洲欧美国产高清| 国语自产精品视频在线看抢先版结局| 久久久91精品国产| 久久精品91久久久久久再现| 国内久久婷婷综合| 免费看精品久久片| 欧美激情aⅴ一区二区三区| 9色精品在线| 在线亚洲精品福利网址导航| 国产精品美女久久久久av超清 | 久久美女艺术照精彩视频福利播放| 国产欧美在线看| 久久一综合视频| 欧美福利影院| 亚洲图片欧美一区| 久久久久久久久久久成人| 午夜视频在线观看一区二区| 国产在线国偷精品产拍免费yy| 美女91精品| 欧美日本韩国一区| 欧美一区午夜精品| 蜜臀久久99精品久久久久久9| 亚洲免费av网站| 亚洲一区二区在线免费观看视频 | 欧美高清视频在线| 欧美一区二区精美| 乱人伦精品视频在线观看| 一本久久综合亚洲鲁鲁五月天| 国产精品99久久久久久宅男 | 欧美日韩国产小视频| 午夜精品久久久久影视| 久久在线播放| 亚洲综合色视频| 老司机亚洲精品| 欧美一区二区私人影院日本| 老司机精品导航| 午夜视频在线观看一区二区三区| 老巨人导航500精品| 亚洲一区中文字幕在线观看| 久久精品视频在线| 亚洲欧美影院| 欧美久色视频| 男女av一区三区二区色多| 国产精品一国产精品k频道56| 欧美国产另类| 国产视频欧美| 亚洲在线一区| 亚洲一区二区三区四区五区午夜 | 久久久久国产精品www| 亚洲深夜福利在线| 欧美成人日本| 欧美激情aⅴ一区二区三区| 国产视频一区欧美| 亚洲视频播放| 亚洲无限av看| 欧美高清在线| 亚洲福利一区| 1024国产精品| 久久精品在线免费观看| 欧美一区成人| 国产精品一区久久久| a4yy欧美一区二区三区| 亚洲精品网址在线观看| 麻豆精品精华液| 麻豆精品精品国产自在97香蕉| 国产视频亚洲精品| 欧美一区二区三区久久精品茉莉花 | 久久国产精品高清| 欧美一区影院| 国产日产亚洲精品| 亚洲一区精品视频| 国产一区二区三区免费观看| 在线综合+亚洲+欧美中文字幕| 亚洲裸体俱乐部裸体舞表演av| 玖玖精品视频| 亚洲国产高清自拍| 99视频+国产日韩欧美| 欧美日韩国产黄| 一本色道**综合亚洲精品蜜桃冫| 宅男噜噜噜66一区二区66| 欧美精品v日韩精品v国产精品| 91久久精品国产91性色tv| av成人免费| 欧美日韩伦理在线| 亚洲视频综合| 另类亚洲自拍| 99re66热这里只有精品3直播| 欧美黄色免费网站| 日韩午夜精品| 久久精品伊人| 亚洲精品国精品久久99热| 欧美日韩国产麻豆| 午夜精品www| 欧美高清视频一区二区三区在线观看| 亚洲激情精品| 国产精品激情av在线播放| 欧美一区二区视频在线| 欧美aⅴ99久久黑人专区| 一级日韩一区在线观看| 国产欧美一区二区精品性| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲欧洲精品一区二区| 亚洲欧美中文日韩v在线观看| 国产一区日韩一区| 欧美精品一区二区三区蜜桃| 亚洲一区二区三区四区中文| 久色成人在线| 亚洲一区欧美一区| 亚洲国产91精品在线观看| 国产精品久久99| 欧美1区视频| 欧美专区在线观看一区| 亚洲精品在线电影| 久久久精品一区| 亚洲在线观看免费视频| 在线观看视频一区二区欧美日韩| 欧美日韩www| 久久久久国产一区二区三区| 日韩一二三区视频| 欧美大片专区| 久久免费视频在线观看| 亚洲一品av免费观看| 在线观看精品视频| 国产精品稀缺呦系列在线| 欧美激情一区二区三区高清视频 | 国产噜噜噜噜噜久久久久久久久| 蜜桃av综合| 久久国产欧美| 欧美一区二区精美| 亚洲一区黄色| 亚洲一二三级电影| 夜夜爽av福利精品导航 | 另类激情亚洲|