【已解决】如何在屏幕指定位置显示文字?
本帖最后由 meteor1022 于 2010-7-7 04:06 编辑小弟想问一个问题,刚接触autoit不久,不知道能不能实现。
如何在屏幕指定位置显示文字?
并且这些文字不影响到正常的使用电脑,感觉就像是本身桌面墙纸带有的。
而且这些字的大小,位置,颜色都是可以控制的。 #include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>
Global $tRECT, $hFont, $hOldFont, $hDC
HotKeySet("{ESC}", "_Exit")
$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 250)
DllStructSetData($tRECT, "Bottom", 50)
$hDC = _WinAPI_GetDC(0)
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
$OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$hOldFont = _WinAPI_SelectObject($hDC, $hFont)
_WinAPI_SetTextColor($hDC, 0x0000FF)
_WinAPI_SetBkColor($hDC, 0x000000)
; comment next line to get black background instead of transparent one
_WinAPI_SetBkMode($hDC, $TRANSPARENT)
While 1
_WinAPI_DrawText($hDC, "Hello world!", $tRECT, $DT_CENTER)
Sleep(100)
WEnd
Func _Exit()
_WinAPI_SelectObject($hDC, $hOldFont)
_WinAPI_DeleteObject($hFont)
_WinAPI_ReleaseDC(0, $hDC)
_WinAPI_InvalidateRect(0, 0)
$tRECT = 0
Exit
EndFunc ;==>_Exit 本帖最后由 newuser 于 2010-7-6 13:56 编辑
回复 2# 水木子
请问是在以下调整坐标吗?
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 250)
DllStructSetData($tRECT, "Bottom", 50)
我调来调去还是不清楚?要么是在左上角,要么看不到字?
明白了,是我设置的数字不合理,谢谢!
水木子 发表于 2010-7-5 22:49 http://www.autoitx.com/images/common/back.gif
谢谢指导。。效果和我想象中的有点区别,那些字是在桌面上层的,虽然没有影响到点击,但影响了观看。
再次感谢。我自己慢慢摸索了。。 雷锋精神传天下!谢谢分享!
页:
[1]