DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
親記事をトピックトップへ
]
このトピックに書きこむ
過去ログには書き込み不可
[ トピック内全3記事(1-3 表示) ] <<
0
>>
■33475
/ inTopicNo.1)
Re[2]: 外部アプリのマウスクリック無効化について。
▼
■
□投稿者/ 谷沢
一般人(2回)-(2016/08/26(Fri) 15:56:47)
魔界の仮面弁士さん
ありがとうございました。
大変勉強になりました。
おかげさまで解決いたしました。
■
No33474
に返信(魔界の仮面弁士さんの記事)
引用返信
削除キー/
編集
削除
■33474
/ inTopicNo.2)
Re[1]: 外部アプリのマウスクリック無効化について。
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1048回)-(2016/08/26(Fri) 13:49:07)
2016/08/26(Fri) 13:54:35 編集(投稿者)
■
No33473
に返信(谷沢さんの記事)
> hwnd = FindWindow(vbNullString, caption)
> Return CType(hwnd, IntPtr)
FindWindow を As Long で受け取り、それを IntPtr に変換するのではなく、
FindWindow の宣言自体を As IntPtr にするべきです。
> マウスのクリックイベントの無効化が出来ませんでした。
ENABLEDをFalseにしたいのは、'A' (VB 側)でしょうか。
それとも 'B' (C++ 側)でしょうか。
B だとしたら、EnableWindow を呼び出してみてはいかがでしょう。
現在の状態は IsWindowEnabled です。
> 前面に移動する事を制御したい
このあたり。
http://www.ailight.jp/BBSDetail/Index/6bf91ba1-87d0-46a9-9f02-28490782bd04
引用返信
削除キー/
編集
削除
■33473
/ inTopicNo.3)
外部アプリのマウスクリック無効化について。
▲
▼
■
□投稿者/ 谷沢
一般人(1回)-(2016/08/26(Fri) 12:39:06)
環境/言語:[OS : Windows 7 / 言語 : Visual Basic .NET / .NET Framework : 3.5]
分類:[.NET]
【解決したい問題】
C++ で作られた'B'のアプリケーションを'A'の vb.netで作られたアプリケーションから起動させて、その表示位置を変更後、ENABLEDをFalseにして'B'画面をマウスでクリックした際に、呼び出し元の'A'フォームよりもも'B'フォームの画面が前面に出てしまうことを避けるようにしたいと考えています。
'A'フォームから'B'フォームを起動させて表示位置を変更するところ
までは成功したのですが、'B'フォームをマウスでクリックした際に前面に移動する事を制御したいのですが、方法がわかりません。
'B'フォームの起動は
System.Diagnostics.Process.Start("c:\bin\demo.exe")
で行い、起動後に
Public Function GetHDL(ByVal caption As String) As IntPtr
'TfrmMain Teknova
Dim hwnd As Long
hwnd = FindWindow(vbNullString, caption)
Return CType(hwnd, IntPtr)
HDL=GetHDL( "Teknova")でハンドル'HDL'を取得しています。
次に、MoveWindow(HDL, 400, 210, 800, 600, 1)でフォームの移動を
おこないました。
以上のように'B'フォームのハンドルを取得して移動するまでは出来たのですが、マウスのクリックイベントの無効化が出来ませんでした。
不慣れな質問のため、趣旨をお伝えしきれていないかもしれませんが、
ご教授いただければ幸いです。
'
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-