二进制流解决方案
二进制流
一个.exe文件
C#中是将其写入一个BinaryWriter对象中,然后对指定地址的字符串进行操作
具体代码如下:
string k_name = " ";
k_name = textBox1.Text.Trim();
if (k_name.Equals( " "))
{
return;
}
string path = Environment.CurrentDirectory;
if (!File.Exists(path + "\\ " + k_name + ".exe "))
{
File.Copy(path + "\\KjXW_Ds1H.exe ", path + "\\ " + k_name + ".exe ");
}
BinaryWriter bWriter = new BinaryWriter(new BufferedStream(new FileStream(path + "\\ " + k_name + ".exe ", FileMode.Open)));
char[] ch = new char[24];
byte[] bytes = Encoding.Unicode.GetBytes(ch);
bWriter.Seek(0x19294, 0);
bWriter.Write(bytes, 0, bytes.Length);
ch = k_name.ToCharArray();
bytes = Encoding.Unicode.GetBytes(ch);
bWriter.Seek(0x19294, 0);
bWriter.Write(bytes, 0, bytes.Length);
bWriter.Close();
this.Close();
请问用VC怎么实现??
------解决方案--------------------
以二进制形式打开这个文件,然后修改,在保存就可以
------解决方案--------------------
以字节形式读写二进制。
------解决方案--------------------
注意这里哦,vc默认是gb2312
==============
Encoding.Unicode
==============
一个.exe文件
C#中是将其写入一个BinaryWriter对象中,然后对指定地址的字符串进行操作
具体代码如下:
string k_name = " ";
k_name = textBox1.Text.Trim();
if (k_name.Equals( " "))
{
return;
}
string path = Environment.CurrentDirectory;
if (!File.Exists(path + "\\ " + k_name + ".exe "))
{
File.Copy(path + "\\KjXW_Ds1H.exe ", path + "\\ " + k_name + ".exe ");
}
BinaryWriter bWriter = new BinaryWriter(new BufferedStream(new FileStream(path + "\\ " + k_name + ".exe ", FileMode.Open)));
char[] ch = new char[24];
byte[] bytes = Encoding.Unicode.GetBytes(ch);
bWriter.Seek(0x19294, 0);
bWriter.Write(bytes, 0, bytes.Length);
ch = k_name.ToCharArray();
bytes = Encoding.Unicode.GetBytes(ch);
bWriter.Seek(0x19294, 0);
bWriter.Write(bytes, 0, bytes.Length);
bWriter.Close();
this.Close();
请问用VC怎么实现??
------解决方案--------------------
以二进制形式打开这个文件,然后修改,在保存就可以
------解决方案--------------------
以字节形式读写二进制。
------解决方案--------------------
注意这里哦,vc默认是gb2312
==============
Encoding.Unicode
==============