TC官方合作论坛

标题: 求大神解答。 如何在屏幕指定位置显示指定文字 [打印本页]

作者: cxch1314    时间: 2016-7-24 19:21
标题: 求大神解答。 如何在屏幕指定位置显示指定文字
思路是: 按F5后在屏幕x,y位置显示 显示成功 四个字 请问如何才能做到

作者: 康师傅    时间: 2016-7-25 08:28
大漠的 Foobar 函数 看看就会了
作者: mxxgmxxg    时间: 2016-7-26 10:38
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
作者: cxch1314    时间: 2016-7-26 10:42
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

谢谢大神,我试试
作者: cxch1314    时间: 2016-7-26 12:43
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

在TC6.1中无法使用啊
作者: a145356    时间: 2016-7-27 12:38
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

字的背景不是透明的,有没有透明的?
作者: g93920079    时间: 2016-8-28 00:11
mxxgmxxg 发表于 2016-7-26 10:38
function ScreenTextOut(s_text,x,y)   
    //取桌面窗口句柄
    var DesktopWindowHwnd = dllcall("user ...

请教大神,按照代码成功写屏了,但是写屏的内容一闪而过,我要保持写屏不消失,该如何修改呢?
作者: cxch1314    时间: 2016-8-28 00:14
g93920079 发表于 2016-8-28 00:11
请教大神,按照代码成功写屏了,但是写屏的内容一闪而过,我要保持写屏不消失,该如何修改呢? ...

我已经解决了,自己摸索的。  我刚开始接触这个函数的时候,也是一闪而过。 你可以尝试调整一下创造窗口的范围或者 要写的字的长度
作者: g93920079    时间: 2016-8-28 00:16
cxch1314 发表于 2016-8-28 00:14
我已经解决了,自己摸索的。  我刚开始接触这个函数的时候,也是一闪而过。 你可以尝试调整一下创造窗口 ...

兄台能否把关键的代码贴一下 谢谢了
作者: cxch1314    时间: 2016-8-28 00:18
g93920079 发表于 2016-8-28 00:16
兄台能否把关键的代码贴一下 谢谢了

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


这是写屏函数,注册插件什么的你自己弄
作者: g93920079    时间: 2016-8-28 00:20
cxch1314 发表于 2016-8-28 00:18
变量 foobar = dm.CreateFoobarRect(Hwnd,0,0,120,20)
            dm.FoobarPrintText(foobar, "初级单 ...

哦哦 大漠的 我知道了 谢谢了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1