|  | ご返信ありがとうございます! 
 
 GetPrivateProfileStringByByteArray関数を使用して取得する事ができました!
 
 
 [DllImport("KERNEL32.DLL", EntryPoint = "GetPrivateProfileStringA")]
 public static extern uint
 GetPrivateProfileStringByByteArray(string lpAppName,
 string lpKeyName, string lpDefault,
 byte[] lpReturnedString, uint nSize,
 string lpFileName);
 
 
 ArrayList aryRet = new ArrayList();
 // 指定ファイルのセクションの一覧を得る
 byte[] ar2 = new byte[1024];
 uint resultSize2 = GetPrivateProfileStringByByteArray(null, null, "WEB01", ar2, (uint)ar2.Length, m_iniFilePath);
 
 string result2 = Encoding.Default.GetString(ar2, 0, (int)resultSize2 - 1);
 string[] sections = result2.Split('\0');
 string val_tmp = "";
 foreach (string section in sections)
 {
 }
 
 なるほど!
 GetPrivateProfileString関数でもできたんですね!
 勉強になります!
 
 ありがとございました!
 
 
 ■No44848 (魔界の仮面弁士 さん) に返信
 > ■No44846 (たろ さん) に返信
 >>セクション名を指定して情報を取得する処理は、
 >>[DllImport("kernel32")]
 >>private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);
 >>を使用して実現できているのですが、
 >>セクション名だけを取得する処理がわかりません。。
 >
 > GetPrivateProfileString API だけでいけますよ。
 > http://msdn.microsoft.com/ja-jp/library/cc429779.aspx
 >
 > // C#
 > [DllImport("kernel32", CharSet = CharSet.Auto)]
 > private static extern int GetPrivateProfileString(
 >     string section,
 >     string key,
 >     string def,
 >     char[] retVal,
 >     int size,
 >     string filePath);
 >
 > static void Main(string[] args)
 > {
 >     char[] buf = new char[1024];
 >     int ret = GetPrivateProfileString(null, null, null, buf, buf.Length, "odbc.ini");
 >     string sectionsText = new string(buf, 0, ret);
 >     string[] sections = sectionsText.TrimEnd('\0').Split('\0');
 >
 >     // 内容確認
 >     Array.ForEach(sections, Console.WriteLine);
 > }
 >
 > '-----------------------------------------
 >
 > ' Visual Basic
 > Declare Auto Function GetPrivateProfileString Lib "kernel32" _
 >     (ByVal section As String, _
 >      ByVal key As String, _
 >      ByVal def As String, _
 >      <Out(), MarshalAs(UnmanagedType.LPTStr)> ByVal buf As String, _
 >      ByVal size As Integer, _
 >      ByVal file As String) As Integer
 >
 > Sub Main()
 >     Dim buf As String = StrDup(1024, vbNullChar)
 >     Dim ret As Integer = GetPrivateProfileString(Nothing, Nothing, Nothing, buf, buf.Length, "odbc.ini")
 >     Dim sections() As String = Left(buf, ret).TrimEnd(vbNullChar).Split(vbNullChar)
 >
 >     '内容確認
 >     Array.ForEach(sections, AddressOf Console.WriteLine)
 > End Sub
 
 |