Actually yes you can
Regarding Microsoft compilers
The quickest way is to right click the file
and looking at the version tab
If a C++ application is compiled using the MFC then it will have "MFC APPLICATION" in the description.
Visual Basic won't have MFC in it ..
Typicvally VB has
Company name
Fielversion
Internal name
Language
Original Filename
Product name
Product version
Product name tends to be something like project1 (though this can be changed by the programmer)
If you have just compiled a C or C++ using the .cpp file only it will not have the version tab
But the best way of checking the file is to use a resource hacker or some kind and a hex editor.
To just differniate the type of exe a hex viewer/editor is best
A hex editor can be used to read the file (or you can can even try good ole notepad too !!), VB files will have things like MSVBVM60.DLL, C:\Progz\MVS6\VB98\VB6.OLB, and VB object names like form1, label1 etc inside the file
(note anything MSVB = Msoft Visual Basic)
Anything from DotNet will have references to .net in it, and the VB or C DLL e.g. MSVBVM70. dll (for vb) - basically it will reference the DLL it uses and diferent compilers use different dll's - hence you can seperate Vb and C++ compiled exe's. Dunno about delphi's exe but if you have programmd using delpi .. you may recognise references in it .. if not at least you'll know it is not a VB or MSC++ compiled file
(for a resource hacker Go to download.com and download a app called resource hacker. Anything compiled from C++ will have dialogue boxes that can be displayed using the resource hacker
Resource hacker can only alter the icon/icon group and version info tabs of a VB file.)