鱼C论坛

 找回密码
 立即注册

你知道怎么把变量变成字符串了吗?----关于wsprintf函数的用法

热度 3已有 940 次阅读2012-1-12 22:15

之前好多人问,怎么把变量变成字符串,这个问题确实难住了好多人!因为汇编语言里面没有wprintf这样的函数,确实让人头疼!但是汇编中有另外一个函数也能做到,相必不少人已经知道哪个函数了,不错,就是wsprintf函数!

wsprintf函数的用法:简单的说就是用wsprintf函数把变量格式化之后放入到缓冲区,然后就再冲缓冲区拿出来就是字符串了!明白了吗?嘿嘿~就是这么简单~~~
;代码程序:

.386

.model        flat, stdcall

option        casemap:none


include                windows.inc

include                user32.inc

includelib        user32.lib

include                kernel32.inc

includelib        kernel32.lib


DLG_MAIN        equ        1

IDC_CUSTOMTEXT        equ        107


.data

szText                db        "变量变字符串", 0dh, 0ah


.data?

hInstance        dd        ?

szBuffer        byte        256 dup (?)


.code

_ProcMain        proc        uses ebx edi esi hWnd, wMsg, wParam, lParam

                local        @szBuffer[256]: BYTE


                mov        eax, wMsg

                .if        eax == WM_CLOSE

                        invoke        EndDialog, hWnd, NULL

                .elseif        eax == WM_COMMAND

                        mov        eax, wParam

                        .if        ax == IDOK

                                invoke        GetDlgItemText,hWnd,IDC_CUSTOMTEXT,addr @szBuffer,sizeof @szBuffer

                                invoke        wsprintf, addr szBuffer, addr @szBuffer

                                invoke        SetWindowText, hWnd, addr szBuffer

                        .elseif        eax == IDCANCEL

                                invoke        EndDialog, hWnd, NULL

                        .endif

                .else

                        mov        eax, FALSE

                        ret

                .endif

                mov        eax, TRUE

                ret


_ProcMain        endp


start:

        invoke        GetModuleHandle, NULL

        mov        hInstance, eax

        invoke        DialogBoxParam, hInstance, DLG_MAIN, NULL, _ProcMain, NULL

        invoke        ExitProcess, NULL

        end        start

复制代码;**********************************************************
//资源文件:

#include                <resource.h>


#define                DLG_MAIN                1

#define                IDC_CUSTOMTEXT                100


DLG_MAIN DIALOG 193, 180, 310, 134

STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME

CAPTION "wsprintf函数示范"

FONT 9, "宋体"

{

        DEFPUSHBUTTON        "Hit Me", IDOK, 58, 46, 50, 14

        EDITTEXT        IDC_CUSTOMTEXT, 190, 55, 105, 12

}

复制代码想~~大家应该都能看明白吧!
 已同步至 BinGu的微博
2

路过

鸡蛋

鲜花
1

握手

雷人

刚表态过的朋友 (3 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 16:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部