我的应用程序并不总是收到SendMessage消息

时间:2014-05-09 17:33:37

标签: c# sendmessage

我正在使用较旧的vb6应用程序和c#中的新应用程序,并使用SendMessage在它们之间发送消息,c#程序在vb6应用程序中作为表单运行。

有时候,并没有我能看到的模式,消息不会被发送到c#程序。这通常可以通过单击任务栏中的c#程序然后返回到vb6应用程序并再次尝试它将再次开始工作来纠正。

当它不工作时,我可以在WndProc方法中放置一个断点,看看它没有触发。

我一直无法弄清楚如何使这种沟通不一致。

代码处理:

protected override void WndProc(ref Message message)
    {
        if (message.Msg == 0x400 + 5)
        {
            if (message.LParam != (IntPtr)0)
            {
                StringBuilder += (char)message.LParam;
            }
            else
            {
                handleIncMessage(StringBuilder);
                StringBuilder = "";
            }
        }

        //be sure to pass along all messages to the base also
        base.WndProc(ref message);
    }

我尝试了这种方法:https://stackoverflow.com/a/7033382/821665但不幸的是它没有用。

0 个答案:

没有答案