01-24-2009, 09:05 AM
this is without changing system functions
Macro
Macro
str s="text wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww"
;at first show transparent OSD
OnScreenDisplay s 0 0 0 0 0 0 0 "osd_chameleon"
;get its coordinates
int hWnd=win("osd_chameleon" "QM_OSD_Class")
RECT r; GetClientRect hWnd &r
POINT p; ClientToScreen hWnd &p
;capture screen and save bitmap
__MemBmp mb
mb.Create(r.right r.bottom 1 p.x p.y)
SaveBitmap mb.bm "$temp$\osd_chameleon.bmp"
;close
spe; hid hWnd; clo hWnd
;then show another OSD with that bitmap
OnScreenDisplay 0 0 p.x-1 p.y-1 0 0 0 1|128|16 0 0 0 "$temp$\osd_chameleon.bmp"