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

简介: 在masm32中获取IE版本的方法2
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Filename: getIEver1.asm
; Function: get & display version of IE
;   Author: purple endurer
;  Develop: win 2K pro + masm32

; log
;--------------------------------------------------------- ;2005.10.23 Created!
;   Use the version of file shlwapi.dll as the IE version.
;   In my PC, the version of IE is 6.0.2800.1106
;   and the version of shlwapi.dll is 6.0.2800.1740,
;   but this program displayed version is 6.0.2800, 
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;下载:您可以到​​ ​http://purpleendurer.ys168.com​​​的/myworks/demo_only中
;下载源代码和可执行文件

.386
.model  flat,  stdcall
option  casemap: 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

GetIEVerStr  PROTO :LPSTR

m_m2m  MACRO d1, d2
     push d2
     pop d1
ENDM

DllVersionInfo STRUCT
    cbSize  dword ?
    dwMajorVersion  dword ?
    dwMinorVersion  dword ?
    dwBuildNumber  dword ?
    dwPlatformID  dword ?
DllVersionInfo  ENDS



.data
g_szTitle        db  "IE版本", 0
g_fmt4IEVer   db  "Internet Explorer %d.%d.%d", 0
g_FailLoadDLL  db  "不能装载"
g_szShlwapiDLL  db  "shlwapi.dll", 0
g_FailGetProcAddr  db  "不能获取函数"
g_szDllGetVersion  db  "DllGetVersion", 0

.data?
g_szIEVer   db 256 dup(?)
g_DVI   DllVersionInfo <?>
g_lpfnDllGetVersion  DWORD ?
g_hDll  HANDLE  ?

.code
start:
        m_m2m g_DVI.cbSize, SIZEOF g_DVI
         invoke GetIEVerStr,  ADDR g_szIEVer
         .if  eax==1
             mov  eax,  OFFSET g_FailLoadDLL
         .elseif  eax==2
             mov  eax,  OFFSET g_FailGetProcAddr
         .else
             mov  eax,  OFFSET g_szIEVer
         .endif
         invoke MessageBox, NULL,  eax,  OFFSET g_szTitle, MB_OK

         invoke ExitProcess,NULL

GetIEVerStr  PROC lpszIEVer: LPSTR
     invoke LoadLibrary,  ADDR g_szShlwapiDLL
     mov g_hDll,  eax
     .if  eax==NULL
        m_m2m  eax, 1
         ret
     .endif

     invoke GetProcAddress, g_hDll,  ADDR g_szDllGetVersion
     mov g_lpfnDllGetVersion, eax
     .if  eax==NULL    
         invoke FreeLibrary, g_hDll
        m_m2m  eax, 2
         ret
     .endif

     ;m_m2m DVI.cbSize, SIZEOF g_DVI
     push  OFFSET g_DVI
     call g_lpfnDllGetVersion

     invoke wsprintf, lpszIEVer,  ADDR g_fmt4IEVer, g_DVI.dwMajorVersion,/
            g_DVI.dwMinorVersion, g_DVI.dwBuildNumber
     invoke FreeLibrary, g_hDll
     xor  eax,  eax     ;m_m2m eax, 0
     ret
GetIEVerStr  ENDP

end
相关文章
在masm32中获取并显示IE版本的方法1
在masm32中获取并显示IE版本的方法1
|
Web App开发
clearTimeout 方法在IE上的兼容问题
clearTimeout 方法在IE上的兼容问题
75 0
|
JavaScript 前端开发
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
96 0
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
|
Windows
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
432 0
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
|
Windows
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
166 0
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
|
JavaScript
JS 判断是否是 IE浏览器 以及 IE的版本
JS 判断是否是 IE浏览器 以及 IE的版本
1598 0
|
前端开发
CSS(溢出_判断IE版本)
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/54812252 overflow 溢出 值 描述 visible 内容不会被修剪,会呈现在元素框之外。
924 0
|
机器学习/深度学习 JavaScript 前端开发
DotNetNuke(DNN)皮肤制作-通过JS文件解决不同IE版本对CSS解释不一致的问题
IE不同的版本对CSS解释不一致是一个众所周知的问题,有很多解决方案,其中的一个方法是通过加载不同的JS脚本来纠正不同IE版本对CSS的解释,这样你只要按照web标准来编写CSS就可以了。   IE7.js是用来解决版本低于7,高于或等于5的IE上的一些WEB标准的兼容性问题,可以看看解决的兼容性列表。
973 0
|
3月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常