Application написать некоторые данные в исполняемый файл B так Исполняемые B может получить доступ к этой информацииC#: запись/чтение другой исполняемый файл ресурса
Как писать/читать ресурс на другой исполняемый файл.
Просто основной ответ
Я нашел фрагмент кода для записи ресурса в приложении, и это работает, но я не могу retrive данные:
public class Packer : IDisposable
{
private static byte[] MAGIC_NUMBER = { 0x44, 0x61, 0x6c, 0x65, 0x6b, 0x4c, 0x75, 0x63 };
private Stream inStream;
public Packer(string filename, bool openReadonly = false)
{
inStream = File.Open(filename, FileMode.Open, openReadonly ? FileAccess.Read : FileAccess.ReadWrite, openReadonly ? FileShare.Read : FileShare.None);
}
public byte[] ReadData(int index)
{
byte[] mn_buf = new byte[MAGIC_NUMBER.Length];
byte[] len_buf = new byte[sizeof(Int32)];
int data_len = 0;
inStream.Seek(0, SeekOrigin.End);
for (int i = 0; i <= index; ++i)
{
inStream.Seek(-MAGIC_NUMBER.Length, SeekOrigin.Current);
inStream.Read(mn_buf, 0, MAGIC_NUMBER.Length);
inStream.Seek(-MAGIC_NUMBER.Length, SeekOrigin.Current);
for (int j = 0; j < MAGIC_NUMBER.Length; ++j)
{
if (mn_buf[j] != MAGIC_NUMBER[j])
{
throw new IndexOutOfRangeException("Not enough data.");
}
}
inStream.Seek(-sizeof(Int32), SeekOrigin.Current);
inStream.Read(len_buf, 0, sizeof(Int32));
inStream.Seek(-sizeof(Int32), SeekOrigin.Current);
data_len = BitConverter.ToInt32(len_buf, 0);
inStream.Seek(-data_len, SeekOrigin.Current);
}
byte[] data = new byte[data_len];
inStream.Read(data, 0, data_len);
return data;
}
public void AddData(byte[] data)
{
inStream.Seek(0, SeekOrigin.End);
inStream.Write(data, 0, data.Length);
inStream.Write(BitConverter.GetBytes(data.Length), 0, sizeof(Int32));
inStream.Write(MAGIC_NUMBER, 0, MAGIC_NUMBER.Length);
}
public void Dispose()
{
inStream.Dispose();
}
}
(я не знаю, как его уменьшить)
Спасибо!
Хотя ваш вопрос слишком широк, но в качестве намека типичный подход заключается в том, чтобы хранить промежуточные данные (то, что производится A и должно использоваться B) в общем хранилище, и получать к нему доступ оттуда. – mok