PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

15757753770 楼主

2016-12-11 15:54:03

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

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

x
C/C++判断dll是多少位的
5 p- w( |: b/ ~6 w6 Q( e
; P# x$ U2 Q  n#include <stdio.h>6 \" S' G" ?( K' P, T7 X
#include <windows.h>
: y, E3 z$ C7 p# [: c, q8 b. y) V7 E  n5 n9 \7 @
2 w, M" }+ O; K& Q0 N: ]0 Y, g1 x* q0 ]
int __stdcall CrnGetImageFileMachine(LPCSTR lpFileName)# n* m% Z3 @$ d+ m4 ]9 L2 O

, i. |, }" E& a( N{$ ?  U4 d' `& |0 S3 S& I- ]  ~

# e( f, f) Y/ l5 L6 }; P    IMAGE_DOS_HEADER idh;$ W1 ~8 V" }. v6 O6 M9 u, g
8 T  c4 N* q- c9 ~0 T# Z
    FILE *f = fopen(lpFileName, "rb");
* f1 |! j9 a* N% z1 O
3 V; Y- S' `  x1 K4 [  A: C    fread(&idh, sizeof(idh), 1, f);$ k* t1 `+ k0 c! v# M3 P

) I% x, ~2 x5 V) L" G/ v' y6 A( C  n; W  k% _4 ]
    IMAGE_FILE_HEADER ifh;
6 J9 z2 o% U0 N2 y0 r
% u4 q: R% o9 `+ O4 O/ i, I0 G    fseek(f, idh.e_lfanew + 4, SEEK_SET);" j2 G, C- p3 W$ ?3 Z* g2 k4 U- s
' z( T) ?& P; x. Q- ~: S; a
    fread(&ifh, sizeof(ifh), 1, f);
( @& K8 B2 W6 ^" Q: h# @
2 |$ }0 s6 @4 O& ~  P% x; c$ r$ R0 Y9 G
8 u8 ~0 A% U/ C5 s! }# n    fclose(f);
& k) ^+ L, m. J( K4 S# k1 L0 ?2 _4 i7 y8 w3 m

% K) @, R9 k% V$ i, M    return ifh.Machine;1 G8 j1 _7 b- X* Y4 K- {& V

, [, K0 P! }/ L% l3 C}
+ f, l, }2 g8 K( F4 Q; U
) [/ H; ^/ P7 n) `' i7 L
+ a( K+ t. D# O3 O, M9 }% B1 g( u/ O9 `9 Q$ Y7 _% J

5 p5 X* Y* }, w) g% x( k/ T9 ~// C/C++判断dll是多少位的
. c' @5 I2 o! N2 o$ y1 c3 q' w) T) c
) x! O( l% T; h2 U9 a    int n = CrnGetImageFileMachine("E:\\temp\\setup.exe");: h9 [! v& _" A" ]/ }3 ?: K- ^' E
3 @; ]; b. i3 s: h/ t# ~! ~
    if (n == 0x014C) ShowMessage("x86");
; C( J8 @% [; ?! Q% c    else if (n == 0x0200) ShowMessage("IA64");
2 H$ S; z' p) F4 {- H9 o    else if (n == 0x8664) ShowMessage("x64");
/ H* S3 B3 ~% {: K/ l    else ShowMessage("抱歉检测不出来");
% x1 A' p( P# A, K4 W7 |' s7 {. t% }! \3 V
) B" M! M' A4 f6 z% |$ E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了