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

我住包子山

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 閱讀(3048) 評論(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>
            欧美激情一区二区三区在线| 欧美xart系列在线观看| 国内激情久久| 国产一区二区三区高清播放| 国产欧美日韩另类视频免费观看| 国产精品视频男人的天堂 | 欧美日韩精品是欧美日韩精品| 欧美成人国产va精品日本一级| 欧美经典一区二区三区| 国产精品a久久久久| 国产一区美女| 夜夜嗨av色一区二区不卡| 亚洲欧美日韩直播| 久久亚洲精品伦理| 亚洲精品国产精品国自产在线 | 欧美好骚综合网| 亚洲国产另类久久久精品极度| 亚洲精品乱码久久久久久日本蜜臀| 99视频在线观看一区三区| 欧美在线视频在线播放完整版免费观看 | 另类专区欧美制服同性| 欧美国产日韩亚洲一区| 欧美午夜影院| 国外成人性视频| 亚洲丰满在线| 亚洲一区在线视频| 欧美成人精品在线视频| 亚洲天堂免费观看| 久久精品久久99精品久久| 欧美人与禽猛交乱配| 国产毛片一区二区| 中文国产成人精品| 亚洲国产精品久久精品怡红院| 午夜影院日韩| 欧美午夜精品久久久久久久| 韩国一区二区三区美女美女秀| 亚洲特色特黄| 亚洲欧洲在线观看| 久久综合九色99| 国产亚洲精品美女| 亚洲曰本av电影| 亚洲第一天堂无码专区| 欧美亚洲综合另类| 国产精品乱人伦中文| 91久久久久久久久| 久久国内精品视频| 亚洲手机视频| 欧美日韩成人| 亚洲每日在线| 亚洲国产精品电影| 久久久国际精品| 国产午夜精品久久久久久久| 午夜免费久久久久| 亚洲无线一线二线三线区别av| 欧美激情91| 亚洲日韩中文字幕在线播放| 裸体一区二区三区| 久久久久久久综合| 国内一区二区三区| 久久夜精品va视频免费观看| 久久久人人人| 亚洲国产精品久久| 亚洲区第一页| 欧美人成在线视频| 亚洲一区二区欧美| 日韩一本二本av| 欧美日韩成人在线播放| 99re在线精品| 亚洲经典在线| 欧美激情按摩| 亚洲一区二区三区四区中文| 亚洲色在线视频| 国产精品免费观看在线| 亚洲一区二区在线看| 亚洲午夜久久久久久久久电影网| 国产精品红桃| 欧美在线精品免播放器视频| 香蕉免费一区二区三区在线观看| 国产精品有限公司| 亚洲国产精品视频一区| 欧美mv日韩mv国产网站| 免费不卡中文字幕视频| 日韩亚洲视频| 亚洲无亚洲人成网站77777| 国产精品午夜av在线| 久热国产精品视频| 欧美精品一区二区三| 欧美一区二区三区免费看| 久久国产精品久久精品国产| 亚洲国产天堂久久综合| 亚洲精品乱码久久久久久久久| 国产精品av免费在线观看| 久久精品国产一区二区三| 久久久99国产精品免费| 欧美高清视频一区二区| 午夜国产欧美理论在线播放 | 欧美日韩国产在线播放网站| 午夜亚洲精品| 久久一区激情| 亚洲线精品一区二区三区八戒| 性欧美激情精品| 99热在线精品观看| 亚洲欧美国产日韩中文字幕| 亚洲国产综合在线| 亚洲欧美国产精品桃花| 日韩一区二区精品| 欧美在线黄色| 亚洲一区二区三区成人在线视频精品 | 在线视频精品| 在线不卡中文字幕播放| 亚洲视频欧美在线| 亚洲人成人99网站| 香港久久久电影| 亚洲女同同性videoxma| 欧美 日韩 国产在线| 久久av老司机精品网站导航| 欧美精品性视频| 久久久精品一区| 国产精品jizz在线观看美国 | 久久精品国产精品亚洲综合| 在线亚洲观看| 欧美大色视频| 美国成人直播| 国产综合自拍| 欧美一区二区视频在线观看2020| 一区二区三区日韩| 欧美91视频| 欧美激情精品久久久久久久变态| 国产中文一区二区| 亚洲一区美女视频在线观看免费| 亚洲乱码日产精品bd| 久久色在线观看| 久久亚洲欧美| 国产自产2019最新不卡| 亚洲欧美电影在线观看| 欧美一区二区三区精品| 国产欧美日韩亚州综合| 午夜视频一区二区| 国产精品一区=区| 亚洲一区综合| 午夜精品视频在线| 国产精品热久久久久夜色精品三区| 亚洲欧洲日本在线| 日韩亚洲欧美精品| 欧美日韩久久精品| 99re热精品| 香蕉国产精品偷在线观看不卡| 国产精品爽爽爽| 午夜在线电影亚洲一区| 欧美一区二区三区日韩视频| 国产精品私拍pans大尺度在线 | 一区二区三区四区五区在线| 亚洲小视频在线观看| 欧美日韩国内自拍| 亚洲人成人一区二区在线观看 | 久久全球大尺度高清视频| 国产精品嫩草影院一区二区| 一区二区三区久久久| 小处雏高清一区二区三区| 久久精品99国产精品日本| 国产欧美日韩一区二区三区在线观看| 亚洲一区二区久久| 久久久久久久久久久久久女国产乱 | 一区二区三区欧美在线观看| 在线一区二区日韩| 国产精品三级久久久久久电影| 亚洲欧美日本日韩| 久久久精品国产免费观看同学| 一区二区在线免费观看| 浪潮色综合久久天堂| 亚洲国产欧美一区| 亚洲一区久久| 国产一区二区三区精品欧美日韩一区二区三区 | 宅男噜噜噜66一区二区| 久久精品道一区二区三区| 一区久久精品| 欧美日韩直播| 久久久在线视频| 亚洲视频一起| 91久久综合亚洲鲁鲁五月天| 欧美精品一区二区三区很污很色的 | 一区二区三区精品久久久| 国产精品久久午夜| 久久视频在线视频| 99视频精品全部免费在线| 久久免费偷拍视频| 欧美成人精品福利| 亚洲专区一区二区三区| 亚洲高清免费视频| 久久久中精品2020中文| 亚洲美女免费精品视频在线观看| 欧美中文字幕视频在线观看| 亚洲精品一区在线观看| 国产综合色一区二区三区 | 亚洲女性裸体视频| 久久精品一本| 亚洲欧美日本日韩| 99视频精品全国免费| 尤物网精品视频| 亚洲电影免费观看高清完整版在线观看 |