在调用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());
}
}
}