こんにちは皆さん -
.INI 構造化ファイルをスクリプト言語として使用するサード パーティによって作成および管理される外部ファイルの読み取り/書き込みに取り組んでいます。ラッパーはかなりうまく機能していますが、セクション名は静的で、最後に一意の番号 ([GENERAL-1]) が付いているため、同じタスクを複数回実行できます。VS2008 で VB.NET を使用しています。
以下のコードは、ハードコーディングされたセクションからキーを正常に読み取ることができますが、キーを汎用にしたいと考えています。
INI
test.ini
[GENERAL-1]
SUPPRESSTASKERRORS=Y
TASKERRORSENDJOB=Y
コード:
Declare Function GetPrivateProfileString Lib "kernel32.dll" Alias
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As
String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As
Long, ByVal lpFileName As String) As Long
Declare Function WriteProfileString Lib "kernel32.dll" Alias
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As
String, ByVal lpString As String, ByVal lpFileName As String) As Long
' Read INI file
Dim uname As String ' receives the value read from the INI file
Dim slength As Long ' receives length of the returned string
Dim OriginalMJB As String = "c:\test\test.ini"
uname = Space(1024)
slength = GetPrivateProfileString("General-1", "SUPPRESSTASKERRORS", "anonymous",
uname, 1024, OriginalMJB)
上記の General-1 に注目してください。値が -1 としてハードコーディングされている場合、問題なく入力 .ini ファイルを読み取ることができます。ハイフンの残りの値を取得して使用する方法について何か考えはありますか?
どんな助けでも大歓迎です!
--ジョージ