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

我住包子山

this->blog.MoveTo("blog.baozishan.in")

向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名

image   這兩天對于HOOK的技術(shù)有了一個入門的學(xué)習(xí),用過vista的同學(xué)會發(fā)現(xiàn)vista重命名一個文件比如vista.exe,他會自動選中vista忽略掉擴展名,帶來比較方便的用戶體驗,學(xué)了一些hook我也想試試xp下能不能做這樣的事情。于是參考一些文章,勉強實現(xiàn)了,有一點兒缺陷(請看最后)。

   經(jīng)過觀察我發(fā)現(xiàn)重命名時,資源管理器會向他的子窗口listview發(fā)送一個LVM_EDITLABELA的控制消息,所以我使用了WH_CALLWNDPROCRET類型的全局掛鉤,這個掛鉤可以在sendmessage結(jié)束以后處理傳送和返回的數(shù)據(jù)。發(fā)送了LVM_EDITLABELA消息后,會在lParam得到一個編輯窗口的句柄,只需之后對這個窗口發(fā)送EM_SETSEL控制消息就能夠改變重命名時候的高亮區(qū)域。hook回調(diào)函數(shù)如下:

   1: static LRESULT CALLBACK msghook(UINT nCode, WPARAM wParam, LPARAM lParam)
   2: {
   3:     if(nCode < 0)
   4:     {
   5:         CallNextHookEx(hook,nCode,wParam,lParam);
   6:         return 0;
   7:     }
   8:     LPCWPRETSTRUCT msg = (LPCWPRETSTRUCT) lParam;
   9:     if(msg->message == LVM_EDITLABELA || msg->message == LVM_EDITLABELW)
  10:     {
  11:         GetClassName(msg->hwnd,className,255);
  12:         GetWindowText(msg->hwnd,wndName,255);
  13:         if(0==_tcscmp(className,_TEXT("SysListView32")))
  14:         {
  15:             if(0==_tcscmp(wndName,_TEXT("FolderView")))
  16:             {
  17:                 hEditWnd = (HWND)msg->lResult;
  18:                 GetWindowText(hEditWnd,className,255);//暫時放入className
  19:                 SendMessage(hEditWnd,EM_SETSEL,0,findDot(className));
  20:             }
  21:         }
  22:     }
  23:     return CallNextHookEx(hook,nCode,wParam,lParam);
  24: }

 

className與wndName是兩個TCHAR數(shù)組,從hwnd獲取信息存在那里進行判斷是否為Shell中的listview,避免在其它使用listview的應(yīng)用程序里會進行之后的處理。

   工程文件下載,點這里

   程序下載,點這里

   使用方法,編譯以后直接運行GRnamer就可以,如果不想用了,從任務(wù)管理器把它關(guān)閉,沒有做trayicon之類的東西,因為只是個demo。

image   最后說一下缺陷,缺陷就是這樣做沒有辦法判斷文件與文件夾的區(qū)別,所以會有如圖的效果,我自己沒有想到解決的方法,請達人們指點。:)

 

   參考的文章:

msdn Hooks hook的全部參考

codeproject Hooks and DLLs 我的hook dll都是照著它寫的。

posted on 2008-05-17 02:05 Gohan 閱讀(3048) 評論(17)  編輯 收藏 引用 所屬分類: C++MFC/SDK

Feedback

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名[未登錄] 2008-05-17 10:34 Rich

學(xué)習(xí)了。  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-17 10:41 blankyao

學(xué)習(xí)一下~  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-17 10:42 Leewings

這么麻煩....
ubuntu自動實現(xiàn)了..哈哈.~  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-17 10:50 Gohan

@Leewings
呵呵,是有點麻煩:)  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-17 11:27 陳梓瀚(vczh)

讀文件的attribute是可以知道這東西是文件還是文件夾的。至于路徑,去hack資源管理器的那個下拉列表應(yīng)該看得到的吧?這個我沒干過,不知道行不行。  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-17 12:09 Gohan

