質問

私のC#のDLL内のメソッドを呼び出すソフトウェアがあります。このDLLの方法で私は私のdllを呼び出したプログラム/ウィンドウのウィンドウハンドルを持っている必要があります。

この "呼び出してウィンドウハンドル" を取得する方法?

ありがとうございます。

役に立ちましたか?

解決

このメインウィンドウハンドルを返すことができます。

System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
私が知っているように、それはFormオブジェクトよりも多くませんので、

具体的なウィンドウを取得する方法はありません。 しかし、Formクラスは、プロパティHandleを持っています。あなたはDLLのメソッド呼び出しの引数として渡すことができます。

他のヒント

あなたがすることはできません:Windowsはメソッドを呼び出すことはありません、コードがメソッドを呼び出します。

あなたは、理想的には、あなたの方法にウィンドウハンドルパラメータを追加する必要があります。それは絶対に不可能だ場合は、現在のスレッドのアクティブウィンドウを取得するには、たとえば、GetActiveWindow API関数を使用することができます。これは、動作が保証されていません。多分何のウィンドウが開いてありません。

あなたはのウィンドウハンドルを何が必要ですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top