今天在看雪看到有人提出这样一个问题:delphi中treeview的修改
原文如下:
———————————————————————————————————————-
最近朋友拿给我一个软件,其中有一个地方感觉很奇怪。
软件下载地址http://www.1and1-mail.com/download/1and1MailFree3.0.exe
运行程序后,在最左边有个1and1 mail的水印。通过资源查看工具得知是一个OnCustomDraw事件控制的。资源查看器中对应的代码如下:
object trvTask: TTreeView
Left = 0
Top = 0
Width = 153
Height = 305
Align = alClient
AutoExpand = True
BevelInner = bvNone
BevelOuter = bvNone
HideSelection = False
Images = ResourceForm.SmallImageList
Indent = 19
ParentShowHint = False
ReadOnly = True
ShowHint = True
ShowLines = False
StateImages = ResourceForm.SmallImageList
TabOrder = 0
OnChange = trvTaskChange
OnCustomDraw = trvTaskCustomDraw
Items.NodeData = {
0304000000260000005600000056000000FFFFFFFFFFFFFFFF00000000000000
00000000000104636B2857D1530190240000005700000057000000FFFFFFFFFF
FFFFFF0000000000000000000000000103F25DD1530190240000005900000059
000000FFFFFFFFFFFFFFFF000000000000000000000000010349833F7AB17B24
0000005800000058000000FFFFFFFFFFFFFFFF00000000000000000000000001
03DE563665D97A}
end
现在的问题是,怎么才能修改这个水印的内容或者颜色或者直接去掉这个水印。
我试过直接去掉OnCustomDraw = trvTaskCustomDraw这句,可以实现去掉的目的,但在他软件的地址薄中会提示出错。各位大侠有没有完美些的解决方法。
—————————————————————————————————————————————
我分析的是:
Images = ResourceForm.SmallImageList 这句应该是关键,去ResourceForm看看SmallImageList里面是什么数据,估计水印是一个图片,把他去掉保留其他的就ok。
但实际把ImageList数据读出后发现没有水印这块,故猜测水印是动态生成的。
继续关注这个问题,至少学到一招,就是软件发布一定要加壳保护,另外动态生成产权保护的信息(如此例中的水印标签)
相关资源:邦仁桶装水软件(送水管理系统)_送水站信息管理系统c++-餐饮零售…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!