2016-02-06 265 views
0

我試圖做一個簡單的程序來的消息框,在"autorun.inf"運行可執行VB.Net讀取文件內容

例如:

[Autorun] 
open=setup.exe 
icon=setup.exe,0 

如何定義它說 甚至行如果不是第二行,也可能是5號,我的意思是一些文本後..

open=setup.exe 

和修剪的文件名和它的擴展?

+1

可能重複[Read .ini file vb.net?](http://stackoverflow.com/questions/31402503/read-ini-file-vb-net)。 Autorun.inf採用INI文件格式(部分名稱用[]括起來,而在該部分下用name = value對),Windows有API例程來處理這些類型的文件。 –

回答

0
Dim FilePath As String = "E:\run.inf" 
    Dim INF As String = My.Computer.FileSystem.ReadAllText(FilePath) 
    INF = INF.ToLower 
    Dim StartIndex As Integer = INF.IndexOf("open=") + 5 
    Dim EndIndex As Integer = INF.IndexOf(vbCrLf, StartIndex) 
    Dim ExecutableName As String = "" 

    If StartIndex = 4 Then 
     MsgBox("the executable file name could not found at file :" & vbCrLf & FilePath) 
    Else 
     If EndIndex = -1 Then 
      ExecutableName = INF.Substring(StartIndex) 
     Else 
      ExecutableName = INF.Substring(StartIndex, EndIndex - StartIndex) 
     End If 
     MsgBox("The Executable Name is " & Chr(34) & ExecutableName & Chr(34)) 
    End If 

首先我們先讀INF文件中的所有文本並改變其情況下,使我們可以爲低"open="通過它進行搜索。 然後我們將字符串"open="和換行符vbCrlf之前的結尾處的開始索引和可執行文件名稱的結束索引定義爲開始。 並最終獲得可執行文件名並將其顯示在MsgBox中。

+0

非常感謝你的伴侶,正是我需要的! –

+0

歡迎您! –