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类型,不知道显示的有没有问题;

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

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值