0
私のwpfインターフェイスの位置を取得したいと思います。このコードはC#2.0でも動作しますが、C#4.0でエラーを報告します。ここにコードがあります。wpfのGetWindowRect
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetWindowRect(HandleRef hWnd, out RECT lpRect);
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
}
Rectangle myRect = new Rectangle();
private void button1_Click(object sender, System.EventArgs e)
{
RECT rct;
if(!GetWindowRect(new HandleRef(this, this.Handle), out rct)) //Here is the error
{
MessageBox.Show("ERROR");
return;
}
MessageBox.Show(rct.ToString());
myRect.X = rct.Left;
myRect.Y = rct.Top;
myRect.Width = rct.Right - rct.Left + 1;
myRect.Height = rct.Bottom - rct.Top + 1;
}
何**です**エラーコード? – Stormie
エラーは何ですか? – krlzlx
エラーは "ハンドル"の定義に含まれていません。 – HaoHuaqing