|
分類:[.NET 全般]
C#で作成したWindowsフォームアプリに別のアプリからメッセージを送るために以下のようにAPIを使ってウィンドウハンドルを取得しました。
FindWindow(null, "ウィンドウキャプション")
今度はクラス名を使ってハンドルを取得しようとしました。 このフォームのクラス名はForm1ですので以下のようにしましたがハンドルの取得に失敗しました。 FindWindow("Form1", null)
SPY++で調べるとこのフォームのクラス名が以下のようになっていました。 WindowsForms10.Windows.8app.0.・・ SPY++で取得したクラス名を設定するとハンドルが取得できました。
フォームやフォーム上のコントロールのクラス名もプログラムソースとは違ったものになっていました。 SPY++で取得できるクラス名(本当のクラス名?)を開発者が設定することは可能でしょうか?
|