我是靠谱客的博主 可靠酒窝,最近开发中收集的这篇文章主要介绍简单win32汇编程序,无窗体,直接画在桌面上。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我前面有介绍 组建 win32汇编IDE,现在写个东西练一下。

这个程序是

 《Windows Graphics Programming: Win32 GDI and DirectDraw》  

这本书里面 hello2 的asm 仿照版。

============================源代码开始==================================

.386
.model flat, stdcall
option casemap:none

include  windows.inc
include  kernel32.inc
include  user32.inc
include     gdi32.inc

includelib gdi32.lib
includelib user32.lib
includelib kernel32.lib

.data

szMessage      db "Hello World!",0
szFace         db "Times New Roman",0

.data?
hDC             dd   ?
hFont           dd   ?
hOld            dd   ?

xpos             dd   ?
ypos             dd   ?


.code
start:

 
 invoke GetDC,NULL
 mov    hDC,eax
 ;得到桌面句柄
 
 invoke SetTextAlign,eax,TA_CENTER or TA_BASELINE
 ;设置文本对齐方式
 
 invoke GetSystemMetrics,SM_CXSCREEN
 sar    eax,1
 mov    xpos,eax
 invoke GetSystemMetrics,SM_CYSCREEN
 sar    eax,1
 mov    ypos,eax
 ;文本位置
 
 invoke CreateFont,64,0, 0, 0,FW_BOLD,/
        TRUE,FALSE,FALSE,ANSI_CHARSET,/
        OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,/
        PROOF_QUALITY,VARIABLE_PITCH,addr szFace
 mov    hFont,eax
 ;新建字体
 
 invoke SelectObject,hDC,hFont
 mov    hOld,eax
 ;选入字体到DC
 
 invoke TextOut,hDC,xpos,ypos,addr szMessage,sizeof szMessage -1
 ;绘制文本
 
 invoke SelectObject,hDC,hOld
    invoke DeleteObject,hFont
 ;恢复原字体和销毁创建字体

 invoke ReleaseDC,NULL,hDC
 ;释放桌面字体
 invoke   ExitProcess,NULL
 ;退出程序
end start
===================================结束=============================================

最后

以上就是可靠酒窝为你收集整理的简单win32汇编程序,无窗体,直接画在桌面上。的全部内容,希望文章能够帮你解决简单win32汇编程序,无窗体,直接画在桌面上。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部