`
caobihole
  • 浏览: 948776 次
文章分类
社区版块
存档分类
最新评论

在masm32中获取IE版本的方法2

 
阅读更多
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics