Dav*_*ick 10 c++ dll resources visual-c++-2008-express visual-studio-2008
我正在尝试做一些在常规MSVC中很容易做的事情,但在VC++ Express中不容易支持.
VC++ Express中没有资源编辑器.所以我在我的DLL项目中添加了一个名为version.rc的文件.该文件具有以下内容,该内容由资源编译器编译并添加到最终的DLL中.使用reshacker可以在DLL中查看此资源,但在Windows资源管理器中右键单击DLL时则不行.
我的RC文件中缺少什么来使其在右键单击时显示?
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "something Application"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "something"
VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
VALUE "OriginalFilename", "something.exe"
VALUE "ProductName", "something Application"
VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
Run Code Online (Sandbox Code Playgroud)
Dav*_*ick 15
我能够看到(使用reshacker)右键单击时出现的资源和资源之间的差异,这就是资源的名称.所以我把VS_VERSION_INFO改为1; 现在,右键单击可见资源.
1 VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "something Application"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "something"
VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
VALUE "OriginalFilename", "something.exe"
VALUE "ProductName", "something Application"
VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
Run Code Online (Sandbox Code Playgroud)
MrZ*_*bra 10
正确的解决方案是添加到.rc文件的顶部:
#include <windows.h>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6922 次 |
| 最近记录: |