@陳梓瀚(vczh)
恩,這樣應(yīng)該能得到路徑,不過可能對于桌面上的文件就不支持了,還有問題是如果沒有顯示地址工具欄是找不到那個combolbox的。以后等學(xué)好了shell 擴展可能能更完善的解決。  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-18 23:29 閑耘

Win2k3下無反應(yīng)。  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-19 12:42 Gohan

@閑耘
哦?可能是2003加強了安全吧,我沒有用過2003,這個demo只在xp下試用通過  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-19 17:07 多多

@Gohan

桌面上也可以得到路徑。用

%USERPROFILE%\桌面

即可~  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-19 19:08 Gohan

@多多
是的,謝謝,對了,桌面好像可以也可通過一個shell相關(guān)的函數(shù)返回pidl來得到。等以后練習(xí)練習(xí)  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-19 19:11 多多

@Gohan

這個我也有印象,因為桌面就是Explorer的一個窗口,可以獲得他的句柄。  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2008-05-20 21:33 Gohan

@多多
好的,多多交流  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2009-02-22 15:41 einheria

有一個缺點,F(xiàn)2和右鍵重命名都可以實現(xiàn),慢雙擊發(fā)起的重命名還是高亮選取全部

LZ這個程序很好,我已經(jīng)設(shè)為開機自動運行了,希望可以改進!  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2009-02-26 11:46 Gohan

@einheria
謝謝你的支持,這個小程序只是一個小練手,不知道啥時候能夠再改改了。高檔的軟件有很多,QTTabbar也附有這個功能。  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2010-04-08 12:19

多謝!!!  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2011-05-26 16:07 free keylogger download

win7 下怎么不能正確判斷呢?
情樓主幫忙看一下,多謝  回復(fù)  更多評論   

# re: 向Vista學(xué)習(xí),實現(xiàn)XP下重命名文件忽略選取擴展名 2011-05-26 16:09 free auto bulk mail sender download

