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

春暖花開
雪化了,花開了,春天來了
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>
            亚洲少妇中出一区| 99综合在线| 久久精品免费| 久久免费国产| 欧美成人午夜剧场免费观看| 久久字幕精品一区| 欧美国产日本高清在线| 欧美日韩精品中文字幕| 国产精品国产三级国产aⅴ9色| 欧美三级午夜理伦三级中文幕 | 一区在线观看| 在线成人欧美| 99精品免费网| 欧美在线播放| 免费在线看成人av| 亚洲精品1234| 亚洲午夜一区| 久久久xxx| 欧美日韩在线播放| 狠狠久久亚洲欧美专区| 亚洲精品一区二区在线观看| 亚洲一区影音先锋| 美女国产一区| 亚洲少妇诱惑| 欧美18av| 国内精品久久久久久影视8| 日韩视频在线一区二区| 久久国产欧美| 亚洲免费电影在线| 久久精品免费观看| 国产精品久久久久久久久免费桃花| 黑人巨大精品欧美一区二区| 一二美女精品欧洲| 欧美成年人视频网站欧美| 亚洲欧洲综合另类| 久久久精品动漫| 国产精品乱子久久久久| 日韩午夜电影| 免费久久久一本精品久久区| 亚洲综合欧美日韩| 欧美成人日本| 在线观看视频免费一区二区三区| 午夜日韩激情| 国产一区二区三区四区老人| 毛片基地黄久久久久久天堂 | 国产精品欧美久久| 亚洲精品午夜| 欧美va亚洲va香蕉在线| 欧美亚洲一区在线| 国产精品电影网站| 99国产精品久久久久久久成人热 | 在线亚洲精品福利网址导航| 欧美成人官网二区| 亚洲国产成人不卡| 欧美刺激午夜性久久久久久久| 欧美一区=区| 国产伦精品一区二区三区四区免费| 中文欧美在线视频| 一本色道久久综合亚洲91| 欧美激情一区二区三区全黄| 亚洲人成小说网站色在线| 欧美成年人在线观看| 蜜臀久久99精品久久久久久9| 一区二区三区在线视频观看| 久久婷婷久久一区二区三区| 欧美一区二区性| 激情欧美亚洲| 欧美黄在线观看| 欧美国产在线视频| 在线亚洲一区观看| 这里只有视频精品| 国产欧美日韩视频| 久久视频在线看| 久久综合九色欧美综合狠狠| 亚洲国产精品综合| 亚洲片国产一区一级在线观看| 欧美日本在线看| 亚洲在线视频观看| 久久黄色影院| 亚洲精品麻豆| 亚洲视频欧美视频| 国外成人性视频| 91久久精品久久国产性色也91| 欧美日韩美女在线| 久久久久久成人| 男人的天堂成人在线| 一本一道久久综合狠狠老精东影业| 亚洲视频日本| 依依成人综合视频| 99在线视频精品| 韩国视频理论视频久久| 欧美黄色免费网站| 国产精品一区毛片| 欧美激情aaaa| 国产精品视区| 亚洲国内精品| 国产嫩草影院久久久久| 欧美激情一区二区久久久| 国产精品亚洲一区| 亚洲黄色在线观看| 国产婷婷97碰碰久久人人蜜臀| 亚洲成人在线视频播放 | 国产一区二区精品久久99| 免费观看成人网| 欧美先锋影音| 蜜臀av在线播放一区二区三区| 欧美午夜一区| 亚洲国产精品99久久久久久久久| 国产精品露脸自拍| 91久久在线播放| 红桃视频亚洲| 午夜精品久久久久久久99热浪潮 | 久久综合色影院| 欧美午夜在线观看| 亚洲精品国产精品国自产在线 | 日韩亚洲精品电影| 亚洲国产日韩欧美在线99| 亚洲一区二区三区中文字幕在线| 亚洲欧洲视频在线| 久久精品视频在线观看| 午夜国产精品影院在线观看 | 亚洲精品日韩在线观看| 激情六月婷婷综合| 欧美一级黄色录像| 亚洲欧美资源在线| 欧美午夜一区二区| 99精品国产在热久久婷婷| 亚洲精品护士| 久久亚洲春色中文字幕| 久久精品国产77777蜜臀| 国产精品ⅴa在线观看h| 亚洲精选视频在线| 99国产精品99久久久久久粉嫩| 葵司免费一区二区三区四区五区| 久久aⅴ国产欧美74aaa| 欧美日韩一区三区四区| 亚洲精品久久久久久久久久久久久| 在线免费观看视频一区| 久久久蜜桃精品| 久久综合狠狠综合久久综合88| 国产欧美一区二区精品秋霞影院| 亚洲视频专区在线| 亚洲一区二区三区在线观看视频| 欧美日韩国产精品一区二区亚洲| 亚洲国产精品毛片| 一区二区免费在线观看| 欧美日韩国产成人高清视频| 亚洲精品影院在线观看| 亚洲亚洲精品在线观看 | 欧美主播一区二区三区美女 久久精品人 | 老鸭窝91久久精品色噜噜导演| 国产欧美日韩在线视频| 欧美一区二区免费视频| 久久免费黄色| 亚洲国产福利在线| 欧美精品 日韩| 亚洲视频在线观看免费| 欧美伊人影院| 1000部精品久久久久久久久| 欧美成人午夜激情| 亚洲性视频网址| 久久久久久免费| 亚洲日本欧美| 国产精品女人毛片| 久久久久久久999精品视频| 亚洲电影在线看| 香蕉免费一区二区三区在线观看 | 亚洲国产精品精华液网站| 欧美激情亚洲精品| 亚洲欧美精品在线| 欧美成人午夜激情在线| 亚洲一区美女视频在线观看免费| 国产日韩在线视频| 欧美欧美天天天天操| 亚洲影院免费观看| 亚洲成人资源网| 欧美一区二区三区四区高清 | 在线视频日韩| 国内精品美女av在线播放| 欧美精品久久久久久| 久久国产黑丝| 99精品视频网| 欧美激情一区二区三区| 欧美中文在线免费| 一片黄亚洲嫩模| 狠狠爱成人网| 国产精品日韩欧美一区二区三区| 老司机aⅴ在线精品导航| 在线视频你懂得一区| 欧美成人一区在线| 久久久久久电影| 亚洲自拍偷拍色片视频| 亚洲精品国产精品乱码不99| 国产主播一区| 国产精品一区二区久久精品| 欧美精品二区三区四区免费看视频| 欧美一区二区三区另类 | 欧美精品一区二区三区很污很色的 | 伊人久久噜噜噜躁狠狠躁| 国产精品欧美一区二区三区奶水|