/////////////////////////////////////////////////
//英语文档看不懂,在下水平很菜,希望各位大哥给
//改下源代码,可以运行给高分,在线等!!!!
//
///////////////////////////////////////////////
在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;
希望各位大哥给改一下,可以编译给高分}

解决方案 »

  1.   

    Configuration: demo_GetFileVersionInfo - Win32 Debug--------------------
    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)
      

  2.   

    // tt.cpp : Defines the entry point for the console application.
    //#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);

    }
      

  3.   

    #include "stdafx.h"
    #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;
    }
      

  4.   

    struct LANGANDCODEPAGE {
    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;
    }
      

  5.   

    'bufferSize'  没有定义,在你程序的第8行然后按上面那为兄弟的改吧
      

  6.   

    直接发代码给我吧 [email protected]
    邮件中注明具体是哪一个问题