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

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

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

外部アプリケーションでの操作

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

■84743 / inTopicNo.1)  外部アプリケーションでの操作
  
□投稿者/ さや (8回)-(2017/07/31(Mon) 16:21:42)

分類:[.NET 全般] 

VB.net で開発しています。(2010)


MyProcess = Process.Start(D:\○○\▲▲.exe)

で外部のアプリケーションを起動させているのですが、そのアプリケーション内でOKボタンを押したかどうかをVBのほうで把握したりすることは不可能でしょうか?

ちなみに、外部アプリケーションはフリーソフトで私が開発したものではありません。
引用返信 編集キー/
■84745 / inTopicNo.2)  Re[1]: 外部アプリケーションでの操作
□投稿者/ 魔界の仮面弁士 (1367回)-(2017/07/31(Mon) 18:56:00)
No84743 (さや さん) に返信
> そのアプリケーション内でOKボタンを押したかどうかをVBのほうで把握したりすることは不可能でしょうか?

基本的には無理でしょうね。

対応可能な場合もありますし、不可能な場合もありますが、
その手順はアプリケーションの作りによって様々です。
自力調査できないようであれば、諦めたほうが良いと思います。
https://oshiete.goo.ne.jp/qa/804452.html


相手が .NET 製アプリであれば、ManagedSpy ユーティリティの [Start Event Logging] にて、
別アプリのイベントを捉えることができますし、ManagedSpyLib 経由で利用もできたのですが、
.NET 2.0 前提のツールであるため、現行環境では残念ながら動作しません。
https://msdn.microsoft.com/ja-jp/magazine/ee210348.aspx


ひとまず、SPYXX.EXE および SPYXX_AMD64.EXE あたりでメッセージを監視してみて、
それで使えそうなメッセージが飛んでくるのなら、技術的には可能かもしれませんが
それを捉えるためには、上記 ManagedSpy の解説にあるような理由により、
VB での実装ができず、C++/CLI 等が必要になってしまいます。


WebBrowser コントロールを用いているダイアログ等であれば、VB だけでも
WM_GETOBJECT → ObjectFromLresult → IHTMLDocument2 → IHTMLInputElement
などと辿って、onclick イベントを捉えたりもできるのですが。
引用返信 編集キー/
■84750 / inTopicNo.3)  Re[2]: 外部アプリケーションでの操作
□投稿者/ さや (9回)-(2017/08/01(Tue) 07:50:37)
No84745 (魔界の仮面弁士 さん) に返信
ありがとうございます。技術的には難しいみたいですね。

じっくり考えてみます。



解決済み
引用返信 編集キー/
■84752 / inTopicNo.4)  Re[1]: 外部アプリケーションでの操作
□投稿者/ shu (1046回)-(2017/08/01(Tue) 08:20:35)
No84743 (さや さん) に返信
> で外部のアプリケーションを起動させているのですが、そのアプリケーション内でOKボタンを押したかどうかをVBのほうで把握したりすることは不可能でしょうか?
>
> ちなみに、外部アプリケーションはフリーソフトで私が開発したものではありません。
OKボタンを押したことを検知するのではなくOKボタンを押したことにより発生する内容に
注目することは出来ないのでしょうか?
引用返信 編集キー/
■84754 / inTopicNo.5)  Re[2]: 外部アプリケーションでの操作
□投稿者/ さや (11回)-(2017/08/01(Tue) 08:50:00)
No84752 (shu さん) に返信
> ■No84743 (さや さん) に返信
>>で外部のアプリケーションを起動させているのですが、そのアプリケーション内でOKボタンを押したかどうかをVBのほうで把握したりすることは不可能でしょうか?
>>
>>ちなみに、外部アプリケーションはフリーソフトで私が開発したものではありません。
> OKボタンを押したことを検知するのではなくOKボタンを押したことにより発生する内容に
> 注目することは出来ないのでしょうか?

OKボタンを押すとことにより、ある場所のファイルがコピーされ、別の場所に上書きされます。
そこに注目してみます。
引用返信 編集キー/
■84755 / inTopicNo.6)  Re[3]: 外部アプリケーションでの操作
□投稿者/ 魔界の仮面弁士 (1369回)-(2017/08/01(Tue) 09:47:48)
No84754 (さや さん) に返信
> OKボタンを押すとことにより、ある場所のファイルがコピーされ、別の場所に上書きされます。
> そこに注目してみます。

でしたら、FileSystemWatcher クラスとか、Timer で定期的に監視する方法などが有効かと思います。

「ファイルの上書き処理中」に拾ってしまうことが無いような工夫も必要ですが。
引用返信 編集キー/
■84773 / inTopicNo.7)  Re[4]: 外部アプリケーションでの操作
□投稿者/ さや (12回)-(2017/08/02(Wed) 08:49:11)
No84755 (魔界の仮面弁士 さん) に返信
> ■No84754 (さや さん) に返信
>>OKボタンを押すとことにより、ある場所のファイルがコピーされ、別の場所に上書きされます。
>>そこに注目してみます。
>
> でしたら、FileSystemWatcher クラスとか、Timer で定期的に監視する方法などが有効かと思います。
>
> 「ファイルの上書き処理中」に拾ってしまうことが無いような工夫も必要ですが。

うまくいきました。ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