[英]How to use builder and stub in WPF C#
我嘗試使用生成器和存根構建應用程序,但失敗了
我的生成器代碼:
File.Copy(AppDomain.CurrentDomain.BaseDirectory + @"\Camstub.exe", filepath);
string split = "|";
string info = split + CName.Text + split + Link.Text + split;
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
BinaryWriter bw = new BinaryWriter(fs);
fs.Position = fs.Length + 1;
bw.Write(info);
bw.Close();
MessageBox.Show(info);
我的存根代碼:
public MainWindow()
{
InitializeComponent();
StreamReader sr = new StreamReader(System.Windows.Forms.Application.ExecutablePath);
BinaryReader br = new BinaryReader(sr.BaseStream);
byte[] fileData = br.ReadBytes(Convert.ToInt32(sr.BaseStream.Length));
br.Close();
sr.Close();
ASCIIEncoding Enc = new ASCIIEncoding();
string split = "|";
string Message = Enc.GetString(fileData);
MessageBox.Show(Message);
生成器中的消息框顯示給我:
該應用程序已成功構建,但執行我時顯示的消息框顯示:
因此,我希望兩者都具有相同的消息框。
任何想法 ?
提前致謝 ;)
根據注釋中給出的信息,您想閱讀| CName | Link |。 文件末尾的數據。 | CName | Link | 數據可以具有可變長度。
為了處理可變長度的數據,您需要以某種方式指示數據的字節長度。 在給定的情況下,一個簡單而合適的解決方案是將字節長度存儲為| CName | Link |之后的文件末尾的2字節或4字節數字。 數據。 一個2字節的數字(即ushort或UInt16 )允許指定一個最大長度為65536的長度,並且應該足以滿足您的目的。 (如果數據可以大於64KB,則使用4個字節存儲長度。)
因此,構建器應執行以下操作:
存根應執行以下操作:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.