フォームにハンドルで Form Border があるかどうかを確認したい。そして、ハンドルは別のアプリケーションからのものです。
どうすればこれを処理できますか? 私を助けてください..ありがとう!
フォームにハンドルで Form Border があるかどうかを確認したい。そして、ハンドルは別のアプリケーションからのものです。
どうすればこれを処理できますか? 私を助けてください..ありがとう!
[DllImport("user32.dll")]
extern static int GetWindowLong(IntPtr hWnd, int nIndex);
const int GWL_STYLE = -16;
const int WS_BORDER = 0x00800000; // thin border
const int WS_THICKFRAME = 0x00040000; // sizing (thick) border
public static bool NativeWindowHasBorder(IntPtr hWnd)
{
return (GetWindowLong(hWnd, GWL_STYLE) & (WS_BORDER | WS_THICKFRAME)) != 0;
}
Control
s 自体には実際にはハンドルがありません。Control.Handle
実際には親ウィンドウの.Handle
.
コントロールがバインドされているウィンドウ ハンドルを取得します。
の逆コンパイルされたソースを見ると、次のように表示されControl
ます。
internal IntPtr HandleInternal
{
get
{
return this.window.Handle;
}
}
編集
私が上で述べたことは完全に間違っています。歴史的な理由で残しておきます。
Button
これは、 aに a を付けて、それらの値をForm
調べることで非常に簡単に証明できます。IntPtr Handle
それらは違う。