簡體   English   中英

當用戶雙擊其關聯文件時,如何打開應用程序?

[英]How can I make an application open when a user double clicks on its associated file?

我正在創建一個使用某種文件格式作為其數據源的應用程序。 我希望每當用戶雙擊此文件時打開此應用程序,例如當用戶雙擊Word文檔時MS Word將如何打開。 我該如何做到這一點? 另外,我如何使用用戶選擇的文件填充數據字段。 我會使用program.cs類中的args []嗎? 我使用c#來編寫這個應用程序。

注意我希望在主機上安裝應用程序時無需用戶執行任何操作即可建立此關聯。

首先 ,您需要設置文件關聯,以便您的文件類型與您的應用程序相關聯,並打開文件類型將運行您的應用程序。

您可以以編程方式進行文件關聯,這里有一些詳細信息如下所述: http//www.codeproject.com/KB/dotnet/System_File_Association.aspx

您也可以通過您的安裝項目為您的應用程序執行此操作。 對於“新手”來說,這是一條更容易的道路。 有關使用visual studio獲取安裝項目以添加文件關聯以及設置文件圖標的詳細信息,請訪問: http//www.dreamincode.net/forums/topic/58005-file-associations-in-visual-工作室/

否則,如果您使用InnoSetup,Wix等,那么我想您可以看到這些安裝程序為您創建關聯的說明。

第二 ,您需要讓您的應用程序接受命令行參數。 打開的文件作為命令行參數傳遞。 您需要處理參數以獲取文件路徑/名稱並打開給定文件。 這里有一個很好的描述代碼: 發布版本中的C#命令行參數問題

在您的情況下,您可以調用您的定制參數解析方法,而不是顯示處理程序的表單中的MessageBox.Show(s) 對於只接受文件名作為參數打開的簡單應用程序,這可能很簡單

foreach (string filePathName in Args)
                DoNamedFileOpen(filePathName);

您的代碼也可以有一個方法,可以從文件中提取您感興趣的數據字段的值等。

對於在安裝應用程序時設置文件關聯,使用圖標以及讓應用程序處理這些文件的打開問題,這是一個很好的簡單方法。

當然,還有很多其他選項,比如運行時文件關聯(詢問用戶是否需要關聯),檢測“損壞”關聯等。

這個問題在這里很長一段時間,但我希望這對新搜索有用

看到這個 或者, 這個如果你想API信息。

ClickOnce也支持從.NET 3.5 SP1開始的文件關聯。 在項目的屬性中,切換到“ Publish選項卡,然后單擊“ Options按鈕。 該對話框中有一個File Associations部分,允許您指定文件擴展名,描述和自定義圖標。

首先,您必須將文件類型擴展與可執行文件相關聯。 在Windows上,您可以通過注冊表(搜索“文件類型關聯窗口”)執行此操作。 在這個問題中,您會發現一些有趣的提示: 文件類型與應用程序的關聯(C#) 用於將擴展與程序相關聯的腳本

您的程序必須對命令行參數或參數做出反應。 在Java中,它確實是main方法的字符串數組。 我會說,在C#中它是一樣的。

如果您不需要以編程方式執行此操作,請右鍵單擊圖標,單擊打開...,然后選擇“始終使用此程序...”。

這通常是由您的安裝程序處理的。例如,我使用了INNO設置 ,並且在雙擊/打開相關文件擴展名時,安排它調整用戶注冊表以啟動應用程序非常簡單。 它甚至會為你處理MIME類型以及在卸載時清除這些內容,這是一件非常好的事情

我設法解決了這個問題。 我使用WIX創建一個安裝文件,並要求它在安裝時將文件與應用程序相關聯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM