找回密码
 加入
搜索
查看: 3247|回复: 14

[网络通信] 【已解决】屏幕水印

[复制链接]
发表于 2019-11-29 19:35:41 | 显示全部楼层 |阅读模式
本帖最后由 anythinging 于 2019-12-1 08:47 编辑

今天看到一个屏幕水印的程序,好象是ahk做的。自己尝试做了下,弄成一个全屏的gui,然后加点label文字,调成透明设置最前,结果文字发现影响点击。再看参考对象,好象在任何一个窗口上都不是最前,但却能显示出来,因此不影响点击。请各位大神指点,优化下,谢谢!
这个有90%神似了,但就差这么一点点儿
 $WaterMark = GUICreate("水印",@DesktopWidth,@DesktopHeight,0,0,BitOR($WS_CHILD, $WS_POPUP),$WS_EX_LAYERED+$WS_EX_TOPMOST)
        GUISetBkColor(0x444444)
        _WinAPI_SetLayeredWindowAttributes($WaterMark, 0x444444)
        $waterLabel001        =        GUICtrlCreateLabel('水印测试水印测试水印测试水印测试水印测试', 200, 400, 1000, 100)
        GUICtrlSetFont(-1, 32, 400, 1,'微软雅黑')
        GUICtrlSetColor(-1, 0xFFFFFF);
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUISetState(@SW_SHOW)


发表于 2019-11-30 17:25:43 | 显示全部楼层
_WinAPI_SetLayeredWindowAttributes 第三个参数……

点评

已解决!感谢指点!  发表于 2019-11-30 20:15

评分

参与人数 1金钱 +30 收起 理由
anythinging + 30 赞一个!

查看全部评分

发表于 2019-11-30 12:00:42 | 显示全部楼层
10年前就有了 论坛搜索 穿透  很简单
发表于 2019-11-29 23:01:59 | 显示全部楼层
AHK代码发上来看下
 楼主| 发表于 2019-11-29 23:19:51 | 显示全部楼层
haijie1223 发表于 2019-11-29 23:01
AHK代码发上来看下

没有源代码,就是个程序,它只能显示用户和ip,不能自定义内容,所以想试着自己写一个。
发表于 2019-11-30 00:42:27 | 显示全部楼层
anythinging 发表于 2019-11-29 23:19
没有源代码,就是个程序,它只能显示用户和ip,不能自定义内容,所以想试着自己写一个。

那就发上exe来
 楼主| 发表于 2019-11-30 11:45:52 | 显示全部楼层
anythinging 发表于 2019-11-29 23:19
没有源代码,就是个程序,它只能显示用户和ip,不能自定义内容,所以想试着自己写一个。

1                                    

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2019-11-30 17:08:40 | 显示全部楼层
本帖最后由 anythinging 于 2019-11-30 17:09 编辑
afan 发表于 2019-11-30 12:00
10年前就有了 论坛搜索 穿透  很简单

感谢指点!可以了,还有个问题,怎样能把这个label字做的透明些呢?这个程序的字好象是空心的,查了公共样式和扩展样式好象都达不到效果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-11-30 21:29:01 | 显示全部楼层

你发的程序就是一个自绘文字和一个 UpdateLayeredWindow分层。
 楼主| 发表于 2019-12-1 08:54:45 | 显示全部楼层
afan 发表于 2019-11-30 17:25
_WinAPI_SetLayeredWindowAttributes 第三个参数……

还想请教个问题,能否将
$waterLabel001        =        GUICtrlCreateLabel('水印测试水印测试水印测试水印测试水印测试', 200, 400, 1000, 100)
调整下角度?谢谢!
 楼主| 发表于 2019-12-1 10:15:53 | 显示全部楼层
haijie1223 发表于 2019-11-30 21:29
你发的程序就是一个自绘文字和一个 UpdateLayeredWindow分层。

谢谢,能用简单的代码实现吗?
发表于 2019-12-1 11:05:41 | 显示全部楼层
anythinging 发表于 2019-12-1 10:15
谢谢,能用简单的代码实现吗?

a版给你的代码就是简单地,你上传的那个exe的代码,比这个要麻烦的多。一堆的gdi。
发表于 2019-12-1 11:12:59 | 显示全部楼层
anythinging 发表于 2019-12-1 08:54
还想请教个问题,能否将
$waterLabel001        =        GUICtrlCreateLabel('水印测试水印测试水印测 ...

控件不能旋转,这些都是画上去的。
本来 SetLayeredWindowAttributes 这种靠滤色完成透明的就不适合文本,会有锯齿或毛边
要想完美,都得自行绘制,那样既美观还可以各种变形,包括使用路径绘制中空文字等等
多看看帮助文档里面关于 GDI GDI+ API 绘制文本方面的示例,论坛也有N多绘制文本字符串的帖子
作品功能越简单就越要用心做到完美,否则就是简陋了
 楼主| 发表于 2019-12-1 15:46:57 | 显示全部楼层
明白了,感谢各位的指点!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 17:19 , Processed in 0.127788 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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