win32汇编获取系统信息

.data
    fmt   db "页尺寸:%d",0
          db ""
    lpsystem SYSTEM_INFO <?>
    szbuf db 200 dup(0)
.const
    szCaption    db    '系统信息',0
     
.code
start:
            invoke GetSystemInfo,addr lpsystem
            ;mov ax,lpsystem.dwPageSize
            invoke wsprintf,addr szbuf,addr fmt,lpsystem.dwPageSize
            invoke    MessageBox, NULL, addr szbuf, addr szCaption, MB_OK    
信息返回到结构体中;如果要显示的字段是LPTSTR类型,直接显示;lpsystem.dwPageSize,此字段是DWORD类型,先用wsprintf格式化,再显示;

如果显示三个DWORD 字段,
.const
    szCaption    db    '系统信息',0
    fmt   db '页尺寸:%d',0
          db '处理器数目:%d',0
          db '处理器类型:%d',0
     
.code
start:
            invoke GetSystemInfo,addr lpsystem
            invoke wsprintf,addr szbuf,addr fmt,lpsystem.dwPageSize,lpsystem.dwNumberOfProcessors,lpsystem.dwProcessorType
            invoke    MessageBox, NULL, addr szbuf, addr szCaption, MB_OK    
 这样写不会显示三个字段,只显示了第一个字段;

这样就可以,

.const
    szCaption    db    '系统信息',0
    fmt   db '页尺寸:%d;处理器数目:%d;处理器类型:%d',0

1 

先显示此结构体的5个字段,

.386
.model flat, stdcall
option casemap :none
 
include windows.inc
include user32.inc
include kernel32.inc
include gdi32.inc
includelib user32.lib
includelib kernel32.lib
includelib gdi32.lib
 
.data
    lpsystem SYSTEM_INFO <?>
    szbuf db 500 dup(0)
.const
    szCaption	db	'系统信息',0
    fmt   db '页尺寸:%d;应用程序可以访问的最低内存地址:%d;应用程序可以访问的最高内存地址:%d;处理器数目:%d;处理器类型:%d',0
     
.code
start:
            invoke GetSystemInfo,addr lpsystem
            ;mov ax,lpsystem.dwPageSize
            invoke wsprintf,addr szbuf,addr fmt,lpsystem.dwPageSize,\
                lpsystem.lpMinimumApplicationAddress,\
                lpsystem.lpMaximumApplicationAddress,lpsystem.dwNumberOfProcessors,\
                lpsystem.dwProcessorType
            invoke	MessageBox, NULL, addr szbuf, addr szCaption, MB_OK    
            invoke	ExitProcess,NULL
end	start

 

LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;

    这两字段是LPVOID类型,不知道显示的有没有问题;

有时间再继续看此结构体的其余字段; 

相关推荐

  1. win32 汇编调用C标准库函数

    2024-02-18 10:02:02       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 10:02:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 10:02:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 10:02:02       87 阅读
  4. Python语言-面向对象

    2024-02-18 10:02:02       96 阅读

热门阅读

  1. 网络安全习题集

    2024-02-18 10:02:02       40 阅读
  2. Jedis的使用

    2024-02-18 10:02:02       53 阅读
  3. 13.5. 多尺度目标检测

    2024-02-18 10:02:02       40 阅读
  4. 算法刷题day14

    2024-02-18 10:02:02       55 阅读
  5. 卷积神经网络吴恩达coursera

    2024-02-18 10:02:02       45 阅读
  6. Hot100-hash表-两数之和

    2024-02-18 10:02:02       52 阅读
  7. 困于环中的机器人

    2024-02-18 10:02:02       57 阅读
  8. 带你了解软件系统架构的演变

    2024-02-18 10:02:02       48 阅读
  9. 软件系统支持联营模式:实现共赢共利的关键

    2024-02-18 10:02:02       49 阅读