TC官方合作论坛

 找回密码
 立即注册
查看: 3565|回复: 10

[问题] 求大神解答。 如何在屏幕指定位置显示指定文字

[复制链接]
发表于 2016-7-24 19:21:27 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
思路是: 按F5后在屏幕x,y位置显示 显示成功 四个字 请问如何才能做到
回复

使用道具 举报

发表于 2016-7-25 08:28:52 | 显示全部楼层
大漠的 Foobar 函数 看看就会了
回复 支持 反对

使用道具 举报

发表于 2016-7-26 10:38:06 | 显示全部楼层
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user32.dll","int","GetDesktopWindow")
    //取窗口设备场景
    var DesktopWindowDC = dllcall("user32.dll","int","GetWindowDC","int", DesktopWindowHwnd)   
    var s_color = rgbtohex(255,0,0)
    dllcall("gdi32.dll","long","SetTextColor","long",DesktopWindowDC,"long",s_color)     
    var n_size=dllcall("kernel32.dll","int","lstrlenA","char *",s_text)
    dllcall("gdi32.dll","int","TextOutA","int",DesktopWindowDC,"int",x,"int",y,"char *",s_text,"int",n_size)
    //释放由调用GetDC或GetWindowDC函数获取的指定设备场景
    dllcall("user32.dll","int","ReleaseDC","int", DesktopWindowHwnd,"int", DesktopWindowDC)   
end
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-26 10:42:37 | 显示全部楼层
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

谢谢大神,我试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-26 12:43:52 | 显示全部楼层
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

在TC6.1中无法使用啊
回复 支持 反对

使用道具 举报

发表于 2016-7-27 12:38:53 | 显示全部楼层
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

字的背景不是透明的,有没有透明的?
回复 支持 反对

使用道具 举报

发表于 2016-8-28 00:11:19 | 显示全部楼层
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

请教大神,按照代码成功写屏了,但是写屏的内容一闪而过,我要保持写屏不消失,该如何修改呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-28 00:14:06 | 显示全部楼层
g93920079 发表于 2016-8-28 00:11
请教大神,按照代码成功写屏了,但是写屏的内容一闪而过,我要保持写屏不消失,该如何修改呢? ...

我已经解决了,自己摸索的。  我刚开始接触这个函数的时候,也是一闪而过。 你可以尝试调整一下创造窗口的范围或者 要写的字的长度
回复 支持 反对

使用道具 举报

发表于 2016-8-28 00:16:53 | 显示全部楼层
cxch1314 发表于 2016-8-28 00:14
我已经解决了,自己摸索的。  我刚开始接触这个函数的时候,也是一闪而过。 你可以尝试调整一下创造窗口 ...

兄台能否把关键的代码贴一下 谢谢了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-28 00:18:47 | 显示全部楼层
g93920079 发表于 2016-8-28 00:16
兄台能否把关键的代码贴一下 谢谢了

变量 foobar = dm.CreateFoobarRect(Hwnd,0,0,120,20)
            dm.FoobarPrintText(foobar, "初级单人:1号窗口", "FF0000")


这是写屏函数,注册插件什么的你自己弄
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-29 00:45 , Processed in 0.041513 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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