Win32汇编学习笔记(三);>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 Sender.asm
Win32汇编学习笔记(三);
 从一个程序向另一个窗口程序发送消息 之 发送程序
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        .386
Win32汇编学习笔记(三)        .model flat,stdcall
Win32汇编学习笔记(三)        option 
casemap:none
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 Include 文件定义
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
include        windows.inc
Win32汇编学习笔记(三)include        user32.
inc
Win32汇编学习笔记(三)includelib    user32.lib
Win32汇编学习笔记(三)include        kernel32.
inc
Win32汇编学习笔记(三)includelib    kernel32.lib
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 数据段
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        .data
Win32汇编学习笔记(三)hWnd        dd    ?
Win32汇编学习笔记(三)szBuffer    db    
256 dup (?)
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)        .const
Win32汇编学习笔记(三)szCaption    db    
'SendMessage',0
Win32汇编学习笔记(三)szStart        db    
'Press OK to start SendMessage, param: %08x!',0
Win32汇编学习笔记(三)szReturn    db    
'SendMessage returned!',0
Win32汇编学习笔记(三)szDestClass    db    
'MyClass',0    ;目标窗口的窗口类
Win32汇编学习笔记(三)
szText        db    'Text send to other windows',0
Win32汇编学习笔记(三)szNotFound    db    
'Receive Message Window not found!',0
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 代码段
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        .code
Win32汇编学习笔记(三)
start:
Win32汇编学习笔记(三)        invoke    FindWindow,addr szDestClass,NULL
Win32汇编学习笔记(三)        .if    eax
Win32汇编学习笔记(三)            
mov    hWnd,eax    ;找到目标窗口则发送消息
Win32汇编学习笔记(三)
            invoke    wsprintf,addr szBuffer,addr szStart,addr szText
Win32汇编学习笔记(三)            invoke    MessageBox,NULL,offset szBuffer,offset szCaption,MB_OK
Win32汇编学习笔记(三)            invoke    SendMessage,hWnd,WM_SETTEXT,
0,addr szText
Win32汇编学习笔记(三)            invoke    MessageBox,NULL,offset szReturn,offset szCaption,MB_OK
Win32汇编学习笔记(三)        .else
Win32汇编学习笔记(三)            invoke    MessageBox,NULL,offset szNotFound,offset szCaption,MB_OK
Win32汇编学习笔记(三)        .endif
Win32汇编学习笔记(三)        invoke    ExitProcess,NULL
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        end    start
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)

消息发送者代码:

Win32汇编学习笔记(三); Receiver.asm
Win32汇编学习笔记(三);
 从一个程序向另一个窗口程序发送消息 之 消息接收程序
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)

Win32汇编学习笔记(三)        .
386
Win32汇编学习笔记(三)        .model flat,stdcall
Win32汇编学习笔记(三)        option 
casemap:none
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 Include 文件定义
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
include        windows.inc
Win32汇编学习笔记(三)include        gdi32.
inc
Win32汇编学习笔记(三)includelib    gdi32.lib
Win32汇编学习笔记(三)include        user32.
inc
Win32汇编学习笔记(三)includelib    user32.lib
Win32汇编学习笔记(三)include        kernel32.
inc
Win32汇编学习笔记(三)includelib    kernel32.lib
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 数据段
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        .data?
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)hInstance    dd    ?
Win32汇编学习笔记(三)hWinMain    dd    ?
Win32汇编学习笔记(三)szBuffer    db    
512 dup (?)
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)        .const
Win32汇编学习笔记(三)szClassName    db    
'MyClass',0
Win32汇编学习笔记(三)szCaptionMain    db    
'Receive Message',0
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)szReceive    db    
'Receive WM_SETTEXT message',0dh,0ah
Win32汇编学习笔记(三)        db    
'param: %08x',0dh,0ah
Win32汇编学习笔记(三)        db    
'text: "%s"',0dh,0ah,0
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 代码段
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        .code
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三);
 窗口过程
Win32汇编学习笔记(三);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
_ProcWinMain    proc    uses ebx edi esi,hWnd,uMsg,wParam,lParam
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)        
mov    eax,uMsg
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三)
        .if    eax ==    WM_CLOSE
Win32汇编学习笔记(三)            invoke    DestroyWindow,hWinMain
Win32汇编学习笔记(三)            invoke    PostQuitMessage,NULL
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三);
 收到 WM_SETTEXT 消息则将消息字符串和字符串地址显示出来
Win32汇编学习笔记(三);
****************************************************************
Win32汇编学习笔记(三)
        .elseif    eax ==    WM_SETTEXT
