1
私が持っているアプリケーションに機能を追加するには、ウィンドウスパイタイプのものを書いています。私はすべてのコードが動作しているが、時々WindowFromPointがコントロールを含むウィンドウの代わりにハンドルを返します。私の目的のために、私は主要なウィンドウを含むことにのみ関心があります。コントロールを除外する方法はありますか?または、結果がコントロールであることを検出し、ウィンドウが表示されるまで上方に再帰しますか?WindowFromPointはコントロールのハンドルを返しますが、メインウィンドウのみが必要です
私はこれをC#で行い、pinvokeには 'IntPtr'を返す' GetWindowLongPtr'があります。 'WS_CHILD'はlong型なので、どのようにフラグをチェックするためにそれらを同じフォーマットに変換できますか? – unholysampler
ウィンドウスタイルはちょうど32ビットの数字です(GWL_ *は32ビット、GWLP_ *はポインタサイズ) – Anders
@アンダーウィンドウスタイルはlong(64ビット)としてリストされます。 http://msdn.microsoft.com/en-us/library/ms632600%28v=vs.85%29.aspx 'ToInt64()'は 'WS_CHILD'に対してフラグチェックを行いました。 – unholysampler