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

我住包子山

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>
            久久久久久一区| 经典三级久久| 亚洲乱码一区二区| 亚洲国产高清自拍| 免费在线观看精品| 久久久www成人免费无遮挡大片| 国产精品五月天| 蜜月aⅴ免费一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩视频永久免费| 性欧美1819性猛交| 亚洲精品偷拍| 欧美一区二区三区视频在线观看| 亚洲裸体视频| 久久se精品一区精品二区| 日韩视频在线一区| 欧美专区在线| 亚洲一区视频在线| 久久一本综合频道| 性欧美18~19sex高清播放| 久久久水蜜桃| 久久精品1区| 欧美日韩极品在线观看一区| 久久综合久久综合久久| 国产精品久久久久毛片大屁完整版 | 亚洲国产乱码最新视频| 亚洲一区二区高清| 亚洲精品美女91| 久久精品一区二区三区中文字幕| 亚洲在线日韩| 欧美日韩成人综合在线一区二区| 农夫在线精品视频免费观看| 国产欧美日韩综合一区在线播放| 99精品国产福利在线观看免费| 亚洲国产精品久久久久秋霞不卡| 亚洲嫩草精品久久| 亚洲小说区图片区| 欧美精品在线视频| 欧美激情在线免费观看| 在线观看中文字幕亚洲| 欧美一区二区三区免费在线看| 亚洲欧洲99久久| 欧美先锋影音| 一区二区高清在线观看| 一区二区三区国产| 欧美日韩国产在线看| 最新日韩中文字幕| 夜夜夜精品看看| 欧美日韩一区二区三区视频| 亚洲精品视频一区| 日韩一区二区精品视频| 欧美精品成人在线| 亚洲精品日韩精品| 一区二区精品国产| 欧美视频不卡| 亚洲一级黄色| 欧美中文在线观看国产| 国产精品无人区| 欧美与黑人午夜性猛交久久久| 久久久91精品国产一区二区精品| 国产亚洲一区二区在线观看| 久久riav二区三区| 欧美成人免费播放| 亚洲高清资源| 欧美激情网站在线观看| 亚洲精品资源| 小黄鸭精品aⅴ导航网站入口| 国产精品日韩欧美| 欧美资源在线| 亚洲午夜极品| 亚洲视频网在线直播| 国产精品电影观看| 午夜精品www| 久久综合中文色婷婷| 亚洲大胆美女视频| 欧美精品一区二| 亚洲少妇在线| 久久综合图片| 亚洲美女黄网| 国产伦精品免费视频 | 日韩一级免费| 国产精品日韩在线| 久久精品欧美日韩| 亚洲国产成人精品久久| 亚洲午夜成aⅴ人片| 国产女主播一区| 老色鬼精品视频在线观看播放| 亚洲精品一区二区三区蜜桃久| 亚洲字幕一区二区| 激情懂色av一区av二区av| 欧美丰满高潮xxxx喷水动漫| 宅男噜噜噜66国产日韩在线观看| 久久xxxx| 一区二区三区免费在线观看| 国产一区二区三区的电影| 欧美顶级少妇做爰| 亚洲影院污污.| 亚洲国产高清一区| 午夜精品电影| 亚洲三级电影在线观看| 国产精品视频最多的网站| 乱中年女人伦av一区二区| 亚洲一区免费网站| 欧美激情视频免费观看| 午夜视频在线观看一区二区| 亚洲黄页视频免费观看| 国产农村妇女毛片精品久久莱园子| 久久最新视频| 午夜精品视频在线| 亚洲精选国产| 欧美不卡一卡二卡免费版| 欧美一区二区三区在线视频| 亚洲精品美女久久久久| 国产亚洲人成a一在线v站| 欧美日韩另类一区| 免费久久精品视频| 欧美在线日韩| 亚洲午夜激情免费视频| 亚洲精选视频免费看| 亚洲国产美女| 蜜桃伊人久久| 久久色在线观看| 亚洲欧美精品suv| 亚洲另类自拍| 亚洲第一视频| 黄色日韩网站视频| 国产毛片一区| 国产精品高潮呻吟久久av无限| 欧美成人免费观看| 久久久久久久综合| 西西裸体人体做爰大胆久久久| 艳女tv在线观看国产一区| 午夜精品视频| 欧美日韩第一页| 裸体歌舞表演一区二区| 欧美一级久久久| 亚洲免费中文| 亚洲视频一区在线| 99re66热这里只有精品3直播| 亚洲成人中文| 欧美成人午夜| 老色鬼久久亚洲一区二区| 久久久综合免费视频| 久久激情五月丁香伊人| 国语精品中文字幕| 国产亚洲一区在线| 国产亚洲精品资源在线26u| 国产精品亚洲综合久久| 国产精品成人播放| 国产精品你懂的在线| 国产精品久久久久一区| 国产精品午夜春色av| 国产精品一卡二| 国产乱码精品一区二区三区忘忧草 | 国产视频自拍一区| 国产偷国产偷亚洲高清97cao| 国产精品外国| 国产一区视频观看| 韩国av一区二区三区| 在线日本高清免费不卡| 亚洲人成在线观看网站高清| 亚洲剧情一区二区| 国产精品99久久久久久久vr| 亚洲一区二区久久| 午夜影院日韩| 久久三级福利| 亚洲娇小video精品| 99精品欧美一区二区三区综合在线 | 国产精品v片在线观看不卡| 国产精品久久久久免费a∨| 国产午夜精品全部视频播放 | 一本大道av伊人久久综合| 亚洲天堂偷拍| 久久成人免费| 欧美aⅴ99久久黑人专区| 欧美人与禽猛交乱配视频| 国产精品99免视看9| 久久久久国产成人精品亚洲午夜| 久久综合网hezyo| 欧美日韩视频在线一区二区观看视频 | 亚洲人成网站999久久久综合| 亚洲私拍自拍| 久久综合成人精品亚洲另类欧美| 亚洲大片在线| 亚洲午夜精品视频| 久久天堂国产精品| 欧美深夜影院| 在线观看中文字幕不卡| 亚洲在线观看视频| 欧美电影资源| 亚洲永久视频| 欧美搞黄网站| 国产亚洲精品久久久| 亚洲精品日日夜夜| 久久精品国产精品| 亚洲精品中文字| 久久综合久久88| 国产午夜精品在线| 中文欧美日韩| 免费观看亚洲视频大全|