窗口消息传递到遗留应用程序

时间:2011-05-06 03:16:10

标签: windows-messages

我开发了一个使用WindowsMessage控制其他窗口的应用程序。它与我的示例应用程序一起成功运行,该应用程序由C#构建。 但是,然后我尝试使用由VB6.0开发的旧窗口配置我的控制应用程序。这里我有2个问题,

1)以下方法返回false并且未更新textfield。

 IntPtr wParam = IntPtr.Zero;
 IntPtr lParam = Marshal.StringToHGlobalAuto(text);
 bool retVal = Convert.ToBoolean(SendMessage(handle, WM_SETTEXT, wParam, lParam));

有人能帮我解决一下吗?

2)当我在遗留应用程序中扫描子控制器时(使用窗口消息),我发现一些控制器的类名是 ThunderRT6FormDC ThunderRT6UserControlDC 。这些控制器是什么?

1 个答案:

答案 0 :(得分:2)

2) ThunderRT6FormDC ThunderRT6UserControlDC 是Visual Basic特定的类名:VB来自一个名为Thunder的原始项目,所以这个名字很多位和VB代码片段。许多VB窗口类的名称都包含 Thunder ,包括您看到的2个。

1)我的期望是你提取的句柄没有指向正确的窗口:你是使用Spy ++或类似的工具来查看VB6窗口并确定正确的文本窗口,还是你将焦点设置为发送WM_SETTEXT消息之前的文本窗口?