¹C«È:  µù¥U | µn¿ý | ·j¯Á | À°§U | VIPÃÙ§U¥»¯¸ | ¥ZµnÃÙ§U¼s§i | ³]¬°­º­¶ | ¥[¤J¦¬Âà | ÁcÅ餤¤å

 

your gf Ú»­ø¨ì¤ù ¥î¼äóa ¤£¯à³X°ÝSOPCAST­¶­± ¶Â¦â­I´º ¤ÑÀs¤K³¡·tª÷Ä_ ¸Ý¥Ponline©xºô ¤p¤t¬ü ½u¤WH°Êµe §K¶O§Y®É³ø»ù ªá¼Ë¤Ö¦~¤Ö¤k¢ê¢ü ¤Ó»×¥ß§Ó¶Ç ¤H¶¡¤¿¾¹º©µe Hebe·s¾v«¬ Media calssic I miss you³¯¬f¦t seed H LostPlanet¯}¸Ñ ¤Ñ°ó¨pªA³Ü¤ôµ{¦¡ ¤Ñ¥~2 online ¯]®ü®á®³¤p©j¥þ®M

 




·j¯Á¿ï¶µ ¯Á¤Þ¨t²Î¤u¨ãµ¡
 
¼ÐÃD: Win32·J½s±Ðµ{¤K
http://manyway.net ÃÙ§Uºô¯¸¸ü¤J¤¤...
chan0006
ºaÅA²z¨Æ
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
¹q¸£¦a±a°Ï¥D

ºaÅA¾±³¹ ¥Ø«e¨S¦³¾±³¹

UID¡G 460360

©Ê§O¡G ¨k

ºëµØ¡G 3 ½g

¿n¤À¡G 2593 ÂI

©«¤l¡G 1863 ½g

  ¤j ¤¤ ¤p
µoªí©ó 2006-11-25 09:36  ¸ê®Æ  ­Ó¤HªÅ¶¡  ¥D­¶ µu®ø®§  ¥[¬°¦n¤Í  ²K¥[ chan0006 ¬°MSN¦n¤Í ³q¹LMSN©M chan0006 ¥æ½Í QQ

Win32·J½s±Ðµ{¤K ±z¬O²Ä 392­ÓÂsÄýªÌ

¦³ÃöGDI©MÂI°}¹Ï
    GDI §Y¹Ï§Î³]³Æ¤¶­±¡A¬O Windows ³Ì­«­nªº³¡¤À¤§¤@¡A¥¦¤j³¡¤À¥Ñ GDI32.DLL ®w¤¤ªº API ¨Ó³B²z¡AGDI ªº¥D­n¥Øªº¤§¤@¬O¤ä´©»P³]³ÆµLÃöªº¹Ï§Î½sµ{¡A¹ï©ó Dos ¤Uªº¹Ï§Î½sµ{¡A«Ü¦h¤H¥i¯à¡§¤ß¦³¾l±ª¡¨¡A¦]¬°PC ¤¤¦³¤Ó¦hºØÃþªºÅã¥Ü¥d¡A¦Ó´X¥G¨C­ÓÅã¥Ü¥dªº³B²z³£¬O¤£¦Pªº¡A§Y¨Ï«á¨Ó¦³¤F Vesa ½sµ{¡A§Ú­ÌÁÙ¬O¤£¯à¥þ³¡ºJ¶}¨ãÅ骺µwÅé¡AWindows GDI ¨Ï§Ú­Ì¹ï¹Ï§Îªº½sµ{Åܱo¬Û¹ï²³æ¤F«Ü¦h¡A¥Ñ©óGDI ¬O Windows ³ÌÃe¤jªº³¡¤À¡A¨Ã¤£¬O´X¥y¸Ü¯àÁ¿²M·¡ªº¡A¥»¸`­nÁ¿ªº¬O Windows ¤UGDI ªº°ò¥»³B²z¨BÆJ©M²³æªºÂI°}¹Ï³B²z¡A¨Ã¨S¦³¯A¤Î¨ì Directx ¤@Ãþªº½sµ{¡C¥u§Æ±æ¯à¹ïªB¤Í­Ì¦³©Ò±Òµo¡C
    Windows ¨Ã¤£¤¹³\µ{¦¡®v³X°ÝÅã¥ÜµwÅé¡A¥¦ªº©Ò¦³¹ï¿Ã¹õªº¾Þ§@¬O³q¹LÀô¹Ò³]³Æ¡]DC¡^¨Ó³B²zªº¡A¿Ã¹õ¤Wªº¨C¤@­Óµøµ¡¹ïÀ³¤@­ÓDC¡A§A¥i¥H§â¤@­ÓDC ·Q¹³¦¨³o­Óµøµ¡ªºµøÀW½w½Ä°Ï¡A§A¹ïDCªº¾Þ§@µ²ªG·|¤Ï¬M¨ì¿Ã¹õ¤W¡A¦bµøµ¡ªºDC¤§¥~¡A§A¤]¥i¥H¦Û¤v«Ø¥ßDC¡A³o¬Û·í©ó«Ø¥ß¤@­Ó°O¾ÐÅ餤ªº½w½Ä°Ï¡A§A¹ï³o­ÓDCªº¾Þ§@µ²ªG«O¦s¦b°O¾ÐÅ餤¡C§A¤]¥i¥H¥Î API ¦b¤£¦PªºDC¤§¶¡«þ¨©¸ê®Æ¡A¤ñ¦p»¡§A¥i¥H¦b°O¾ÐÅéDC ¤¤¥ý«Ø¥ß¦n¸ê®Æ¡AµM«á«þ¨©¨ìµøµ¡ªºDC¤¤¡A´N¬Û·í©ó§¹¦¨¤F¿Ã¹õªº¨ê·s¡C
    »PDCªº¨ú±o¡B«Ø¥ß¨ú®ø¦³ÃöªºAPI¦³¥H¤U´XºØ¡G
GetDC(hWnd) - ¨ú±o¬Y­Óµ¡¤fªºDC¡AAPI ªð¦^¹ïÀ³ªº DC ±±¨î½X
ReleaseDC(hWnd,hDC) - ÄÀ©ñ¥Î GetDC ¨ú±oªº DC ±±¨î½X
CreateCompatibleDC(hDC) - ±q¤@­Ó¤wª¾ªº DC ±±¨î½X¤¤«Ø¥ß¤@­Ó°O¾ÐÅé DC¡A¦UºØ°Ñ¼Æ¡BÄݩʰѦҤwª¾ªº DC
DeleteDC(hDC) - §R°£¥ÎCreateCompatibleDC «Ø¥ßªº DC
¤W­±ªº4­ÓAPI¡A¥²¶·¦¨¹ï¥X²{¡A¥Î GetDC ¨ú±oªºDC ¥²¶·¥Î ReleaseDC ÄÀ©ñ¡A¦Ó¥Î CreateCompatibleDC «Ø¥ßªº DC ¥²¶·¥Î DeleteDC §R°£¡A¤£¯à²V²c¡CDC ªº§@¥Î½d³ò¡G¥Î GetDC ¨ú±oªºµøµ¡ DC ¥²¶·¾¨§ÖÄÀ©ñ¡A§A¤£À³¸Ó¦b Windows ªº¤£¦P®ø®§¤§¶¡«O¦s DC ±±¨î½X¡A¦Ó¥Î CreateCompatibleDC «Ø¥ßªº DC ¥i¥Hªø´Á«O¦s¡AÁ|¨Ò»¡©ú¡A¦pªG§A¦b WM_PAINT ©M WM_SIZE ®ø®§¤¤³£­n¹ïµøµ¡ªº DC ¶i¦æ¾Þ§@¡A§A¤£¯à¦b WM_INIT ®É¥ý GetDC¡AµM«á«O¦s±±¨î½X¡A³Ì«á¦b WM_CLOSE ®ø®§®É ReleaseDC¡A¦Ó¬O¥²¶·¦b WM_PAINT ©M WM_SIZE ¶}©lªº¦a¤è GetDC¡A¦b®ø®§µ²§ôªº¦a¤è´N ReleaseDC¡A¦Ó¥Î CreateCompatibleDC «Ø¥ßªº«h¬Û¤Ï¡A§A¥i¥H¦b WM_INIT ®É«Ø¥ß¡A¦b WM_CLOSE ®É§R°£¡C
    ¦pªG·Q§â¤@­Ó¦ì¹Ïµe¨ì DC ¤¤¡A§A¥u»Ý²³æªº¥Î invoke SelectObject,hDc,hBitmap ´N¦æ¤F¡A¬O¤£¬O«Ü²³æ¡H¦ý¹Ï§Î¾Þ§@¨Ã¤£¬O³æ³æ§âÂI°}¹Ï©ñ¤J¿Ã¹õ´N¦æ¤F¡AÁÙ­n¯A¤Î¨ì¦ìªº¾Þ§@¡A¦p§â«e´ºÂI°}¹ÏªºÃä½t¥h±¼¶K¤J­I´ºÂI°}¹Ïµ¥¡C Windows ªº GDI ´£¨Ñ¤F¤U­±¤@¨Ç DC ¶¡ªº«þ¨© API¡A¤¤¶¡´N¥]¬A¤F«þ¨©ªº¼Ò¦¡¡G

BitBlt hDcDest,XDest,YDest,Width,Height,hDcSource,XSrc,YSrc,dwRop
³o­Ó API §â hDcSource ªº XSrc,YSrc ®y¼Ð³Bªº¤º®e«þ¨©¨ì hDcDest ªº XDest,YDest ³B¡A«þ¨©¤j¤p¬° Width,Height¡C
PatBlt hDc,X,Y,Width,Height,dwRop ¬O¥Î¹w©w¸qªº¨ê¤lµ¥ Object ¶ñ¥R DC
StretchBlt,hDcDest,XDest,YDest,Width,Height,hDcSource,XSrc,YSrc,WidthSrc,HeightSrc,dwRop ¬O«þ¨©¨Ã¦Û°ÊÁY©ñ¤j¤p¡A§A¥i¥Hª`·N¨ì¥¦©M BitBlt ¬Û¤ñ¦h¤F¨â­Ó°Ñ¼Æ WidthSrc ©M HeightSrc¡A§Oªº³£¬O¤@¼Ëªº¡C
¥H¤WAPI ¤¤ªº dwRop °Ñ¼Æ¬O³ÌÃöÁ䪺¡A¥¦ªº­È¦³ SRCCOPY¡ASRCPAINT¡ASRCAND¡ADSTINVERT µ¥¡Aªí¥Ü·½DC «þ¨©¨ì¥Ø¼ÐDC«á¶H¯Àªº­pºâ¤èªk¡ASRCCOPY ªí¥Ü¥Î·½DCÂл\¥Ø¼ÐDC¡ASRCPAINT¬O°õ¦æ OR ¾Þ§@¡ASRCAND ¬O°õ¦æ AND ¾Þ§@¡ADSTINVERT ¬O¨ú¤Ï¡AÁ|¨Ò»¡©ú¡A¦pªG·½DC¤¤ªº¬Y¤@ÂI¬O¶Â¦â¡A¥Ø¼ÐDC¹ïÀ³ªºÂI¬O¬õ¦â¡A¨º»ò¥Î SRCCOPY«á¡A¥Ø¼ÐDCªºÂIÅܦ¨¶Â¦â¡A¥ÎSRCPAINT «áÁÙ¬O¬õ¦â¡A¦]¬°¶Â (000000) or ¬õ(0000ff) ¡×¬õ(0000ff)¡C
     ¹ïÀ³¤@¯ë¹ï¿Ã¹õ©Îµøµ¡¶i¦æ¹Ï§Î¾Þ§@ªº¨BÆJ¦p¤U¡C

¥ÎGetDC ¨ú±o¥Ø¼Ðµøµ¡ªº DC
¥Î CreateCompatibleDC «Ø¥ß¤@­Ó°O¾ÐÅ餤ªº DC¥Î§@½w½Ä°Ï
¥Î SelectObject ¶ñ¥R°O¾ÐÅéDC ©Î§Oªº¿ìªk¹ï°O¾ÐÅéDC¶i¦æ¾Þ§@¡A¤@¥y¸Ü¡A¥ý§â­nÅã¥ÜªºªF¦è³B²z¦n
¥Î BitBlt §â°O¾ÐÅéDC «þ¨©¨ìµøµ¡ DC¤¤¡A§¹¦¨¿Ã¹õ¨ê·s¡C
¥»¸`ªº¨Ò°Æµ{¦¡¬O¤@­Ó¿Ã¹õ©ñ¤jÃè¡A¥¦§â·Æ¹«²¾°Ê¨ìªº¦a¤èªº¿Ã¹õ¤º®e©ñ¤j¤@­¿Åã¥Ü¨ì¦Û¤vªºµøµ¡¤¤¡C

®Ú·½µ{¦¡ - ·J½s­ì©lÀÉ®×
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Programmed by ù¶³±l, bigluo@telekbird.com.cn
; Website: http://asm.yeah.net
; LuoYunBin's Win32 ASM page (ù¶³±lªº½sµ{¼Ö¶é)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; ª©¥»¸ê°T
; ·J½s±Ðµ{ªþ±a®Ú·½µ{¦¡ - ¿Ã¹õ©ñ¤j¾¹
;    V1.0 ------ 2000¦~7¤ë1¤é
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  .386
  .model flat, stdcall
  option casemap :none   ; case sensitive

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include ¼Æ¾Ú
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

include  windows.inc
include  user32.inc
include  kernel32.inc
include  comctl32.inc
include  comdlg32.inc
include  gdi32.inc

includelib user32.lib
includelib kernel32.lib
includelib comctl32.lib
includelib comdlg32.lib
includelib gdi32.lib

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ ¼Æ¾Ú
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DLG_MAIN equ  1000
ID_BITMAP equ  1001

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; ¸ê®Æ¬q
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  .data?
hWinPic  dd ?
hDcMem  dd ?
hBitmap  dd ?
hWinDesktop dd ?
hInstance dd ?
szBuffer db 256 dup (?)

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; °Æµ{¦¡Án©ú
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcDlgMain PROTO WORD,WORD,WORD,:DWORD

  .data
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; ¥N½X¬q
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  .code
include  Win.asm
;********************************************************************
_ProcDlgMain proc uses ebx edi esi, \
  hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD
  local @stPointOINT
  local @hDcDesktop,@hDcPic

  mov eax,wMsg
  .if eax == WM_CLOSE
   invoke EndDialog,hWnd,NULL
   invoke KillTimer,hWnd,1
   invoke DeleteDC,hDcMem
   invoke DeleteObject,hBitmap
; *******************************************************************
  .elseif eax == WM_INITDIALOG
   invoke GetDlgItem,hWnd,ID_BITMAP
   mov hWinPic,eax
   invoke GetDeskto«Å¶Ç0250ow
   mov hWinDesktop,eax
   invoke SetWindowPos,hWnd,HWND_TOPMOST,0,0,0,0,\
    SWP_NOMOVE or SWP_NOSIZE
; *******************************************************************
   invoke GetDC,hWinDesktop
   mov @hDcDesktop,eax
   invoke CreateCompatibleDC,@hDcDesktop
   mov hDcMem,eax
   invoke CreateCompatibleBitmap,@hDcDesktop,80,80
   mov hBitmap,eax
   invoke SelectObject,hDcMem,hBitmap
   invoke ReleaseDC,hWinDesktop,@hDcDesktop
   invoke SetTimer,hWnd,1,100,NULL
; *******************************************************************
  .elseif eax == WM_TIMER
   invoke GetCursorPos,addr @stPoint
   sub @stPoint.x,20
   sub @stPoint.y,20
   .if @stPoint.x < 0
    mov @stPoint.x,0
   .endif
   .if @stPoint.y < 0
    mov @stPoint.y,0
   .endif
   invoke GetDC,hWinDesktop
   mov @hDcDesktop,eax
   invoke GetDC,hWinPic
   mov @hDcPic,eax
   invoke PatBlt,hDcMem,0,0,80,80,BLACKNESS
   invoke StretchBlt,hDcMem,0,0,80,80,\
    @hDcDesktop,@stPoint.x,@stPoint.y,40,40,SRCCOPY
   invoke BitBlt,@hDcPic,0,0,80,80,\
    hDcMem,0,0,SRCCOPY
   invoke ReleaseDC,hWinDesktop,@hDcDesktop
   invoke ReleaseDC,hWinPic,@hDcPic
  .else
;********************************************************************
; ª`·N¡G¹ï¸Ü¤è¶ôªº®ø®§³B²z«á¡A­nªð¦^ TRUE,¹ï¨S¦³³B²zªº®ø®§
; ­nªð¦^ FALSE
;********************************************************************
   mov eax,FALSE
   ret
  .endif     
  mov eax,TRUE
  ret
  
_ProcDlgMain endp
;********************************************************************
start:
  invoke GetModuleHandle,NULL
  mov hInstance,eax
  invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,0
  invoke ExitProcess,NULL

  end start
µ{¦¡ªº¤ÀªR©M­nÂI
    ¦bµ{¦¡ªºªì©l¤Æ¤¤¡A§Ú­Ì¥ÎGetDc ¨úªº®à­±ªº¿Ã¹õªº DC¡A¦A¥Î CreateCompatibleDC «Ø¥ß¤@­Ó°O¾ÐÅéDC°µ½w½Ä°Ï¡A«Ø¥ß¤@­ÓÂI°}¹Ï¦A¥Î SelectObject §â hDcMem ³]¸m¬°³o­ÓÂI°}¹Ï¬O¬°¤F¬O hDcMem ªº¤j¤pÅܬ° 80x80¡C
   invoke GetDC,hWinDesktop
   mov @hDcDesktop,eax
   invoke CreateCompatibleDC,@hDcDesktop
   mov hDcMem,eax
   invoke CreateCompatibleBitmap,@hDcDesktop,80,80
   mov hBitmap,eax
   invoke SelectObject,hDcMem,hBitmap
   invoke ReleaseDC,hWinDesktop,@hDcDesktop
µM«á¦bµ{¦¡ªº¨C 0.1 ¬í¤@¦¸ªº WM_TIMER ­p®É¾¹®ø®§¤¤¡A§Ú­Ì¥ý¥Î GetDC ¨ú±o®à­±©M¹ï¸Ü¤è¶ô¤¤¤å¥»®Øªº±±¨î½X¡AµM«á¥Î PatBlt §â°O¾ÐÅéDC²M°£¬°¶Â¦â¡A¦A¥Î StretchBlt ±q®à­±DC¤¤«þ¨© 40x40ªº°Ï°ì¨ì°O¾ÐÅé DC ¤¤¡A·sªº¤j¤p¬O 80x80¡]©ñ¤j¥\¯à´N¬O³o¼Ë¹ê²{ªº¡^¡A«þ¨©ªº¦ì¸m¬O¥Î GetCursorPos ¨ú±oªº¡A¤]´N¬O·Æ¹«ªº·í«e¦ì¸m¡A³Ì«á¥Î BitBlt §â°O¾ÐÅéDC «þ¨©¨ì¹ï¸Ü¤è¶ô¤¤¡C¦pªGª½±µ§â®à­±DC «þ¨©¨ì¹ï¸Ü¤è¶ô¤¤¤]¥i¥H¡A¦ý¬O·í·Æ¹«²¾°Ê¨ì¿Ã¹õÃä½t¤W®É¡A¥Ñ©ó¿Ã¹õ¥~ªºÂI¬OµL®Äªº¡A©Ò¥H¹ï¸Ü¤è¶ô¤¤ªº¤@³¡¤À·|ªá«Ì¡A¤j®a¥i¥H§ï°Êµ{¦¡¸Õ¸Õ¡C

   invoke GetCursorPos,addr @stPoint
   invoke GetDC,hWinDesktop
   mov @hDcDesktop,eax
   invoke GetDC,hWinPic
   mov @hDcPic,eax
   invoke PatBlt,hDcMem,0,0,80,80,BLACKNESS
   invoke StretchBlt,hDcMem,0,0,80,80,\
    @hDcDesktop,@stPoint.x,@stPoint.y,40,40,SRCCOPY
   invoke BitBlt,@hDcPic,0,0,80,80,\
    hDcMem,0,0,SRCCOPY
   invoke ReleaseDC,hWinDesktop,@hDcDesktop
   invoke ReleaseDC,hWinPic,@hDcPic





〓¤¤°ê¶Â«ÈÁp·ù¡]CHU¡^〓«e®Ö¤ß¦¨­û¡A²{¬°ºaÅA·|­û
〓¤¤°ê¶Â«ÈÁp·ù¡]CHU¡^〓ºôµ¸¹q¤lÂø»x¡m¯x°}¡n½s¿è
­·°ó§Þ³N¤u§@«Ç
³»³¡

 



¥»¯¸³]³Æ¾¹§÷¥Ñ Many Way (HK) Limited ÃÙ§U´£¨Ñ
·í«e®É°Ï GMT+8, ²{¦b®É¶¡¬O 2008-10-14 00:17

Advertisting Agency

Audit and Analytics

Partner Companies

Powered by Discuz! 5.5.0¢x0.074724 (s), 7 queries, Copyright © 2008 HK-PUB.COM All Rights Reserved. ¥»¯¸Án©ú - ¼s§i¬d¸ß - ²M°£ Cookies - Ápô§Ú­Ì - ¤j²³½×¾Â - Archiver - WAP