どうも、あおです。
INIファイルに設定した内容を読込みたいときのメモ。
INIファイルサンプル
■手順
①プロジェクトフォルダにINIファイル(拡張子.ini)を保存
②Visual Studioのソリューションエクスプローラーの
プロジェクトを右クリックして、追加→既存の項目を押下、
対象のINIファイルを追加する。
③ソリューションエクスプローラーで追加したINIファイルを
右クリックして、プロパティを押下。
出力ディレクトリにコピーで「新しい場合はコピーする」を選択。
(これをしておかないと、INIファイルの内容が取得できない!と
なることがあります。)
④以下のように読込み用コードを書く。
(今回は、画面起動時にINIファイルの内容を変数にセットしています。)
Imports System.Runtime.InteropServices Public Class TestVB 'INIファイルの場所 Private Const INI_PATH As String = ".\\TestVB.ini" Private strTmp1 As String = String.Empty Private strTmp2 As String = String.Empty Private strTmp3 As String = String.Empty Private strOutFolder As String = String.Empty <DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> Private Shared Function GetPrivateProfileString( ByVal lpAppName As String, 'セクション名 ByVal lpKeyName As String, 'キー名 ByVal lpdefault As String, 'キーがない場合のデフォルト値 ByVal lpRetuenedString As System.Text.StringBuilder, '取得文字列格納 ByVal nSize As Integer, '取得文字列サイズ ByVal lpFileName As String) As Integer 'INIファイル End Function Private Sub TestVB_Load(sender As Object, e As EventArgs) Handles MyBase.Load strTmp1 = GetIniString("FILE", "TMP1") strTmp2 = GetIniString("FILE", "TMP2") strTmp3 = GetIniString("FILE", "TMP3") strOutFolder = GetIniString("FOLDER", "OUT") End Sub Private Function GetIniString(ByVal lpAppName As String, ByVal lpKeyName As String) As String Dim intBuffSize As Integer = 256 Dim str As New System.Text.StringBuilder(intBuffSize) Try Call GetPrivateProfileString(lpAppName, lpKeyName, str.ToString, str, str.Capacity, INI_PATH) Return str.ToString Catch ex As Exception Return str.ToString End Try End Function End Class