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

在檔案總管點二下開啟程式的 Event 為何?

尚未結案
etboite
一般會員


發表:10
回覆:17
積分:5
註冊:2003-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-30 17:06:14 IP:211.23.xxx.xxx 未訂閱
我想取得使用者在檔案總管點二下開啟程式的這個事件,請問有人知道這個事件的名稱為何嗎?也就是說,當他開啟程式的時候,我想要對這個檔案做一些處理,當然這支程式會是一隻常駐程式
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-25 10:06:18 IP:211.76.xxx.xxx 未訂閱
如果真的有事件可以攔的話,都可以使用 SPYXX.exe (SPY++) 來攔。 SPYXX 是 VC 提供的 Utility,網路上應該也可以找得到。 它的用法及說明請參考 MSDN http://msdn.microsoft.com/library/en-us/vcug98/html/_asug_Home_Page.3a_.Spy.2b2b.asp 吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP VMASK - ViewMove Automation Software Kernel
------
http://www.ViewMove.com
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-26 11:54:35 IP:218.166.xxx.xxx 未訂閱
我在MSDN找到一個連結,或許和這問題有關 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/legacyinformation/fileman.asp 裡面提到FM_GETFILESEL可以得到使用者所選取的檔案 但我不知道使用者開啟程式時也是得到FM_GETFILESEL的訊息
etboite
一般會員


發表:10
回覆:17
積分:5
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-30 18:06:46 IP:211.23.xxx.xxx 未訂閱
感謝你的回應,我去查了關於這篇的 MSDN ,嗯.....有點不是很懂它的用法, extern "C" LONG WINAPI FMExtensionProc(HWND hwnd, WORD wMsg, LONG lParam); LONG WINAPI FMExtensionProc(HWND hwnd, WORD wMsg, LONG lParam) {         if (wMsg == FMEVENT_SELCHANGE)                 AfxMessageBox("Select Files.");         return 0; } 我在專案的 .cpp 上面寫了上面的程式,可是執行完後,我去按開啟任何檔案,也沒有收到訊號....我想,應該不是這麼簡單就可以完成的吧! Q1. MSDN 說到 FMExtensionProc 是一個 callback 函式,那我該如何引用此函式呢? Q2.FMEVENT_SELCHANGE 是在 wMsg 會回傳的訊息代號,那 FM_GETFILESEL 這個訊息代號也是由 wMsg 這個參數傳回來的嗎? 這是我在寫作的過程當中碰到的問題........=="    
引言: 我在MSDN找到一個連結,或許和這問題有關 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/legacyinformation/fileman.asp 裡面提到FM_GETFILESEL可以得到使用者所選取的檔案 但我不知道使用者開啟程式時也是得到FM_GETFILESEL的訊息
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-30 20:44:55 IP:61.62.xxx.xxx 未訂閱
引言: 感謝你的回應,我去查了關於這篇的 MSDN ,嗯.....有點不是很懂它的用法, extern "C" LONG WINAPI FMExtensionProc(HWND hwnd, WORD wMsg, LONG lParam); LONG WINAPI FMExtensionProc(HWND hwnd, WORD wMsg, LONG lParam) { if (wMsg == FMEVENT_SELCHANGE) AfxMessageBox("Select Files."); return 0; } 我在專案的 .cpp 上面寫了上面的程式,可是執行完後,我去按開啟任何檔案,也沒有收到訊號....我想,應該不是這麼簡單就可以完成的吧! Q1. MSDN 說到 FMExtensionProc 是一個 callback 函式,那我該如何引用此函式呢? Q2.FMEVENT_SELCHANGE 是在 wMsg 會回傳的訊息代號,那 FM_GETFILESEL 這個訊息代號也是由 wMsg 這個參數傳回來的嗎? 這是我在寫作的過程當中碰到的問題........=="
引言: 我在MSDN找到一個連結,或許和這問題有關 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/legacyinformation/fileman.asp 裡面提到FM_GETFILESEL可以得到使用者所選取的檔案 但我不知道使用者開啟程式時也是得到FM_GETFILESEL的訊息
這個是針對File Manager的, 它所提到的File Manager是Win3.1時檔案管理員, 和現在的檔案總管沒有關係, 現在的檔案總管叫Explorer, 不要被他的名字騙了. 而且File Manager 我現在在Win2000好像就找不到(我記得以前Win98的附屬應用程式裡還可以看到). Win95後的Shell Extension都是用COM Interface來實作的, 而File Manager的Shell Extension實作起來有點像做外掛, 就是你一定要做成DLL, 並且要export固定的Function.
系統時間:2024-04-30 4:05:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!