Win32汇编学习笔记(三)            invoke    wsprintf,addr szBuffer,addr szReceive,\
Win32汇编学习笔记(三)                lParam,lParam
Win32汇编学习笔记(三)            invoke    MessageBox,hWnd,offset szBuffer,addr szCaptionMain,MB_OK
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三)
        .else
Win32汇编学习笔记(三)            invoke    DefWindowProc,hWnd,uMsg,wParam,lParam
Win32汇编学习笔记(三)            
ret
Win32汇编学习笔记(三)        .endif
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三)
        xor    eax,eax
Win32汇编学习笔记(三)        
ret
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)_ProcWinMain    endp
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
_WinMain    proc
Win32汇编学习笔记(三)        local    
@stWndClass:WNDCLASSEX
Win32汇编学习笔记(三)        local    
@stMsg:MSG
Win32汇编学习笔记(三)
Win32汇编学习笔记(三)        invoke    GetModuleHandle,NULL
Win32汇编学习笔记(三)        
mov    hInstance,eax
Win32汇编学习笔记(三)        invoke    RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三);
 注册窗口类
Win32汇编学习笔记(三);
****************************************************************
Win32汇编学习笔记(三)
        invoke    LoadCursor,0,IDC_ARROW
Win32汇编学习笔记(三)        
mov    @stWndClass.hCursor,eax
Win32汇编学习笔记(三)        
push    hInstance
Win32汇编学习笔记(三)        
pop    @stWndClass.hInstance
Win32汇编学习笔记(三)        
mov    @stWndClass.cbSize,sizeof WNDCLASSEX
Win32汇编学习笔记(三)        
mov    @stWndClass.style,CS_HREDRAW or CS_VREDRAW
Win32汇编学习笔记(三)        
mov    @stWndClass.lpfnWndProc,offset _ProcWinMain
Win32汇编学习笔记(三)        
mov    @stWndClass.hbrBackground,COLOR_WINDOW + 1
Win32汇编学习笔记(三)        
mov    @stWndClass.lpszClassName,offset szClassName
Win32汇编学习笔记(三)        invoke    RegisterClassEx,addr @stWndClass
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三);
 建立并显示窗口
Win32汇编学习笔记(三);
****************************************************************
Win32汇编学习笔记(三)
        invoke    CreateWindowEx,WS_EX_CLIENTEDGE    ,offset szClassName,offset szCaptionMain,\
Win32汇编学习笔记(三)            WS_OVERLAPPEDWINDOW,\
Win32汇编学习笔记(三)            
50,50,200,150,\
Win32汇编学习笔记(三)            NULL,NULL,hInstance,NULL
Win32汇编学习笔记(三)        
mov    hWinMain,eax
Win32汇编学习笔记(三)        invoke    ShowWindow,hWinMain,SW_SHOWNORMAL
Win32汇编学习笔记(三)        invoke    UpdateWindow,hWinMain
Win32汇编学习笔记(三)
;****************************************************************
Win32汇编学习笔记(三);
 消息循环
Win32汇编学习笔记(三);
****************************************************************
Win32汇编学习笔记(三)
        .while    TRUE
Win32汇编学习笔记(三)            invoke    GetMessage,addr @stMsg,NULL,
0,0
Win32汇编学习笔记(三)            .break    .if eax    == 
0
Win32汇编学习笔记(三)            invoke    TranslateMessage,addr @stMsg
Win32汇编学习笔记(三)            invoke    DispatchMessage,addr @stMsg
Win32汇编学习笔记(三)        .endw
Win32汇编学习笔记(三)        
ret
Win32汇编学习笔记(三)_WinMain    endp
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
start:
Win32汇编学习笔记(三)        
call    _WinMain
Win32汇编学习笔记(三)        invoke    ExitProcess,NULL
Win32汇编学习笔记(三)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Win32汇编学习笔记(三)
        end    start
Win32汇编学习笔记(三)


MakeFile文件:

Win32汇编学习笔记(三)LINK_FLAG = /subsystem:windows
Win32汇编学习笔记(三)ML_FLAG 
= //coff
Win32汇编学习笔记(三)all: Sender
.exe Receiver.exe
Win32汇编学习笔记(三)Sender
.exe: Sender.obj
Win32汇编学习笔记(三)    Link 
$(LINK_FLAG) Sender.obj
Win32汇编学习笔记(三)Receiver
.exe: Receiver.obj
Win32汇编学习笔记(三)    Link 
$(LINK_FLAG) Receiver.obj
Win32汇编学习笔记(三)
.asm.obj:
Win32汇编学习笔记(三)    ml 
$(ML_FLAG) $<
Win32汇编学习笔记(三)clean:
Win32汇编学习笔记(三)    
del *.obj
Win32汇编学习笔记(三)

相关文章: