C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: GetWindowLongの使い方について


(過去ログ 139 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■81920 / inTopicNo.1)  GetWindowLongの使い方について
  
□投稿者/ glanheit (9回)-(2016/11/24(Thu) 00:08:31)

分類:[C#] 

質問させていただきます。

以前質問をさせていただいたのですが、記述方法が分からなかったので再度詳しく質問させていただきます。

アクティブウィンドウが最前面表示になっているかなっていないかの確認をGetWindowLongでしたいと思っています。
アクティブウィンドウ自体は
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();

IntPtr hWnd = GetForegroundWindow();で取得できるのですがその後がわかりません。

どのように記述すればよいのでしょうか?

引用返信 編集キー/
■81922 / inTopicNo.2)  Re[1]: GetWindowLongの使い方について
□投稿者/ WebSurfer (1076回)-(2016/11/24(Thu) 09:47:38)
No81920 (glanheit さん) に返信

> 以前質問をさせていただいたのですが、記述方法が分からなかったので再度詳しく質問させていただきます。

「以前質問」のスレッドの URL を書いていただけませんか?
引用返信 編集キー/
■81923 / inTopicNo.3)  Re[1]: GetWindowLongの使い方について
□投稿者/ 魔界の仮面弁士 (980回)-(2016/11/24(Thu) 10:21:30)
No81920 (glanheit さん) に返信
> アクティブウィンドウが最前面表示になっているかなっていないかの確認をGetWindowLongでしたいと思っています。

[DllImport("user32", CharSet = CharSet.Auto, EntryPoint = "GetWindowLong")]
private static extern IntPtr GetWindowLongPtr32(IntPtr hWnd, int nIndex);

[DllImport("user32", CharSet = CharSet.Auto, EntryPoint = "GetWindowLongPtr")]
private static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex);

public static bool IsTopMost(IntPtr hWnd)
{
 const int GWL_EXSTYLE = -20;
 int WS_EX_TOPMOST = 8;
 if (IntPtr.Size == 4)
 {
  return (GetWindowLongPtr32(hWnd, GWL_EXSTYLE).ToInt32() & WS_EX_TOPMOST) != 0;
 }
 else
 {
  return (GetWindowLongPtr64(hWnd, GWL_EXSTYLE).ToInt64() & (long)WS_EX_TOPMOST) != 0L;
 }
}

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -