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

我住包子山

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

向Vista學習,實現XP下重命名文件忽略選取擴展名

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

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

   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數組,從hwnd獲取信息存在那里進行判斷是否為Shell中的listview,避免在其它使用listview的應用程序里會進行之后的處理。

   工程文件下載,點這里

   程序下載,點這里

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

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

 

   參考的文章:

msdn Hooks hook的全部參考

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

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

Feedback

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名[未登錄] 2008-05-17 10:34 Rich

學習了。  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-17 10:41 blankyao

學習一下~  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-17 10:42 Leewings

這么麻煩....
ubuntu自動實現了..哈哈.~  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-17 10:50 Gohan

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

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

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

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-17 12:09 Gohan

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

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-18 23:29 閑耘

Win2k3下無反應。  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-19 12:42 Gohan

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

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-19 17:07 多多

@Gohan

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

%USERPROFILE%\桌面

即可~  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-19 19:08 Gohan

@多多
是的,謝謝,對了,桌面好像可以也可通過一個shell相關的函數返回pidl來得到。等以后練習練習  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-19 19:11 多多

@Gohan

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

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2008-05-20 21:33 Gohan

@多多
好的,多多交流  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2009-02-22 15:41 einheria

有一個缺點,F2和右鍵重命名都可以實現,慢雙擊發起的重命名還是高亮選取全部

LZ這個程序很好,我已經設為開機自動運行了,希望可以改進!  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2009-02-26 11:46 Gohan

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

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2010-04-08 12:19

多謝?。?!  回復  更多評論   

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2011-05-26 16:07 free keylogger download

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

