找回密码  加入

QQ登录

只需一步,快速开始

AUTOIT CN

搜索
查看: 115|回复: 14

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

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

今天看到一个屏幕水印的程序,好象是ahk做的。自己尝试做了下,弄成一个全屏的gui,然后加点label文字,调成透明设置最前,结果文字发现影响点击。再看参考对象,好象在任何一个窗口上都不是最前,但却能显示出来,因此不影响点击。请各位大神指点,优化下,谢谢!
这个有90%神似了,但就差这么一点点儿

  1. $WaterMark = GUICreate("水印",@DesktopWidth,@DesktopHeight,0,0,BitOR($WS_CHILD, $WS_POPUP),$WS_EX_LAYERED+$WS_EX_TOPMOST)
  2.         GUISetBkColor(0x444444)
  3.         _WinAPI_SetLayeredWindowAttributes($WaterMark, 0x444444)
  4.         $waterLabel001        =        GUICtrlCreateLabel('水印测试水印测试水印测试水印测试水印测试', 200, 400, 1000, 100)
  5.         GUICtrlSetFont(-1, 32, 400, 1,'微软雅黑')
  6.         GUICtrlSetColor(-1, 0xFFFFFF);
  7.         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  8.         GUISetState(@SW_SHOW)
复制代码



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

点评

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

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-30 12:00:42 | 显示全部楼层
10年前就有了 论坛搜索 穿透  很简单
回复 支持 1 反对 0

使用道具 举报

发表于 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                                    

本帖子中包含更多资源

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

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

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

本帖子中包含更多资源

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

x
发表于 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, 2019-12-10 03:16 , Processed in 0.093751 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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