2011-07-31 44 views
0

我想在VB.Net中創建一個小應用程序,這個應用程序會壓縮文件,這樣當用戶解壓縮這個文件時,就會在用戶的默認瀏覽器中打開一個url。如何創建一個zip文件,當用戶解壓縮它時會打開一個url?

有什麼辦法可以創建這樣的文件嗎?

感謝

編輯

CAN我們打開裏面的.zip壓縮包中的所有文件解壓後IT?
實際上,在我的項目中,我嘗試構建zip文件,在解壓縮後它將打開其幫助文件(位於特定網站)。而這個功能是必須爲我的項目。

+4

聞起來像病毒。 –

+2

即使黑客只是變得懶惰...... – synthesizerpatel

回答

3

不,據我所知,在標準ZIP文件中解壓時無法打開URL。

0

不,沒有辦法做到這一點。

2

你可以看看如何創建一個self-extracting archive或者一個自定義的exe文件來提取/解壓嵌入的文件並執行代碼。雖然這不會是你典型的「.zip」文件,但它仍然可以滿足你對這個項目的要求。我的腦海裏沒有任何資源,但有一點谷歌搜索可能會舉一些例子。

0

DotNetZip支持創建可以在提取後運行任何程序的自解壓歸檔文件。該程序可以「打開剛剛提取的文件」,或者可以「打開機器上的任何程序」,或者可以「運行EXE,這是一個提取的文件」等。這可以用於產生提取後打開URL的SFX。

在VB.NET,以產生一個打開URL的自提取文件中的代碼是這樣的:

Using zip As New Ionic.Zip.ZipFile() 

    zip.AddEntry("Entry1.txt", "This is the content") 

    Dim opt As New Ionic.Zip.SelfExtractorSaveOptions() 
    opt.Flavor = Ionic.Zip.SelfExtractorFlavor.WinFormsApplication 
    opt.IconFile = "zippedFile.ico" 
    opt.Description = "This is a self-extracting archive created by a vb.net app" 
    opt.Copyright = "Copyright (c) 2011 Cheeso" 
    opt.ProductVersion = "4.3.2" 
    opt.ProductName = "SomethingFun" 
    opt.SfxExeWindowTitle = "SomethingFun extractor" 
    opt.PostExtractCommandLine = "http://news.google.com" ' <<<-- your URL here 
    zip.SaveSelfExtractor("SOverflow.exe", opt) 
End Using 

以上代碼生成稱爲「SOverflow.exe」一個EXE,它依賴於。 NET 2.0。 Windows資源管理器中可用的屬性表顯示了上述選項中指定的一些設置。它看起來像這樣:

enter image description here

當你運行SOverflow.exe,它看起來像這樣:

enter image description here

當用戶點擊 「提取」,所有的文件被提取,之後,運行命令「http://news.google.com」,該命令將該URL彈出到默認瀏覽器中。

本示例顯示歸檔中的單個條目和命令的HTTP url,但可以將許多條目打包到自解壓歸檔中,並運行任意任意命令。

自解壓器(SOverflow.exe)作爲普通壓縮文件是「可打開的」 - 只需將其重命名爲SOverflow.zip,即可在Windows資源管理器中瀏覽內容,在Winzip中解壓縮等。它作爲一個zip文件,會失去自解壓行爲,包括「在提取後運行一個命令」部分。

DotNetZip是一個免費的圖書館。

相關問題