;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;Filename:getIEver1.asm
;Function:get&displayversionofIE
;Author:purpleendurer
;Develop:win2Kpro+masm32
;log
;---------------------------------------------------------;2005.10.23Created!
;Usetheversionoffileshlwapi.dllastheIEversion.
;InmyPC,theversionofIEis6.0.2800.1106
;andtheversionofshlwapi.dllis6.0.2800.1740,
;butthisprogramdisplayedversionis6.0.2800,
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;下载:您可以到
http://purpleendurer.ys168.com的/myworks/demo_only中
;下载源代码和可执行文件
.386
.modelflat,stdcall
optioncasemap:none
include/masm32/include/windows.inc
include/masm32/include/user32.inc
include/masm32/include/kernel32.inc
includelib/masm32/lib/user32.lib
includelib/masm32/lib/kernel32.lib
GetIEVerStrPROTO:LPSTR
m_m2mMACROd1,d2
pushd2
popd1
ENDM
DllVersionInfoSTRUCT
cbSizedword?
dwMajorVersiondword?
dwMinorVersiondword?
dwBuildNumberdword?
dwPlatformIDdword?
DllVersionInfoENDS
.data
g_szTitledb"IE版本",0
g_fmt4IEVerdb"InternetExplorer%d.%d.%d",0
g_FailLoadDLLdb"不能装载"
g_szShlwapiDLLdb"shlwapi.dll",0
g_FailGetProcAddrdb"不能获取函数"
g_szDllGetVersiondb"DllGetVersion",0
.data?
g_szIEVerdb256dup(?)
g_DVIDllVersionInfo<?>
g_lpfnDllGetVersionDWORD?
g_hDllHANDLE?
.code
start:
m_m2mg_DVI.cbSize,SIZEOFg_DVI
invokeGetIEVerStr,ADDRg_szIEVer
.ifeax==1
moveax,OFFSETg_FailLoadDLL
.elseifeax==2
moveax,OFFSETg_FailGetProcAddr
.else
moveax,OFFSETg_szIEVer
.endif
invokeMessageBox,NULL,eax,OFFSETg_szTitle,MB_OK
invokeExitProcess,NULL
GetIEVerStrPROClpszIEVer:LPSTR
invokeLoadLibrary,ADDRg_szShlwapiDLL
movg_hDll,eax
.ifeax==NULL
m_m2meax,1
ret
.endif
invokeGetProcAddress,g_hDll,ADDRg_szDllGetVersion
movg_lpfnDllGetVersion,eax
.ifeax==NULL
invokeFreeLibrary,g_hDll
m_m2meax,2
ret
.endif
;m_m2mDVI.cbSize,SIZEOFg_DVI
pushOFFSETg_DVI
callg_lpfnDllGetVersion
invokewsprintf,lpszIEVer,ADDRg_fmt4IEVer,g_DVI.dwMajorVersion,/
g_DVI.dwMinorVersion,g_DVI.dwBuildNumber
invokeFreeLibrary,g_hDll
xoreax,eax;m_m2meax,0
ret
GetIEVerStrENDP
endstart
分享到:
相关推荐
MASM32 V11版本中的kernel32.inc和Kernel32.lib中的Module32First / Module32Next and Process32First / Process32Next这两对函数信息存在bug。按照Microsoft MSDN,这两对函数的ANSI版本不是Module32FirstA / ...
MASM32教程MASM32教程MASM32教程MASM32教程MASM32教程MASM32教程MASM32教程
masm32 SDK 软件包,一些工具的集合,很棒!
::使用方法:将.asm源文件拖到此批处理文件上,在源文件目录生成.exe文件 ::错误提示: ::1.Masm32编译器地址存在同名程序 ::2.compile或link出错 set Masm32Dir=E:\Program Files\masm32 cd /d %Masm32Dir%\bin ...
MASM32 Editor
Masm32使用教程详细描述了Masm32基本使用方法、思路,本人认为较好
MASM32是面向WIN32程序开发的,MASM611是面向DOS的,MASM32不使用中断调用了,而是使用微软的应用程序开发接口API和其他高级开发语言差不多了。而MASM611才是使用中断。 解压后大约15M 而压缩后才3.4M 分享学习的...
它的汇编编译器用的是MASM软件包中的Ml.exe,资源编译器和32位链接器用的是Microsoft Visual Studio中的Rc.exe和Link.exe,同时包含了Microsoft Visual Studio中的其他一些工具,如Lib.exe和DumpPe.exe等,所有的...
masm32安装时,如果是64位系统,会提示缺少几个lib文件,如kernel32.lib,user32.lib等
32位汇编,Masm,Windows32,Masm32编译器
这是masm32环境下编写的hello汇编代码
Steve Hutchesson的masm32软件开发包,是最新的v10版本,是开源软件,可以在他的主页找到!
MASM32编程获取Windows当前桌面主题名的两种方法(源代码 + exe)
masm32汇编手册,罗云彬写的..很好用...
Masm32 库文件,Masm32 库文件,Masm32 库文件,Masm32 库文件
Masm32v10汇编开发包
32位汇编开发工具MASM32,骨灰级底层开发工具。
masm32 32位汇编编译器 比较精简 好用 要的话拿去用用
Masm32使用指南,主要介绍、说明32位汇编环境的建立和使用。
可将c语言编译成masm32汇编语言,分为4个文件(sca.c,p.c,table.c,g.c,其中sca.c是扫描文件,生成符号流,p.c 是生成语法树,table.c是生成各种变量的表,g.c是直接生成masm32汇编代码),是c编译器,想学编译原理的...