全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2053
推到 Plurk!
推到 Facebook!

在檔案總管裡按F5可以重新整理, 但是如何寫成程式

尚未結案
cowfish
一般會員


發表:4
回覆:5
積分:1
註冊:2003-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-25 20:50:47 IP:210.243.xxx.xxx 未訂閱
在檔案總管裡按F5可以重新整理, 但是如何寫成程式 請問要下哪些指令來更新我的ICON, 來達到像手動按F5一樣的"重新整理" 因為我已經有寫程式來替換我的ICON了 但是我試了一些指令還是不能達到我的要求來自動Refresh 請教各位 請教教小弟我好嗎? 謝謝!
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-25 21:00:19 IP:140.135.xxx.xxx 未訂閱
cowfish您好:   試試keybd_event(VK_F5,0,0,0); 或是參考下面連結: http://delphi.ktop.com.tw/topic.php?topic_id=20899 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
cowfish
一般會員


發表:4
回覆:5
積分:1
註冊:2003-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-29 08:40:05 IP:210.243.xxx.xxx 未訂閱
Dear taishyang,    我試過了, 但是沒用. 你有試過嗎?    是我指令下錯了嗎? 謝謝!
loverlin
一般會員


發表:1
回覆:35
積分:22
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-29 14:34:48 IP:61.228.xxx.xxx 未訂閱
keybd_event 只對最上層(前景)程式有效用~ kk-boy
------
kk-boy
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-29 15:00:46 IP:140.135.xxx.xxx 未訂閱
cowfish您好:   誠如loverlin大哥說的keybd_event只對最上層(前景)程式有效用~   您的環境是在Windows檔案總管中嗎(要整理的ICON)??   我想到有幾個方法,您參考看看   知道視窗的Handle,用SendMessage的方式將視窗顯示再加入keybd_event (VK_F5,0,0,0);   或是用ShellExecute將視窗叫出,再加入keybd_event(VK_F5,0,0,0);   因為我曾經控制PointPower的播放(按F5),所以我就用上面的方式達成我的目的 再不然還有一個超爛的方法 < class="code">SetCursorPos(10,50); mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); keybd_event(VK_F5,0,0,0); 讓滑鼠自己去目標視窗中點一下,假設(10,50)位置再用keybd_event< > 順心< > ~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 - taishyang 於 2003/04/29 15:06:40
cowfish
一般會員


發表:4
回覆:5
積分:1
註冊:2003-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-29 15:18:38 IP:211.78.xxx.xxx 未訂閱
Dear taishyang,    我再詳述一下我的環境與作用    1.我所改變的Icon是磁碟機的Icon 2.我比較希望的是無論檔案總管是否已經開啟   Icon都可以被我更改並重新整理完   但是如果沒法子  還是可以使用自行呼叫檔案總管的方法來做看看 3.我不知道檔案總管的Handle如何得到   不知您可不可以寫一小段Code(重點就可以 不必很完整)來讓我明瞭   (從呼叫檔案總管, 得到他的Handle,..., 到SendMessage)    非常感謝你們抽空回答我的問題
cowfish
一般會員


發表:4
回覆:5
積分:1
註冊:2003-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-29 15:39:06 IP:210.243.xxx.xxx 未訂閱
對不起 我再補充一點 我現在碰到的Icon是無法點選就可以重繪的 必須要在視窗內按"重新整理"才會更新
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-29 16:10:23 IP:140.135.xxx.xxx 未訂閱
cowfish您好:   
引言:我所改變的Icon是磁碟機的Icon
試試下面的方式,應該可以不用Handle < class="code"> ShellExecute(NULL, "Open", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL, NULL, SW_SHOWNORMAL);//開啟我的電腦 keybd_event(VK_F5,0,0,0);//鍵盤按下F5整理ICON 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
cowfish
一般會員


發表:4
回覆:5
積分:1
註冊:2003-04-22

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-29 18:19:51 IP:211.78.xxx.xxx 未訂閱
Dear taishyang,    非常謝謝你 可以了 不過ShellExecute要連續執行兩次才行喔    
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-29 18:53:49 IP:140.135.xxx.xxx 未訂閱
cowfish您好:  
引言:不過ShellExecute要連續執行兩次才行喔
那試試加上Sleep();
ShellExecute(NULL, "Open", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL, NULL, SW_SHOWNORMAL);//開啟我的電腦
Sleep(2000);延遲2秒
keybd_event(VK_F5,0,0,0);//鍵盤按下F5整理ICON    
順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
系統時間:2024-04-20 0:40:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!