PLM之家PLMHome-工业软件与AI结合践行者

[原创] C/C++判断dll是多少位的

[复制链接]

2016-12-11 15:54:03 2848 0

15757753770 发表于 2016-12-11 15:54:03 |阅读模式

15757753770 楼主

2016-12-11 15:54:03

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
C/C++判断dll是多少位的
4 V2 y8 d: r5 o8 k1 \+ e/ ?9 h- R9 r7 H4 x: O( E" |/ M9 L' z
#include <stdio.h>7 ~$ j9 e! W$ i* `& M
#include <windows.h>
6 y9 I5 t# k) v8 Q# t! p* K( i
9 q0 _- y3 [5 w& Y& b- ]5 o) n7 U8 ~8 W3 o5 ]. ?. y& @" x% e$ X
int __stdcall CrnGetImageFileMachine(LPCSTR lpFileName)
" D0 Y. H, A' Z% O* K& N# \0 l5 M+ U, C: g( p! X! l4 C
{/ a6 W: v; q! A; U  X
- }/ X4 C. s4 a4 a
    IMAGE_DOS_HEADER idh;
! @; l  Z- h& N) U- J
4 N6 T# [& Y" p0 E- m/ Y3 [    FILE *f = fopen(lpFileName, "rb");
4 x. T7 Q$ J/ E  V* s& J* Q& `5 X+ W* U3 [3 W$ M( Q
    fread(&idh, sizeof(idh), 1, f);
/ _4 u5 F3 Q: ^- Y5 c# p. L1 d5 U6 o% L4 ~8 G  A! }: a( |

9 e0 d6 [8 v6 M" @1 r* {+ B, S    IMAGE_FILE_HEADER ifh;% \, `* G  p' i7 v

' h# l0 j. I- s( O" p    fseek(f, idh.e_lfanew + 4, SEEK_SET);
; f$ |$ i+ X* n' w) R6 x; `! v( s
9 r# U$ c) G; q7 ?$ O7 h    fread(&ifh, sizeof(ifh), 1, f);; R9 R2 c+ k$ n3 D, A
, [6 N! p3 Q7 x

+ \  Q# |& k8 w4 j" D+ b    fclose(f);! a; o0 J) U7 T% U2 T2 u! h$ o) }
0 v3 G' Y; ]$ Z. y7 e1 W

( {/ w' D* S$ y( _- V0 B    return ifh.Machine;
. u0 w+ x7 y- ~& [+ h! ]0 u2 \, _9 i. ?, F/ j0 K% S2 S
}2 b( D, [- s; q3 J4 f
; Q0 ~. o  Y" |( }5 o, `

7 G  U; p6 f+ q8 v; k5 ]
$ f, _* v2 a. Y3 w# E; g* ^( S9 d# J8 h) [6 F3 n
// C/C++判断dll是多少位的" ?9 G( M$ X7 _7 i5 @* `

  t1 Y7 Q. ]% |6 j    int n = CrnGetImageFileMachine("E:\\temp\\setup.exe");
; Q! J* e* q' E( T1 \9 j5 w
4 G$ |7 f/ g5 v" ~; V1 Z    if (n == 0x014C) ShowMessage("x86");
4 Q! F& s5 E9 Q, w& |/ g+ r    else if (n == 0x0200) ShowMessage("IA64");
  r! M0 X5 N% r1 l' a    else if (n == 0x8664) ShowMessage("x64");
, O9 b0 B5 G% n# r+ \1 l5 `    else ShowMessage("抱歉检测不出来");+ U& r* C# b- ]; m) n
: T, \7 X8 V* R0 }' J
. X( {3 \* |: U$ z2 t( T
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了