找回密码
 加入
搜索
查看: 4628|回复: 4

[系统综合] 【已解决】如何在屏幕指定位置显示文字?

[复制链接]
发表于 2010-7-5 19:06:38 | 显示全部楼层 |阅读模式
本帖最后由 meteor1022 于 2010-7-7 04:06 编辑

小弟想问一个问题,刚接触autoit不久,不知道能不能实现。

如何在屏幕指定位置显示文字?
并且这些文字不影响到正常的使用电脑,感觉就像是本身桌面墙纸带有的。
而且这些字的大小,位置,颜色都是可以控制的。

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-7-5 22:49:08 | 显示全部楼层
#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

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-7-6 13:54:25 | 显示全部楼层
本帖最后由 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-7 04:04:39 | 显示全部楼层
水木子 发表于 2010-7-5 22:49



    谢谢指导。。效果和我想象中的有点区别,那些字是在桌面上层的,虽然没有影响到点击,但影响了观看。

   再次感谢。我自己慢慢摸索了。。
发表于 2014-5-4 10:58:15 | 显示全部楼层
雷锋精神传天下!谢谢分享!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 23:54 , Processed in 0.069493 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表