.Net Framework

ミコソフト画像ビューアAltまたまた不具合を対策

うーん、またも不具合発覚です。

今度は、関連付けによってプレビューした場合、プレビューウィンドウが、アクティブにならない不具合です。

ミコソフト画像ビューアAltは、VB.Netで開発しています。

バージョン1.1までは、多重起動の防止をアプリケーションフレームワークの「単一インスタンスのアプリケーションを作成する」オプションで、プロセス間での引数の引渡しを、StartupNextInstanceを使って行っていました。

この方法を使うと、Visual Studioでミコソフト画像ビューアAltを実行している場合は、プレビューウィンドウがアクティブになるのですが、単独で実行した場合は、プレビューウィンドウがアクティブにならなかったのです。

原因は、アプリケーションフレームワークの「単一インスタンスのアプリケーションを作成する」オプションを使用して多重起動の防止を行った場合、ファーストインスタンスがアクティブにならないため、StartupNextInstanceでプレビューウィンドウをActivateしても無効なためです。

そこで、アプリケーションフレームワークの「単一インスタンスのアプリケーションを作成する」オプションを使用せずに、セカンドインスタンスからファーストインスタンスを操作する方法をネットで検索したところ、Windows APIをによる方法がある事が判りました。

Windows APIによる方法では、セカンドインスタンスからファーストインスタンスをアクティブにするのにSetForegroundWindowを使い、引数の受け渡しにSendMessageのWM_COPYDATAを使います。また、このAPIではファーストインスタンスのウィンドウハンドルを指定する必要があるため、これの取得にFindWindowを使いました。

で、先ほど、これらの対策を行ったバージョンを公開しました。

よろしければ使ってみてください。

ダウンロードサイトURL:http://www.micosoft.jp/software/micopvalt.htm

プログラム参考サイトURL:http://bbs.wankuma.com/index.cgi?mode=al2&namber=8322&KLOG=8

| | コメント (0) | トラックバック (0)

[.Net]カラーダイアログにカスタムカラーを設定するには?

 ドキュメントには、Int32のARGBをセットするように書いてありますが、BGRとしてセットしないと正しく設定されません。

 ただし、選択された色の戻り値は、Int32のARGBになっていますので、注意が必要です。

サンプルソースコード CustomColorSample.txt (1.0K)

| | コメント (0) | トラックバック (0)

[.Net]WebBrowserクラスでAppletを動かすには?

WebBrowserクラスでAppletを動かすには、HTML記述する際に、APPLETエレメントでなく、OBJECTエレメントとして記述する。

| | コメント (0) | トラックバック (0)