當IE用戶單擊駐留在SharePoint中的文件的鏈接(並且用戶選擇「只讀」訪問權限)時,該文件將被複制到Temporary Internet Files中,我的應用程序將打開並將該文件名作爲參數傳遞。我試圖在我的應用中實現「簽出」按鈕,以便用戶可以從只讀模式切換到簽出和編輯模式。我一直無法找到學習該文件的SharePoint URL的方法。在簽出和編輯時,這不成問題:有一個註冊表項將我係統上的文件映射到SharePoint中的URL;我還沒有發現任何類似於只讀文件的情況。臨時Internet文件(通過IE從SharePoint讀取)。我如何找到網址?
編輯: 在Windows資源管理器中有一個URL列可用,但是當我顯示該列(在資源管理器中)時,所有值都是空白。另外,我無法找到任何文件信息API調用,將返回這個值給我。
更新: 我在wininet.lib:FindFirstUrlCacheEntryEx(和「next」)以及FindFirstUrlCacheGroup(和next)中發現了一些有希望的調用。他們似乎沒有返回任何數據,並且從我所讀的內容中,這些僅返回我的應用程序使用wininet API調用緩存 - 而不是I.E.'s。
我也嘗試運行IE瀏覽器在打開文件時進入我的應用程序的COM調用列表,以查看它支持的接口。看起來很有前途的是IMonikerProp接口,當我實現它時,它確實被調用了......但是它只提供了mime類型屬性,我的應用程序的classid和TrustedDownload標誌。
我有處理SharePoint案件結帳;有註冊表項將本地文件名映射到HKEY_CURRENT_USER下的檢出輸出URL。我試圖處理打開文件的W/O結帳的情況下,然後決定從應用程序內檢查文件。微軟Word這樣做 – Steve 2009-04-14 16:49:50
ItemCheckedOut和ItemCheckingOut是我能找到的唯一事件,當一個項目被視爲只讀時,它們肯定不會被觸發?感覺他們必須這樣做,因爲根據我剛剛添加的鏈接,Word/Excel等啓動了一個ActiveX控件來存儲這些信息。 – 2009-04-14 17:48:27