C#做传奇登陆器问题(贴上源码)大家帮我分析下啊! 本帖最后由 zb328933803 于 2009-09-08 06:32:56 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 StreamWriter SwFtp = new StreamWriter(path + "\\ftp.ini",Encoding.UTF7);//红色编码部分你换成合适的编码比如UTF8 gb2312等所有的写入流都换下 终于知道传奇的登陆器是怎么回事了,原来就是写个配置文件,让客户端读取这个配置文件啊。既然中文是乱码,E文和数字都正常,那么肯定是字符编码的问题。传奇是使用Delphi写的,并且在Delphi中有两种字符串类型:AnsiString和WideString。AnsiString 是 ANSI码,而 WideString 是unicode码,c#只支持unicode码。你可以试着在写配置文件的时候使用UTF8格式,因为AnsiString可以支持UTF8。 谢谢各位啦! 哈哈 解决了! 把解决部分的源码贴上! 呵呵 一个登陆器完成 了!!主要是修改 进入游戏 按钮触发事件-----/// <summary> /// 点击进入游戏按钮触发事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { try { //获取应用程序路径 string path = Environment.CurrentDirectory; //检测并创建配置文件 FileStream FsFtp = new FileStream(path + "\\ftp.ini", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); FileStream FsMir = new FileStream(path + "\\mir.ini", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); FileStream FsMst = new FileStream(path + "\\mirsetup.ini", FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite); //写入配置文件 //配置文件ftp.ini StreamWriter SwFtp = new StreamWriter(FsFtp, Encoding.Unicode); SwFtp.WriteLine("[Server]"); SwFtp.WriteLine("ServerCount=1"); SwFtp.WriteLine("Server1caption=" + StartGameName); SwFtp.WriteLine("Server1name=" + StartGameName.ToString().Trim()); //配置文件mir.ini StreamWriter MrFtp = new StreamWriter(FsMir, Encoding.Unicode); MrFtp.WriteLine("[setup]"); MrFtp.WriteLine("ServerAddr=" + StartGameNameIP); MrFtp.WriteLine("FontName=宋体"); //配置文件mirsetup.ini StreamWriter MsFtp = new StreamWriter(FsMst, Encoding.Unicode); MsFtp.WriteLine("[setup]"); MsFtp.WriteLine("ServerAddr=" + StartGameNameIP); MsFtp.WriteLine("FontName=宋体"); //关闭流 MsFtp.Close(); MrFtp.Close(); SwFtp.Close(); //关闭流 FsFtp.Close(); FsMir.Close(); FsMst.Close(); //设置启动进程信息 ProcessStartInfo info = new ProcessStartInfo(); //启动文件 info.FileName = path + "\\Mir.Client.dat"; //禁止使用系统程序外壳程序启动进程 info.UseShellExecute = false; //启动进程 Process.Start(info); } catch (Exception ex) { //异常 MessageBox.Show("意外错误!!!"+ex.Message); ; } } C# 判断WORD字体属性 图片在显示问题 请问如何将datagridview中的某一行的值填充入一个dataset中? 求助,带软键盘的浏览器的输入焦点问题! Winform DataGrid 如何在某一列上显示按钮. Cookie获得问题。。 XML到DATSET转换 如何获取某文件夹下的所有图片? calendar控件弹出 一个简单的类问题!看看这两个类有何不同? 高手来看看,求几个小问题。在线急用 c# ini文件加密
传奇是使用Delphi写的,并且在Delphi中有两种字符串类型:AnsiString和WideString。
AnsiString 是 ANSI码,而 WideString 是unicode码,c#只支持unicode码。你可以试着在写配置文件的时候使用UTF8格式,因为AnsiString可以支持UTF8。
/// <summary>
/// 点击进入游戏按钮触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{
//获取应用程序路径
string path = Environment.CurrentDirectory;
//检测并创建配置文件
FileStream FsFtp = new FileStream(path + "\\ftp.ini", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
FileStream FsMir = new FileStream(path + "\\mir.ini", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
FileStream FsMst = new FileStream(path + "\\mirsetup.ini", FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite); //写入配置文件
//配置文件ftp.ini
StreamWriter SwFtp = new StreamWriter(FsFtp, Encoding.Unicode);
SwFtp.WriteLine("[Server]");
SwFtp.WriteLine("ServerCount=1");
SwFtp.WriteLine("Server1caption=" + StartGameName);
SwFtp.WriteLine("Server1name=" + StartGameName.ToString().Trim());
//配置文件mir.ini
StreamWriter MrFtp = new StreamWriter(FsMir, Encoding.Unicode);
MrFtp.WriteLine("[setup]");
MrFtp.WriteLine("ServerAddr=" + StartGameNameIP);
MrFtp.WriteLine("FontName=宋体"); //配置文件mirsetup.ini
StreamWriter MsFtp = new StreamWriter(FsMst, Encoding.Unicode);
MsFtp.WriteLine("[setup]");
MsFtp.WriteLine("ServerAddr=" + StartGameNameIP);
MsFtp.WriteLine("FontName=宋体");
//关闭流
MsFtp.Close();
MrFtp.Close();
SwFtp.Close();
//关闭流
FsFtp.Close();
FsMir.Close();
FsMst.Close();
//设置启动进程信息
ProcessStartInfo info = new ProcessStartInfo();
//启动文件
info.FileName = path + "\\Mir.Client.dat";
//禁止使用系统程序外壳程序启动进程
info.UseShellExecute = false;
//启动进程
Process.Start(info); }
catch (Exception ex)
{
//异常
MessageBox.Show("意外错误!!!"+ex.Message); ;
}
}