请教如何使用程序在一个程序尾部写入一些数据,然后再由被写入的程序把这些数据读出来呢?我的qq是 79110201

解决方案 »

  1.   

    举个DLL写在EXE后面的例子写入:
    CFile MyFile("F:\\VC\\testexe\\testexe.exe",CFile::modeReadWrite|CFile::modeNoTruncate); 
    MyFile.SeekToEnd();
    CFile MyFile1("F:\\VC\\testexe\\testdll.dll",CFile::modeReadWrite|CFile::modeNoTruncate); 
    MyFile1.SeekToBegin();

    char buff[100];
    ZeroMemory(buff,100); while((MyFile1.GetLength())!=(MyFile1.GetPosition()))
    {
    ZeroMemory(buff,100);
    MyFile1.Read(buff,100);
    MyFile.Write(buff,100);
    }
    MyFile.Close();
    MyFile1.Close();从程序中解出来 CFile f1(_pgmptr,CFile::modeRead|CFile::modeNoTruncate);
    f1.Seek(20480,CFile::begin);//这里的20480是你EXE文件未加DLL文件之前的长度
    CFile f2("c:\\testdll.dll",CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate);
    char buff[100];
    ZeroMemory(buff,100);
    while((f1.GetLength())!=(f1.GetPosition()))
    {
    ZeroMemory(buff,100);
    f1.Read(buff,100);
    f2.Write(buff,100);
    } f1.Close();
    f2.Close();这时候已经解出来了
    再:
    HMODULE hMod = (HMODULE)LoadLibrary("C:\\testdll.dll");
    mess=(MESS)GetProcAddress(hMod,"mess");
    mess();
    // TODO: Add your control notification handler code here
    FreeLibrary(hMod);
    SUCCESS!