我们可以设置窗口文本:
BOOL WINAPI SetWindowText(
__in HWND hWnd,
__in_opt LPCTSTR lpString
);
这个窗口文本是另一个应用程序的
int WINAPI GetWindowText(
__in HWND hWnd,
__out LPTSTR lpString,
__in int nMaxCount
);
我不想更改表单标题,但我想在窗口中保留自定义文本,并通过同一程序的另一个实例获取此文本。我怎样才能实现这个目标?
最佳答案
一个简单的方法是:
- 定义您自己的WM_APP message ,您的应用程序的哪个实例 A 将使用它告诉实例 B 的窗口“向我发送您的私有(private)文本”。
- 当实例 B 收到此消息时,它可以使用 WM_COPYDATA向实例 A 的窗口发送回复。
- 实例 A 从 WM_COPYDATA 接收数据并对其执行所需操作。
此方案允许您发送任意数据(只要不包含指针),前提是数据相当小(比如最多几 KB)。它也很容易实现。它缺乏的是安全控制,因此如果您必须防止坏人从您的应用程序中检索此数据,您将需要使用更耐用的东西。
关于c++ - 如何在 Window (Win32) 中保留自定义文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4593784/