2015-11-26 62 views
0

目前,我正在自學(用SO &谷歌的幫助下)VB.Net創建多人MOD的啓動,我需要在第一次啓動我的應用程序的用戶輸入他們的地方文件夾被存儲,到目前爲止我有;如何保存/恢復的FolderBrowserDialog SelectedPath

Dim folderDlg As System.Windows.Forms.FolderBrowserDialog 
    folderDlg = New System.Windows.Forms.FolderBrowserDialog 
    folderDlg.Description = "Please select your multiplayer folder" 


    If My.Settings.isFirstRun Then 
     My.Settings.isFirstRun = False 
     My.Settings.Save() 
     folderDlg.ShowDialog() 
    Else 

    End If 

的按鈕運行MOD本身

Private Sub Launch_mp_Click(sender As Object, e As EventArgs) Handles Launch_mp.Click 
    If My.Computer.FileSystem.FileExists("launcher.exe") Then 
     Process.Start("launcher.exe") 
     Timer2.Interval = 1000 
     Timer2.Start() 
    End If 
End Sub 

Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick 
    p = Process.GetProcessesByName("eurotrucks2") 
    If p.Count > 0 Then 
     Timer2.Stop() 
     Me.WindowState = FormWindowState.Minimized 
     Me.Visible = True 
    Else 
    End If 
End Sub 

我很困惑,我怎麼能存儲用戶選擇的路徑,然後調用它以後的按鈕不總是要求迪爾。

回答

1

你幾乎有:

使用不同的選項,其中存儲的信息:使用的ini文件或應用程序的配置文件註冊表,舊式的。我建議使用配置文件,因爲您已經將isFirstRun-varialbe存儲在配置中。在項目探索者看看「我的項目」文件夾,然後雙擊一個名爲「設置」的項目。添加一個名爲「ModFolder」的字符串類型的設置。之後,您將可以使用My.Settings.ModFolder varialbe訪問該設置的值(請參見here)。

使用的FolderBrowserDialog存儲文件夾(見here

if folderDlg.ShowDialog() = DialogResult.Ok then 
    My.Settings.ModFoler = folderDlg.SelectedPath 
    My.Settings.Save 
end if 

應用程序啓動時下次ModFolder變量將automaticall持所儲存的而不是If My.Settings.isFirstRun Then所以價值我會檢查:

If File.Exists(Path.Combine(My.Settings.ModFolder, "AppToStart.Exe")) then 
... 
end if 

如果文件存在啓動它,如果不重新顯示對話框挑的文件夾。

+0

太謝謝你了! :) – Kyt2015