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();
}
}
解决方案 »
- TCPCLIENT/TCPSERVER很困惑的问题!!!!!!!!!高手请进!!!!
- 求高人指点--类似搬箱子算法,不过比那个复杂一点,
- 求达人指教 ADOTABLE的记录指正往下和往上移动是什么写的啊
- ???DBGrid1DrawColumnCell??
- format格式化字符串的问题
- 同样的一个服务器端程序,当使用SocketConnection和使用WebConnection连接时为什么会有区别:用WebConnection时服务器端的窗体不显示(功
- 习惯了c语言风格,实在看不惯delphi风格,咋办?
- InputBox能否指定输入的字符以"*"显示?
- 我失业3个礼拜了,怎么办!
- 如何将一个对象的值赋给另一个对象??
- 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的貌似