2013-10-12 69 views
0

我在vb.net中構建了一個可以在其中繪製的軟件,並將您的圖形保存在 a .GFrame文件中。製作我自己的文件擴展名(該開始是我的程序)

我的軟件工作很好,它保存文件併成功打開文件。

但我有一個問題,我希望當我嘗試打開.GFrame文件時,它會自動打開我的軟件並加載該文件 。

例如:

如果你試圖打開一個文件.btm的它會自動打開「畫圖」程序和文件加載到屏幕上。

那麼我怎麼能在我的軟件中做同樣的事情呢?

+1

[這有幫助嗎?](http://social.msdn.microsoft.com/Forums/vstudio/en-US/d89af73d-3ad7-485a-b6c4-94dadf13659e/how-do-i-associate-a-文件擴展名與我的應用程序?論壇= vbgeneral) – TEK

+0

它幫助了我一下,但我仍然不知道如何獲取已打開的文件名。我需要該軟件的文件名,以知道軟件將從哪個文件加載(數據)。 –

+2

您需要創建一個[文件關聯](http://technet.microsoft.com/en-us/library/cc749986.aspx)。這是由安裝程序完成的,任何安裝程序創建實用程序都支持這一點。您可以從命令行Environment.CommandLine或Sub Main()參數獲取文件名。 –

回答

3

有3個步驟:

1 - 正如上面提到的,你需要更新你的程序來處理傳遞給它的命令行parm;命令行parm當然是您希望程序處理的文件名(包括其擴展名)。

2 - 此外,如上所述,您需要將此內置到您的安裝文件中。 這裏是我是如何做到的,使用創新安裝(免費),具有擴展名結尾的皮膚文件(.ar4w),我有我的計劃(A標尺適用於Windows)相關聯:

[註冊]

根:HKCR; SubKey:.ar4w; ValueType:string; ValueData:窗口皮膚的標尺;標誌:uninsdeletekey;語言:;任務:Associate_ar4w_files

Root:HKCR; SubKey:窗口外觀的標尺; ValueType:string; ValueData:窗口皮膚的標尺;標誌:uninsdeletekey;任務:Associate_ar4w_files

Root:HKCR; SubKey:窗口皮膚的標尺\ Shell \ Open \ Command; ValueType:string; ValueData:「」「{app} \ aruler.exe」「」「%1」「」;標誌:uninsdeletevalue;任務:Associate_ar4w_files

Root:HKCR;子項:窗口皮膚的標尺\ DefaultIcon; ValueType:string; ValueData:{app} \ arulerlowres.ico,0;標誌:uninsdeletevalue;任務:Associate_ar4w_files代碼在這裏

3 - 上面沒有提到,如果你想從你的網站打開這些文件,你必須添加一行到你的.htaccess文件,以及 - 這裏是我使用的一個:

AddType應用程序/ x-arulerforwindows ar4w

希望這有助於。

3

這裏,子主要方法......另一種是當你的應用程序有MainForm的開始非常相似:

Public Sub Main(ByVal args() As String) 

    ' multiple files might be passed, decide whether to work with them all: 
     For n As Integer = 0 To args.Length - 1 
      ' do something 
     Next 

     ' or just the first one: 
     mFileName = args(0) 
    End Sub 
相關問題