有一些程序工具,例如 WinSpy++,它允许您将鼠标悬停在任何控件/组件的句柄上并返回该句柄的类名。例如,如果我将 TMemo 放在 Delphi 表单上并编译应用程序,如果我使用 WinSpy++ 并将鼠标悬停在应用程序上(备忘录上方),它将显示编辑器的类名称为 TMemo。
现在,假设我不希望任何人使用此类程序来确定我在应用程序中使用的组件,我将如何防止类名出现在 WinSpy++ 等工具中?
我问这个问题是因为我不希望任何人轻松创建我可能创建和发布的任何应用程序的克隆,如果发现我正在使用的组件的类名,这将使他们的任务变得更容易,因为这样他们就知道要使用什么。
简单地说,如何从 WinSpy++ 等外部查看器工具中隐藏我在 Delphi 应用程序中使用的 VCL 的类名。
WinSpy++ 可以在这里找到:http://www.catch22.net/software/winspy
补充一下,我知道我可以自定义派生这些组件以将类名称更改为我自己的,但它们一定是一种更简单的方法。
最佳答案
您可以重写CreateParams
并将您自己的类名放入Params.WinClassName
中。默认行为在 TWinControl.CreateParams
中实现:
with Params do
...
StrPCopy(WinClassName, ClassName);
关于delphi - 隐藏 VCL 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5964400/