C#中API调用画图的问题
目的是要画R2_NOTXORPEN模式的线条
private void Draw1()
{
Graphics g = CreateGraphics();
IntPtr hdc = g.GetHdc();
SetROP2(hdc, 10);
long aPen = CreatePen(0, 1, 16711680);
long oldP = SelectObject(hdc, aPen);//这一部时就出错了
LPPOINT pt = new LPPOINT();
MoveToEx(hdc, 10, 10, pt);
LineTo(hdc,100,10);
SelectObject(hdc, oldP);
DeleteObject(aPen);
g.ReleaseHdc(hdc);
g.Dispose();
}
对 PInvoke 函数“GSLibTest!GSLibTest.frmPaintTest::SelectObject”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。