hResource = BeginUpdateResource(lpszFile, FALSE);
if (NULL != hResource)
{
UINT uTemp;
TCHAR strSubBlock[256];
LPTSTR pValueBuffer;
_stprintf(strSubBlock, _T("\\StringFileInfo\\%04x%04x\\CompanyName"),
lpTranslate->wLanguage,
lpTranslate->wCodePage);
if (VerQueryValue(lpBuffer, (LPTSTR) ((LPCTSTR) strSubBlock), (LPVOID *) &pValueBuffer, &uTemp) != FALSE)
{
_tcscpy(pValueBuffer, _T("My Corp"));
if (UpdateResource(hResource, RT_VERSION, MAKEINTRESOURCE(VS_VERSION_INFO), lpTranslate->wLanguage, lpBuffer, dwSize) != FALSE)
{
if (EndUpdateResource(hResource, FALSE) == FALSE)
dwResult = GetLastError();
}
else
dwResult = GetLastError();
}
}
if (NULL != hResource)
{
UINT uTemp;
TCHAR strSubBlock[256];
LPTSTR pValueBuffer;
_stprintf(strSubBlock, _T("\\StringFileInfo\\%04x%04x\\CompanyName"),
lpTranslate->wLanguage,
lpTranslate->wCodePage);
if (VerQueryValue(lpBuffer, (LPTSTR) ((LPCTSTR) strSubBlock), (LPVOID *) &pValueBuffer, &uTemp) != FALSE)
{
_tcscpy(pValueBuffer, _T("My Corp"));
if (UpdateResource(hResource, RT_VERSION, MAKEINTRESOURCE(VS_VERSION_INFO), lpTranslate->wLanguage, lpBuffer, dwSize) != FALSE)
{
if (EndUpdateResource(hResource, FALSE) == FALSE)
dwResult = GetLastError();
}
else
dwResult = GetLastError();
}
}
解决方案 »
- 关于DELPHI下EPSON LQ-1600KIIIH的问题
- 我想找个工作…………做DELPHI的,以前做短信的,现在想换2年经验
- 简单的控件属性问题!帮忙就给分!
- IDE遇到一个怪问题:new items对话框少了很多向导选项,请各位帮帮忙
- 关于对象的奇怪问题,请高手看一下,多谢了
- 我在COM1上接了一个小键盘,我想把在小键盘上按的每一键都记录到一个文本文件中,该怎么做?
- 请问AnimateWindow该API的用法?
- 急 人事管理数据库设计
- 闪烁窗口怎么实现,有高分,在线等待!!!
- 怎样将ListView1组件中StateImage1关联的图标显示在Column上字符串的右边,而不是系统默认的左边!
- delphi locate不确定关键字查找与更新问题
- 求TMS WorkFlow Studio示例或帮助!!!
hResource = BeginUpdateResource(lpszFile, FALSE);
if (NULL != hResource)
{
UINT uTemp;
TCHAR strSubBlock[256];
LPTSTR pValueBuffer;
_stprintf(strSubBlock, _T("\\StringFileInfo\\%04x%04x\\CompanyName"),
lpTranslate->wLanguage,
lpTranslate->wCodePage);
if (VerQueryValue(lpBuffer, (LPTSTR) ((LPCTSTR) strSubBlock), (LPVOID *) &pValueBuffer, &uTemp) != FALSE)
{
_tcscpy(pValueBuffer, _T("My Corp"));
if (UpdateResource(hResource, RT_VERSION, MAKEINTRESOURCE(VS_VERSION_INFO), lpTranslate->wLanguage, lpBuffer, dwSize) != FALSE)
{
if (EndUpdateResource(hResource, FALSE) == FALSE)
dwResult = GetLastError();
}
else
dwResult = GetLastError();
}
}
Delphi(Pascal) code
var
utemp:word;
strsubblock:string;// 我也不明白C里的TCHAR在DELPHI里可不可以用STRING来代替 strsubblock:arrary[0..255]of char;
pValueBuffer:pchar;
.
.
.
setlength(strsubblock,256);//不过如果不行是可以强制转换的 或者使用上面的注释后的那句也是可以的。这个我翻过资料了,两种都可以,STRING的话方便点 hResource := BeginUpdateResource(lpszFile, FALSE);
if (hResource<>0) then
begin
pValueBuffer:=@ ????????????
_stprintf --- 你干脆说你要干什么算了,实在是我的C很菜
http://www.pcppc.cn/kaifa/Delphi/kaifa_118557.html 这里有完整的例子
if VerQueryValue(buf,PChar(strsubblock),pointer(pvaluebuffer),utemp)<>0 可以直接强制转换STRSUBBLOCK的貌似