多謝分享,非常實用的一個feature!  回復(fù)  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久中文| 亚洲一二三区视频在线观看| 欧美影院在线播放| 欧美成年人视频网站| 一本色道精品久久一区二区三区 | 亚洲国产精品电影在线观看| 欧美激情91| 99国产精品久久久| 久久精品亚洲精品| 欧美精品一线| 国产一区二区三区在线观看视频 | 欧美二区在线播放| 亚洲蜜桃精久久久久久久| 亚洲国产成人久久| 亚洲成色精品| 亚洲国产乱码最新视频| 99re66热这里只有精品4| 久久亚洲图片| 欧美精品一区二区三区蜜臀| 久久久99久久精品女同性| 日韩视频一区二区三区| 亚洲香蕉网站| 免费人成精品欧美精品| 国产精品久久亚洲7777| 亚洲国产成人久久| 午夜国产精品视频| 亚洲人被黑人高潮完整版| 午夜国产精品影院在线观看 | 狠狠色狠狠色综合人人| 一区二区三区欧美日韩| 蜜臀99久久精品久久久久久软件| 亚洲精品久久久一区二区三区| 午夜精品久久久久影视| 亚洲一区在线观看视频| 欧美日韩亚洲一区| 最新成人在线| 麻豆91精品91久久久的内涵| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美jizz19性欧美| 午夜老司机精品| 欧美三区不卡| 9i看片成人免费高清| 欧美激情91| 免费成人性网站| 伊人成年综合电影网| 久久精品72免费观看| 亚洲一区视频在线| 国产精品久久久久久亚洲调教| 夜夜狂射影院欧美极品| 亚洲国产另类 国产精品国产免费| 久久久久国产一区二区| 国产亚洲午夜| 久久夜色精品国产欧美乱极品| 亚洲欧美中文日韩在线| 国产区精品在线观看| 另类尿喷潮videofree| 久久精品30| 亚洲成色777777女色窝| 欧美一区三区二区在线观看| 国产精品一区二区三区久久| 亚洲一区免费观看| 亚洲色图综合久久| 国产精品一区二区你懂的| 久久爱www久久做| 欧美在线观看日本一区| 精品成人一区二区三区四区| 欧美高清在线一区| 欧美成人午夜激情| 9i看片成人免费高清| 在线视频你懂得一区二区三区| 欧美三级日本三级少妇99| 亚洲资源av| 午夜免费在线观看精品视频| 国产在线日韩| 亚洲福利一区| 国产精品久久二区二区| 久久精品中文| 欧美国产一区二区| 亚洲欧美春色| 久久精品久久综合| 日韩一级不卡| 亚洲欧美日韩国产成人| 欲香欲色天天天综合和网| 亚洲国产婷婷香蕉久久久久久| 欧美日韩中文字幕在线视频| 欧美一区二区大片| 欧美成人a∨高清免费观看| 亚洲伊人第一页| 久久久亚洲人| 亚洲欧美国产77777| 久久国产主播精品| 日韩午夜一区| 欧美亚洲在线视频| 日韩系列在线| 香港久久久电影| 一区二区三区免费在线观看| 欧美国产视频一区二区| 国产精品免费在线| 欧美激情女人20p| 国产午夜精品一区二区三区视频 | 亚洲国产一区二区三区在线播 | 欧美sm极限捆绑bd| 午夜国产欧美理论在线播放| 久久久蜜桃精品 | 欧美成人中文字幕| 国产精品每日更新| 亚洲激情成人网| 精品成人a区在线观看| 一区二区三区久久| 亚洲品质自拍| 久久精品国产999大香线蕉| 国产欧美一区二区三区久久| 欧美1区2区视频| 国产亚洲欧美一区在线观看| 日韩亚洲成人av在线| 亚洲破处大片| 久久久伊人欧美| 欧美专区在线| 国产精品毛片a∨一区二区三区|国| 亚洲丁香婷深爱综合| 好吊一区二区三区| 午夜精品三级视频福利| 午夜精品久久久久久久久久久久久 | 欧美国产第一页| 亚洲电影在线免费观看| 影音先锋欧美精品| 久久久久高清| 欧美刺激午夜性久久久久久久| 免费观看在线综合色| 欧美成人午夜免费视在线看片| 黄色精品网站| 久久久亚洲国产天美传媒修理工| 久久天天躁狠狠躁夜夜av| 国产主播精品在线| 久久精品一二三| 欧美成年人网| 日韩一区二区福利| 欧美日韩亚洲系列| 亚洲一区在线看| 久久综合999| 亚洲人成人一区二区在线观看 | 麻豆精品视频在线观看| 国产一区二区毛片| 欧美在线观看视频| 欧美电影在线| 一区二区三区不卡视频在线观看| 亚洲一区二区在线观看视频| 国产精品女同互慰在线看| 亚洲欧美日韩精品久久久久| 久久久久久久久久久成人| 尤物yw午夜国产精品视频| 玖玖玖国产精品| 亚洲精品三级| 香蕉久久国产| 在线看日韩欧美| 欧美精品一区二区久久婷婷| 一区二区三区四区精品| 久久精品三级| 亚洲久色影视| 国产欧美日本| 欧美成人免费一级人片100| 一区二区三区 在线观看视| 久久久噜噜噜久久中文字幕色伊伊| 亚洲国产第一页| 国产精品家教| 免费中文字幕日韩欧美| 亚洲在线观看视频网站| 久久综合婷婷| 亚洲一区免费看| 最新日韩精品| 国产日韩一区二区三区| 欧美高清在线播放| 久久成人国产| 在线亚洲精品| 亚洲高清久久久| 欧美在线播放一区| 国产精品99久久久久久久久久久久| 国产综合视频| 麻豆精品在线视频| 亚洲国产精品成人久久综合一区 | 亚洲开发第一视频在线播放| 久久国产乱子精品免费女 | 欧美伊人久久| av成人免费观看| 91久久国产综合久久蜜月精品 | 一色屋精品视频在线看| 国产精品久久久久久久午夜|