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

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

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

Re[3]: CreateObjectの画面を最前面に表示したい


(過去ログ 177 を表示中)

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

■101439 / inTopicNo.1)  CreateObjectの画面を最前面に表示したい
  
□投稿者/ こうべ (2回)-(2023/02/24(Fri) 17:31:13)

分類:[.NET 全般] 

VBからAccessのFormを表示しています。

AccObj = CreateObject("Access.Application")
AccObj.OpenCurrentDataBase("MDBファイルのパス")
AccObj.Docmd.OpenForm("Form名", 0, , , 1, 3, wArgs)

VBからAccessのForm表示はできていますが、最背面に隠れる場合があります。
最背面に隠れる条件は不明です。

解っている範囲
Windows XPでは隠れない、Windows10では隠れる場合がある(隠れる条件は不明)。

AccessのFormを最前面に表示される方法を教えてください。

Visual Studio 2008、Access2003を使用しています。
引用返信 編集キー/
■101440 / inTopicNo.2)  Re[1]: CreateObjectの画面を最前面に表示したい
□投稿者/ 魔界の仮面弁士 (3570回)-(2023/02/24(Fri) 17:54:24)
No101439 (こうべ さん) に返信
> AccObj = CreateObject("Access.Application")

AccObj の hWndAccessApp メソッドから得られるウィンドウハンドルを使って
BringWindowToTop API / SetForegroundWindow API を呼び出してみてください。

手順的には過去ログ No63258 あたり。
API 宣言が省略されている上に C# ですが…。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=63230&KLOG=107
引用返信 編集キー/
■101455 / inTopicNo.3)  Re[2]: CreateObjectの画面を最前面に表示したい
□投稿者/ こうべ (3回)-(2023/02/27(Mon) 10:37:27)
No101440 (魔界の仮面弁士 さん) に返信
> ■No101439 (こうべ さん) に返信

ありがとうございました。
解決できました。

対策前、最前面に表示されたり、最背面に表示されりした原因は何だったのでしょうか?
条件だけでも知りたいとおもいました。
解決済み
引用返信 編集キー/
■101456 / inTopicNo.4)  Re[3]: CreateObjectの画面を最前面に表示したい
□投稿者/ 魔界の仮面弁士 (3571回)-(2023/02/27(Mon) 12:02:23)
No101455 (こうべ さん) に返信
> 対策前、最前面に表示されたり、最背面に表示されりした原因は何だったのでしょうか?

背面になるのはともかく、最背面になるのは他のソフトとの相性問題かもしれません。

最前面にならない理由ですが、ユーザーがテキスト入力やダイアログ操作などといった、
何らかの処理中タイミングで別のウィンドウが前面表示されると誤操作に繋がるため、
Windows 2000 以降では画面切り替えに対して、幾つかの制限が付けられています。下記の解説を参照。
https://learn.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-allowsetforegroundwindow


過去ログは既にデッドリンクだらけなので、代替リンクを貼っておきます。

No63703 に載せた KB2763075
https://support.microsoft.com/ja-jp/topic/0618099f-3b7e-7140-517e-d3b545250047

KB63230 に載せた KB886217
https://bit.ly/MSKB886217


その他関連情報
https://kobewing.com/windows10/t114/
http://www.yakushima-tonbo.com/windows/Windows10/Customize/index.html#cust_02
https://intaa.net/archives/5118
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -