delphi - 隐藏 VCL 类

标签 delphi class vcl handle spy

有一些程序工具,例如 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/

相关文章:

multithreading - 线程不是在Delphi的控制台应用程序中终止吗?

Delphi 客户端数据集查找/聚合

c# - 什么时候结构太大了?

algorithm - 德尔福的 LZMA

java - 检查列表类在java中是什么类型

多个变量的 C++ 初始化列表

delphi - 了解 Delphi 和 C++ Builder 中的 TBitmap.Scanline

c++ - VCL 显示不同的形式

delphi - 控件放在最上面,像TPanel 可以吗?

delphi - DataSnap XE2 服务器 - 使用 GZIP 压缩?