注册 登录
编程论坛 汇编论坛

关于在屏幕桌面上(非窗口中)画图的一个问题!!!

TE20 发布于 2008-01-10 14:41, 1036 次点击
.386
        .model flat,stdcall
        option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include        windows.inc
include        gdi32.inc
includelib    gdi32.lib
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .data?
hInstance    dd        ?
hWinMain    dd        ?
@bb dd ?
@aa  POINT <>
        .code
start:
         invoke  GetDC,HWND_DESKTOP;这个是桌面的dc---HWND_DESKTOP
         mov @bb,eax
         invoke  GetCursorPos,addr @aa
         mov eax,@aa.x
         mov ebx,@aa.y
         mov ecx,@aa.x
         mov edx,@aa.y
         sub eax,30
         sub ebx,30
         add ecx,30
         add edx,30
         invoke  Ellipse,@bb,eax,ebx,ecx,edx
         invoke  ReleaseDC,HWND_DESKTOP,@bb
         invoke    ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        end    start



现在的问题是 我要画的圆能在桌面上出现,但,是在我双击该exe文件时马上出现,之后就推出程序了
我的原意是,想当我运行程序后,等我鼠标点击后,才出现我要的那个圆图,这里getcursorpos函数是直接获取我当前鼠标在屏幕上的坐标,请问有没有哪个函数是在我鼠标点击后,才能得到我要鼠标坐标,我指的不是在消息循环里wm_lbuttondown里,我这里不想用到消息循环的东西,,,
0 回复
1