none
求修改对方软件的logo的方法 RRS feed

  • 问题

  • boss让我修改别人做好的软件的logo图标,但是又没有源代码,就一个exe执行程序,这个程序有一个logo在软件界面,想修改掉,换掉或者删掉.

    请问各位,应该如何修改.

    谢谢

    2011年5月1日 2:34

答案

  • 这个您可以直接通过工具修改,比如eXeScope


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Warden_ 2011年5月4日 15:03
    2011年5月4日 0:45
    版主

全部回复

  • 您是要修改当前exe应用程序的显示图标吗?

    // 第一个参数是将要替换图标的exe文件路径,第二个参数是替换的ico文件路径
    void ReplaceExeIco(LPCTSTR lpszApp, LPCTSTR lpszIco)
    {
     try
     {
      CFile file;
      file.Open(lpszIco, CFile::modeRead);
      LONG lOffset = 0;
      DWORD dwSize = 0;
      DWORD dwBytes = 0;
      CONST BYTE bGroupIcoSize = 0x18;
      BYTE* lpGroupIco = new BYTE[bGroupIcoSize];
      memset(lpGroupIco, 0, bGroupIcoSize);
      file.Read(lpGroupIco, 0x06);
      file.Read(lpGroupIco+0x08, 0x0C);
      memcpy(&dwSize, lpGroupIco+0x10, sizeof(DWORD));
      file.Read(&lOffset, sizeof(lOffset));
      BYTE* lpRes = new BYTE[dwSize];
      memset(lpRes, 0, dwSize);
      file.Seek(lOffset, CFile::begin);
      file.Read(lpRes, dwSize);
     
      HANDLE hApp = BeginUpdateResource(lpszApp, NULL);
      UpdateResource(hApp, RT_GROUP_ICON, MAKEINTRESOURCE(1), 0, lpGroupIco, bGroupIcoSize);
      UpdateResource(hApp, RT_ICON, MAKEINTRESOURCE(1), 0, lpRes, dwSize);

      EndUpdateResource(hApp, FALSE);

      delete[] lpRes;
      delete[] lpGroupIco;
      file.Close();
     }
     catch (...)
     {
     
     }
    }

    //调用方法很简单,例如下面这样就可以了

    ReplaceExeIco(_T("F:\\11.exe"), _T("F:\\11.ico"));


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年5月1日 3:31
    版主
  • 首先非常感谢,并且我已经仔细试过您的程序,非常好!

    你帮助我修改的这个图标,也是在修改之列,但是如果我还要修改一些软件运行时,那个软件上显示logo,这样的图片一般为公司名或者产品名.

    比如说平时用的360卫士软件,它的界面右上角就有一个图片显示"360安全卫士";当然,请不要误会,我只是举这个软件的例子,并不是去修改其他公司的软件的logo,而是很可怜的是修改N年前自己公司某位离职的员工开发的一个软件,毕竟不是软件公司,程序管理不好,所以无法找到那些源程序了.

     

    非常感谢您的帮助.

    2011年5月3日 14:47
  • 这个您可以直接通过工具修改,比如eXeScope


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Warden_ 2011年5月4日 15:03
    2011年5月4日 0:45
    版主
  • thank you for your help .
    2011年5月4日 15:03