有一些编程工具,如WinSpy++,它允许您将鼠标悬停在任何控件/组件的句柄上,并返回该句柄的类名。例如,如果我将一个TMemo放在Delphi窗体上并编译应用程序,如果我使用WinSpy++并将鼠标悬停在该应用程序上(在备忘录上方),它将显示编辑器的类名为TMemo。
现在,假设我不想让任何人使用这样的程序来确定我在应用程序中使用的组件,我该如何防止类名出现在工具中,比如WinSpy++?
我这样问是因为我不想让任何人轻易地创建我可能创建和发布的任何应用程序的克隆,如果我正在使用的组件的类名被发现,这将使他们的任务变得更容易,因为他们知道要使用什么。
简单地说,我如何才能对WinSpy++等外部查看器工具隐藏我在Delphi应用程序中使用的VCL的类名。
可在此处找到WinSpy++:http://www.catch22.net/software/winspy
为了添加,我知道我可以自定义派生这些组件,以将类名称更改为我自己的名称,但它们必须是一种更简单的方式。
发布于 2011-05-11 20:50:02
您可以覆盖CreateParams并将您自己的类名放入Params.WinClassName中。缺省行为在TWinControl.CreateParams中实现
with Params do
...
StrPCopy(WinClassName, ClassName);https://stackoverflow.com/questions/5964400
复制相似问题