他のエディタにメッセージを送って行を制御するには?


MI  2006-04-30 11:54:49  No: 131196

いつもお世話になっております。
早速ですが、教えて下さい。開発環境はVB6.0です。

現在CMD/RSPが吐き出されるログファイルを読み込み、ログを解析するツールを
作成しています。そこで機能UPとして、読み込んだ結果をクリックすると他のアプリ(秀丸)等でログを開き、カーソルも該当箇所に移動させたいと思っています。
実現するにはフックが必要だとは思うのですが、過去ログを見ても見付けれませんでした。上記の機能を実現させる為の助言を皆様から頂きたいと思っております。またサンプル等をご存知でしたら教えて下さい。

長くなりましたが宜しくお願いいたします。


VB梅  2006-04-30 16:56:29  No: 131197

>他のアプリ(秀丸)等でログを開き
この必要性が私には、わかりません。

>ログを解析するツール
簡単なメモ機能を設ければ良いだけではないでしょうか?

どうしてもというのであれば
[ウインドウ  操作  API]で検索してください。

あと、解決の手がかりになるかわかりませんが
http://www.bcap.co.jp/hanafusa/VBHLP/TextEdit.htm


魔界の仮面弁士  2006-04-30 22:25:14  No: 131198

> (秀丸)等でログを開き、カーソルも該当箇所に移動させたい

hidemaru.exe /j行番号,桁番号 ログファイル名


MI  2006-05-09 06:25:48  No: 131199

出張中で長い間書き込み出来ず申し訳ないです。
VB梅様・魔界の仮面弁士様、早い回答ありがとうございます。

>ログを解析するツール
簡単なメモ機能を設ければ良いだけではないでしょうか?
→ログ解析者が普段使っているエディタを使いたいとの事で。
(ログの構成上ツールだけではまかなえ無いのが現状です。。)

>hidemaru.exe /j行番号,桁番号 ログファイル名
仮に他のエディタでも同じ事が行いたければ、APIとかを調べる必要があるのですよね?VB梅さんの[ウインドウ  操作  API]で検索してみたのですが、ちょっと分かりませんでした。


Dental  2006-05-09 08:34:08  No: 131200

> 仮に他のエディタでも同じ事が行いたければ、

「他のアプリ」が何かによって、行の指定方法は異なります。
どのアプリを使わせたいのかを、書き出してみては?

スクリーンエディタだけではなく、ラインエディタやストリームエディタまで
含めるとすれば、話は相当ややこしい事になりそうですが。

> APIとかを調べる必要があるのですよね?
Windows標準の TextBox(EditBox) や RichTextBox を使っている物なら
API でも制御できるけど…必ずしも対応する API があるとは限らないかと。


MI  2006-05-10 02:32:34  No: 131201

Dental様回答ありがとうございます。
基本的に社内で使っているのは秀丸なのでhidemaru.exe /j行番号,桁番号 ログファイル名で問題なさげです。
ただスキルアップの為にいろんなエディタ(標準のメモ帳やサクラエディタなど)でも制御できたら良いなと思っていましたので。「このやり方ならどれでも制御できる!」って物はなさそうですね。。もう少し調べてみますので解決はもう少し後にしておきます。


Dental  2006-05-10 05:49:03  No: 131202

> いろんなエディタ
"EDLIN C:\A.TXT" とかなら、標準入力から指定。
"NOTEPAD C:\A.TXT" とかだと、EM_EXSETSEL の送信。
"SAKURA C:\A.TXT" ってことなら、-X/-Yコマンドラインオプション。
"HIDEMARU C:\A.TXT" だと、先に回答のあるとおり。

そのほか、COM だったり DDE だったりで指定する物もあったりで、
まとめていったら、キリが無いと思うけど。

> 「このやり方ならどれでも制御できる!」って物はなさそうですね
たとえば、矢印キーとかを SendKeys とかで送るという方法もあるけれど、
ダイヤモンドカーソルなのとか、ラインエディタ系とかだと使えないし。

結局、エディタごとに異なる対応が必要になるはずなので、調べるにしても
どのエディタをサポートしたいのかを、先に決めてからにしないと無意味。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加