关于在屏幕桌面上(非窗口中)画图的一个问题!!!
.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里,我这里不想用到消息循环的东西,,,