QT修改EXE资源,demo演示代码
来源:互联网 发布:印度 保法止 淘宝 编辑:程序博客网 时间:2024/06/06 05:29
#include "MakeSetup.h"
#include <Windows.h>
#include <tchar.h>
#include <QtWidgets/QApplication>
#include <QFile>
bool updateZipRes(const QString& exeFile)
{
BOOL ret = FALSE;
QString strErr;
DWORD fileSize = 0;
DWORD readSize = 0;
if (!QFile::exists(exeFile))
{
//strErr.Format(_T("File %s Does not Exist!"), m_strExe);
//AfxMessageBox(strErr);
return FALSE;
}
QFile file(exeFile);
if (file.open(QFile::ReadOnly) == FALSE)
{
//CString strErrMsg("Failed to Open ");
//strErrMsg += strRes;
//strErrMsg += " !";
//MessageBox(strErrMsg);
return FALSE;
}
char *pData = NULL;
fileSize = file.size();
if (fileSize==0)
{
file.close();
//strErr.Format(_T("File size 0!"));
//MessageBox(strErr);
return FALSE;
}
pData = new char[fileSize];
memset(pData,0,fileSize);
if(fileSize != file.read(pData, fileSize))
{
//strErr.Format(_T("Read File Failed"));
//MessageBox(strErr);
file.close();
return FALSE;
}
file.close();
std::wstring wstr = exeFile.toStdWString();
const wchar_t *wstrName = wstr.c_str();
HANDLE upResHandle = BeginUpdateResource(wstrName, FALSE);
if (upResHandle == NULL)
{
//strErr.Format(_T("Open file %s Failed"),m_strExe);
//AfxMessageBox(strErr);
return FALSE;
}
const int resourceID = 101;
ret = UpdateResource(upResHandle, L"ZIP",
MAKEINTRESOURCE(resourceID), MAKELANGID(LANG_CHINESE,0x2),pData, fileSize);
delete [] pData;
pData = NULL;
if (ret == FALSE)
{
//AfxMessageBox(_T("UpdateResource Failed!"));
return FALSE;
}
ret = EndUpdateResource(upResHandle, FALSE);
if (ret == FALSE)
{
//AfxMessageBox(_T("UpdateResource Failed!"));
return FALSE;
}
return TRUE;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
updateZipRes("../Win32/Debug/Setup2.exe");
//MakeSetup w;
//w.show();
return a.exec();
}
#include <Windows.h>
#include <tchar.h>
#include <QtWidgets/QApplication>
#include <QFile>
bool updateZipRes(const QString& exeFile)
{
BOOL ret = FALSE;
QString strErr;
DWORD fileSize = 0;
DWORD readSize = 0;
if (!QFile::exists(exeFile))
{
//strErr.Format(_T("File %s Does not Exist!"), m_strExe);
//AfxMessageBox(strErr);
return FALSE;
}
QFile file(exeFile);
if (file.open(QFile::ReadOnly) == FALSE)
{
//CString strErrMsg("Failed to Open ");
//strErrMsg += strRes;
//strErrMsg += " !";
//MessageBox(strErrMsg);
return FALSE;
}
char *pData = NULL;
fileSize = file.size();
if (fileSize==0)
{
file.close();
//strErr.Format(_T("File size 0!"));
//MessageBox(strErr);
return FALSE;
}
pData = new char[fileSize];
memset(pData,0,fileSize);
if(fileSize != file.read(pData, fileSize))
{
//strErr.Format(_T("Read File Failed"));
//MessageBox(strErr);
file.close();
return FALSE;
}
file.close();
std::wstring wstr = exeFile.toStdWString();
const wchar_t *wstrName = wstr.c_str();
HANDLE upResHandle = BeginUpdateResource(wstrName, FALSE);
if (upResHandle == NULL)
{
//strErr.Format(_T("Open file %s Failed"),m_strExe);
//AfxMessageBox(strErr);
return FALSE;
}
const int resourceID = 101;
ret = UpdateResource(upResHandle, L"ZIP",
MAKEINTRESOURCE(resourceID), MAKELANGID(LANG_CHINESE,0x2),pData, fileSize);
delete [] pData;
pData = NULL;
if (ret == FALSE)
{
//AfxMessageBox(_T("UpdateResource Failed!"));
return FALSE;
}
ret = EndUpdateResource(upResHandle, FALSE);
if (ret == FALSE)
{
//AfxMessageBox(_T("UpdateResource Failed!"));
return FALSE;
}
return TRUE;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
updateZipRes("../Win32/Debug/Setup2.exe");
//MakeSetup w;
//w.show();
return a.exec();
}
0 0
- QT修改EXE资源,demo演示代码
- 代码片-Demo 演示..
- 编写程序实现demo.exe演示笑脸小球运动效果
- java集合框架代码演示demo
- QT程序exe文件修改图标
- Qt学习笔记5-修改exe名称
- Win7 修改Winlogon.exe进程代码
- Win7 修改Winlogon.exe进程代码
- Flex之嵌入外部资源 ------ 示例代码演示
- 修改EXE文件图标及资源的方法
- exeScope软件修改exe或dll文件资源-20150818
- vs2010下Qt项目中修改exe图标的方法
- Demo类演示
- 如何做demo演示
- demo演示地址
- 水利枢纽站演示demo
- plupload演示demo
- spring小demo演示
- iOS开发之去掉UItableview header的粘性
- jquery easyUi 在日期控件里面获取值和赋值的方法
- bash变量简单操作总结及一些特殊变量
- Android HAL实例解析
- Myeclipse 10 for mac 安装过程及myeclipse 10 for mac 破解版下载
- QT修改EXE资源,demo演示代码
- VS2010 向前定位,向后定位 界面上的按钮
- UISearchBar的使用以及下拉列表框的实现
- 代码编辑器Sublime Text2
- Hadoop中CombineFileInputFormat详解
- 大规模or这件,了,倒
- 游戏服务器之存储过程查询
- java 学习写架构必会几大技术点
- Https简单原理