我们可以设置窗口文本:
BOOL WINAPI SetWindowText(
__in HWND hWnd,
__in_opt LPCTSTR lpString
);
这个窗口由另一个应用程序发送
int WINAPI GetWindowText(
__in HWND hWnd,
__out LPTSTR lpString,
__in int nMaxCount
);
我不想更改我的表单标题,但我想在窗口中保留自定义文本,并通过同一程序的另一个实例获取此文本。我怎样才能做到这一点?
答案 0 :(得分:3)
一种简单的方法是:
此方案允许您发送任意数据(只要它不包含指针),前提是数据相当小(比如几KB顶部)。它也很容易实现。它缺少的是安全控制,所以如果你必须防止坏人从你的应用程序中检索这些数据,你将需要使用更重的东西。
答案 1 :(得分:1)
我不确定,但我认为你必须使用openProcess
打开其他进程,然后在进程句柄上使用一些函数来获取标题文本。获得文本后,您可以在应用程序中使用它。要获得所需流程的流程,您可以使用EnumProcess
,这是一个完整的示例:http://msdn.microsoft.com/en-us/library/ms686701%28v=vs.85%29.aspx
答案 2 :(得分:1)
最简单的方法可能是在WM_APP范围内定义一条Windows消息,并将其从一个实例发送到另一个实例。你必须使用像GlobalAlloc这样的东西进行自己的编组。