我們公司正在將我們的幫助系統遷移到Flare下的HTML5格式。我們還在URI命令行上使用Flare CSHID's將基於主題的訪問權限添加到幫助系統中,以便直接訪問主題,例如index.html#CSHID = GettingStarted以啓動GettingStarted.html幫助頁面。對於本地html或文件URL,ShellExecute失敗
我們的應用程序使用C++編寫,並利用Win32 ShellExecute()函數生成與HTTP關聯的默認應用程序以顯示幫助系統。我們注意到ShellExecute()在沒有指定哈希標籤時工作正常,如
ShellExecute(NULL,_T(「open」),_ T(「c:\ Help \ index.html」),NULL,NULL ,SW_SHOWNORMAL);
此功能將啓動與查看HTML頁面相關的默認瀏覽器,在這種情況下,File:///協議處理程序將啓動,瀏覽器將啓動,您將看到file:/// c:/ Help /index.html在地址欄中。
然而,一旦你添加#信息主題,的ShellExecute()無法打開網頁
的ShellExecute(NULL,_T( 「開」),_ T(「C:\幫助\ index.html在#cshid = GettingStarted「),NULL,NULL,SW_SHOWNORMAL);
如果瀏覽器根本打開,那麼您將被定向到file:/// c:/Help/index.html,而沒有#cshid = GettingStarted主題標識。
請注意,如果通過ShellExecute()使用File協議處理程序,如果幫助系統停留在Web上,並且使用Http或Https協議處理程序,那麼這一切都很好。
對於我們的客戶,其中一些人在私人局域網中,我們不能總是依賴互聯網訪問,所以我們的幫助系統必須隨應用程序一起提供。