没有现成的类,C#中都用XML的配置文件了,可以调用WINAPI实现,比如:
Private Declare Unicode Function GetPrivateProfileInt Lib "kernel32" _
Alias "GetPrivateProfileIntW" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal nDefault As Int32, _
ByVal lpFileName As String) As Int32Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Int32, _
ByVal lpFileName As String) As Int32
这两个例子是VB的,C#简单修改即可
Private Declare Unicode Function GetPrivateProfileInt Lib "kernel32" _
Alias "GetPrivateProfileIntW" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal nDefault As Int32, _
ByVal lpFileName As String) As Int32Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Int32, _
ByVal lpFileName As String) As Int32
这两个例子是VB的,C#简单修改即可
解决方案 »
- C#多线程异步调用C++DLL出现冲突的问题,请帮忙分析
- 如何让一个form窗口一打开就是最大化的,并且把右上角最小化最大化去掉,只留关闭
- 本地excel数据与远程服务器数据的比较
- 跪求二值图形细化算法(分不够可以加)
- 如何让DataGrid每次单击时选中一行记录而不是进入到某一个单元格,急。。。在线等,解决给分!
- using System.Data;程序给出提示是:类型或命名空间Data不在System中,为什么不对呢??在线等!!
- 后台.cs里写的函数,在前台怎么调啊?
- 高手们:请问在webform下如何获知相应的是什么事件
- C#版主的email
- 在C#里边怎么改label的字体啊,我看了半天好象是设置好后就不能改了
- 请问有没有几可以输入也可以选择的下拉框???急!!!!!!!!
- C#如何不用MSMQ及硬盘文件的方式进行两个程序间通讯?
[DllImport("kernel32.dll")]
public static extern int GetPrivateProfileString(
string lpAppName, // section name
string lpKeyName, // key name
string lpDefault, // default string
string lpReturnedString, // destination buffer
int nSize, // size of destination buffer
string lpFileName // initialization file name
);string strFileName="FileName.ini";
int intBufferSize=10;
string strSec="Timer";
string strK="Interval";
string strReturn="";//There is somthing Wrong here
long lngRet=GetPrivateProfileString(strSec,strK,"",strReturn,intBufferSize,strFileName);//strResult=""; (strResult 期望值時 .ini文件中1000.) why ???ps:FileName.ini
[Timer]
Interval=1000
public bool FileType(string FileName,string FileExt)
{
FileInfo TheFile=new FileInfo(FileName);
try
{
if(TheFile.Extension=="."+FileExt.Trim() || TheFile.Extension=="."+FileExt.ToUpper() )
{
TheFile=null;
return true;
}
else
{
throw new FileTypeException("文件类型不是" + FileExt.ToString() );
}
}
catch(FileTypeException e)
{
MessageBox.Show(e.Message,"提示" );
TheFile=null;
return false;
}}
public bool FindFile(string FilePath)
{
FileInfo TheFile=new FileInfo(FilePath);
try
{
if(TheFile.Exists)
{
TheFile=null;
return true;
}
else
{
throw new FileNotFoundException("文件未找到");
}
}
catch(FileNotFoundException e)
{
MessageBox.Show(e.Message,"提示" );
TheFile=null;
return false;
}
}
虽然不是直接打开,但用FileInfo类一定是可以读取文件内容的(一般都是stream一起使用的)绝对可以。
public bool FileType(string FileName,string FileExt)
{
FileInfo TheFile=new FileInfo(FileName);
try
{
if(TheFile.Extension=="."+FileExt.Trim() || TheFile.Extension=="."+FileExt.ToUpper() )
{
TheFile=null;
return true;
}
else
{
throw new FileTypeException("文件类型不是" + FileExt.ToString() );
}
}
catch(FileTypeException e)
{
MessageBox.Show(e.Message,"提示" );
TheFile=null;
return false;
}}
public bool FindFile(string FilePath)
{
FileInfo TheFile=new FileInfo(FilePath);
try
{
if(TheFile.Exists)
{
TheFile=null;
return true;
}
else
{
throw new FileNotFoundException("文件未找到");
}
}
catch(FileNotFoundException e)
{
MessageBox.Show(e.Message,"提示" );
TheFile=null;
return false;
}
}
虽然不是直接打开,但用FileInfo类一定是可以读取文件内容的(一般都是stream一起使用的)绝对可以。