我在调用 SendMessage(WM_SETTEXT..) API 时遇到问题,我们的客户端机器抛出错误。它在其他客户的机器和我们这里的所有机器上都可以正常工作。抛出的错误是 System.Security.Permissions.SecurityPermission。我用谷歌搜索,但找不到任何关于原因的参考资料。即使 hwnd 没有指向真正的窗口,我的测试也没有错误。任何帮助,将不胜感激。
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, string lParam);
...
private void RegisterWithCaller()
{
if (this.hwndCaller != IntPtr.Zero)
{
if (FormMode.DELIVERY == this.formMode)
{
SendMessage(this.hwndCaller, WM_SETTEXT, 0, "hWndInvoiceDisplay=" + this.txtCommunicate.Handle.ToInt32().ToString());
}
else
{
SendMessage(this.hwndCaller, WM_SETTEXT, 0, "hWndBOLsDisplay=" + this.txtCommunicate.Handle.ToInt32().ToString());
}
}
}