# re: 向Vista學習,實現XP下重命名文件忽略選取擴展名 2011-05-26 16:09 free auto bulk mail sender download

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 国产精品一区二区三区成人| 欧美性生交xxxxx久久久| 国产欧美在线观看| 亚洲激情成人| 午夜精品影院在线观看| 你懂的国产精品| 一区二区欧美日韩| 久久久欧美一区二区| 欧美日韩免费一区二区三区| 国产一区二区三区不卡在线观看| 亚洲日产国产精品| 欧美一区二区三区视频| 亚洲国产精品va| 亚洲欧美国产精品va在线观看| 蜜臀va亚洲va欧美va天堂| 国产精品日韩欧美一区| 在线观看欧美亚洲| 午夜欧美不卡精品aaaaa| 欧美成人久久| 午夜一区二区三区不卡视频| 美女999久久久精品视频| 国产精品久久久亚洲一区| 亚洲国内高清视频| 久久精品在这里| 日韩午夜激情| 巨乳诱惑日韩免费av| 国产噜噜噜噜噜久久久久久久久 | 亚洲欧美久久久| 欧美aa国产视频| 亚洲影院色在线观看免费| 欧美成人午夜77777| 国产一区二区三区精品久久久| 中日韩视频在线观看| 欧美激情一区二区三区在线视频| 欧美一区2区视频在线观看| 欧美午夜视频| 99视频超级精品| 亚洲电影免费| 久久久久久久久伊人| 国产精品午夜av在线| 亚洲图片欧洲图片日韩av| 欧美国产亚洲另类动漫| 久久国产精品亚洲77777| 国产精品揄拍一区二区| 亚洲一区二区免费视频| 亚洲日本无吗高清不卡| 欧美xx视频| 亚洲国产另类久久精品| 裸体丰满少妇做受久久99精品| 欧美亚洲一区二区三区| 国产精品亚洲视频| 亚洲欧美第一页| 一区二区三区四区在线| 欧美日韩一区二区三区视频| 99re在线精品| 亚洲国产三级在线| 欧美激情精品久久久六区热门| 亚洲国产成人av| 免费人成精品欧美精品| 久久久噜噜噜久噜久久| 在线观看不卡| 美女视频黄a大片欧美| 久久精品99国产精品| 韩国免费一区| 麻豆精品国产91久久久久久| 欧美在线亚洲| 精品91久久久久| 老司机成人在线视频| 久久久久中文| 亚洲国产天堂久久综合| 欧美激情第五页| 欧美国产日韩一区二区三区| 日韩午夜高潮| 日韩一级免费观看| 国产精品国产三级国产aⅴ浪潮 | 国产精品a久久久久| 亚洲影院在线观看| 亚洲视频一区在线| 国产精品资源| 久久免费高清视频| 久久在线免费视频| 亚洲美女中文字幕| 夜色激情一区二区| 国产欧美日韩另类一区| 久久午夜精品一区二区| 蜜桃伊人久久| 亚洲视频在线观看免费| 亚洲欧美日韩精品在线| 狠狠色丁香久久综合频道| 欧美成人免费在线观看| 欧美日本不卡视频| 亚洲欧美综合国产精品一区| 欧美一区二区三区日韩| 尤物网精品视频| 亚洲精品乱码久久久久久按摩观 | 亚洲午夜精品网| 国产亚洲精品美女| 欧美高清视频一区| 欧美日韩精品免费观看视一区二区| 亚洲女优在线| 久久久久久久久久久久久久一区| 亚洲日本视频| 亚洲一区图片| 亚洲大胆女人| 一区二区欧美亚洲| 海角社区69精品视频| 亚洲欧洲一区二区天堂久久| 国产精品成人av性教育| 久久亚洲私人国产精品va| 欧美黄色网络| 久久精品一区蜜桃臀影院| 欧美大片一区| 欧美专区在线观看一区| 免费欧美视频| 午夜一级久久| 欧美国产视频在线观看| 欧美一区二区视频在线观看2020 | 欧美人妖另类| 久久久精品999| 欧美日韩成人激情| 久久全国免费视频| 欧美性猛交99久久久久99按摩 | 欧美在线观看你懂的| 亚洲青色在线| 亚洲一区二区三区在线视频| 亚洲国产日韩欧美在线动漫| 亚洲深夜影院| 亚洲精品国产欧美| 亚洲欧美日韩精品| 亚洲免费福利视频| 久久精品视频在线看| 亚洲一区二区三区777| 浪潮色综合久久天堂| 欧美亚洲专区| 免费看成人av| 欧美中文字幕| 欧美激情视频网站| 欧美一级电影久久| 欧美日韩免费观看一区| 欧美成人免费大片| 国产主播一区二区三区四区| 99在线精品观看| 亚洲精品一区在线| 久久人体大胆视频| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩综合视频| 亚洲国产91精品在线观看| 激情欧美一区二区三区在线观看| 亚洲一区日本| 亚洲免费婷婷| 欧美日韩福利在线观看| 欧美国产日韩一区二区三区| 国产自产高清不卡| 午夜精品福利一区二区三区av| 亚洲影院高清在线| 欧美日产在线观看| 亚洲国产合集| 亚洲国产一区二区在线| 久久久噜噜噜久久人人看| 久久久久久久久久久久久女国产乱| 国产精品乱人伦一区二区| 99精品欧美一区二区三区| 99国产一区| 欧美黄色一区| 最新成人在线| 日韩一级大片在线| 欧美jizzhd精品欧美巨大免费| 欧美成人午夜免费视在线看片| 欲色影视综合吧| 久久色中文字幕| 欧美刺激性大交免费视频| 亚洲成人资源网| 老司机亚洲精品| 亚洲成人资源网| 亚洲精品欧美专区| 欧美激情一区二区三区四区| 亚洲黄色大片| 一本久道久久久| 欧美日韩综合视频| 亚洲私人黄色宅男| 欧美亚洲免费电影| 国产日韩欧美不卡在线| 亚洲女爱视频在线| 久久国产欧美精品| 国产综合视频| 久久综合九九| 亚洲国产视频直播| 亚洲视频中文字幕| 国产精品日韩欧美一区| 小黄鸭精品aⅴ导航网站入口| 久久久久久国产精品mv| 在线观看成人网| 欧美freesex8一10精品| 亚洲精品国产欧美| 亚洲午夜一级| 国产午夜精品一区二区三区欧美| 欧美中在线观看| 欧美18av| 亚洲香蕉在线观看|