/////////////////////////////////////////////////
//英语文档看不懂,在下水平很菜,希望各位大哥给
//改下源代码,可以运行给高分,在线等!!!!
//
///////////////////////////////////////////////
在vc控制台下编译:
#include<windows.h>
#include<iostream.h>
void main()
{
char lptstrFilename[MAX_PATH];
DWORD dwHandle;
char dwLen[MAX_PATH];
char *lpData ;
BOOL success;
cout<<"please cin filename"<<endl;
cin>>lptstrFilename;
success=GetFileVersionInfo(lptstrFilename,dwHandle,dwLen,&lpData);
if(success)
cout<<lpData<<endl;
希望各位大哥给改一下,可以编译给高分}
//英语文档看不懂,在下水平很菜,希望各位大哥给
//改下源代码,可以运行给高分,在线等!!!!
//
///////////////////////////////////////////////
在vc控制台下编译:
#include<windows.h>
#include<iostream.h>
void main()
{
char lptstrFilename[MAX_PATH];
DWORD dwHandle;
char dwLen[MAX_PATH];
char *lpData ;
BOOL success;
cout<<"please cin filename"<<endl;
cin>>lptstrFilename;
success=GetFileVersionInfo(lptstrFilename,dwHandle,dwLen,&lpData);
if(success)
cout<<lpData<<endl;
希望各位大哥给改一下,可以编译给高分}
解决方案 »
- 使用BitBlt的问题:为什么当窗口最大化时,图标之间会出现白色间隙?
- 新建一个对话框就出错,求真相
- png 的DLL庫,有哪些?越方便越好
- 郁闷了很久的 显示窗口问题
- function does not take 1 parameters这个错误,有源代码,真不知道那里的问题
- DLL
- 我有一个无限循环,循环里不做任何事情,但是cpu占用太高啦,怎么解决啊?
- CImageList 中如何设置2个BITMAP/图表
- 请问,用CreateDirectory创建目录时,目录名最后的几个字符是'.'时,执行后,生成的目录名后面没有'.'
- 这个问题为何没人回答,60分,请到:http://www.csdn.net/expert/topic/180/180116.shtm
- 如何立刻改变另一个类中的一个变量的值
- 一个读版本信息的API函数的用法(我想好好久都是错的,急死人了,英语文档又看不懂)
Compiling...
1.cpp
D:\Program Files\Microsoft visual studio\MyProjects\demo_GetFileVersionInfo\1.cpp(8) : error C2065: 'bufferSize' : undeclared identifier
D:\Program Files\Microsoft visual studio\MyProjects\demo_GetFileVersionInfo\1.cpp(8) : error C2057: expected constant expression
D:\Program Files\Microsoft visual studio\MyProjects\demo_GetFileVersionInfo\1.cpp(8) : error C2466: cannot allocate an array of constant size 0
D:\Program Files\Microsoft visual studio\MyProjects\demo_GetFileVersionInfo\1.cpp(8) : error C2133: 'lpData' : unknown size
D:\Program Files\Microsoft visual studio\MyProjects\demo_GetFileVersionInfo\1.cpp(12) : error C2664: 'GetFileVersionInfoA' : cannot convert parameter 3 from 'char [260]' to 'unsigned long'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Error executing cl.exe.demo_GetFileVersionInfo.exe - 5 error(s), 0 warning(s)
//#include "stdafx.h"#include<windows.h>
#include<iostream.h>#pragma comment(lib , "version.lib")
void main()
{
char lptstrFilename[MAX_PATH];
DWORD dwHandle;
BOOL success;
cout<<"please cin filename"<<endl;
cin>>lptstrFilename;
DWORD dwLen = GetFileVersionInfoSize(lptstrFilename,&dwHandle);
char *lpData =new char[dwLen*sizeof(char)]; success=GetFileVersionInfo(lptstrFilename,dwHandle,dwLen,lpData);
if(success)
{
cout<<lpData<<endl;
}
while(1);
}
#include<windows.h>
#include<iostream.h>
void main()
{
char lptstrFilename[MAX_PATH]="E:\\NOTEPAD.EXE";
DWORD dwLen=0;
char *lpData=NULL ;
unsigned long iHandle;
BOOL success;
dwLen=GetFileVersionInfoSize(lptstrFilename,&iHandle);
lpData=new char[dwLen];
success=GetFileVersionInfo(lptstrFilename,iHandle,dwLen,lpData);
void *buf=NULL;
unsigned int len=0;
success=VerQueryValue(lpData,"\\",&buf,&len);
VS_FIXEDFILEINFO *pp=(VS_FIXEDFILEINFO*)buf;
delete []lpData;
}
WORD wLanguage;
WORD wCodePage;
} *lpTranslate;void main()
{
char lptstrFilename[MAX_PATH]="E:\\NOTEPAD.EXE";
DWORD dwLen=0;
char *lpData=NULL ;
unsigned long iHandle;
BOOL success;
dwLen=GetFileVersionInfoSize(lptstrFilename,&iHandle);
lpData=new char[dwLen];
success=GetFileVersionInfo(lptstrFilename,iHandle,dwLen,lpData);
void *buf=NULL;
unsigned int len=0;
// success=VerQueryValue(lpData,"\\",&buf,&len);
// VS_FIXEDFILEINFO *pp=(VS_FIXEDFILEINFO*)buf;
// Read the list of languages and code pages.
VerQueryValue(lpData,
TEXT("\\VarFileInfo\\Translation"),
(LPVOID*)&lpTranslate,
&len);
// Read the file description for each language and code page.
char SubBlock[2048];
void *lpBuffer;
unsigned int dwBytes;
for( int i=0; i < (len/sizeof(struct LANGANDCODEPAGE)); i++ )
{
wsprintf( SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\FileDescription"),
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);
// Retrieve file description for language and code page "i".
VerQueryValue(lpData,
SubBlock,
&lpBuffer,
&dwBytes);
}
delete []lpData;
}
邮件中注明具体是哪一个问题