Mono支持C#的P/Invoke http://www.mono-project.com/Interop_with_Native_Libraries,这是运行 Win32 API 函数所需的。 (只要你在 Windows 上运行 Mono——事实上它无法找到"kernel32"
让我怀疑你不是。)
pinvoke.net 网站收集了大多数 Win32 API 所需的 DllImport 签名。
以下是有关 GetPrivateProfileString 的内容。 http://www.pinvoke.net/default.aspx/kernel32/GetPrivateProfileString.html
这段代码对我在 Windows 7 上使用 Mono 2.10.8 有效:
using System;
using System.Text;
public class MainClass
{
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,
string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key, string def, StringBuilder retVal,
int size, string filePath);
static void Main()
{
StringBuilder asdf = new StringBuilder();
GetPrivateProfileString("global","test","",asdf,100,@"c:\example\test.ini");
Console.WriteLine(asdf.ToString());
}
}