一括表示

任意の Log ウインドウを開く 投稿者:JA2BQX 太田 

何時もお世話になります。
任意の Log ウインドウを開くにはどうしたら良いでしょうか?
通常は Hamlog を起動して Enter キーを押すと Log-A ウインドウが開きますが
これをユーザーが指定した、例えば Log-A は自動で閉じて、Log-C を開くにはどうしたら良いでしょうか?
その Log-C とデータのやり取りをしたいです。

2023/07/22(Sat) 07:23:53  [No.1051]


Re: 任意の Log ウインドウを開く 投稿者:JA9AOB 銅子 

> 何時もお世話になります。
> 任意の Log ウインドウを開くにはどうしたら良いでしょうか?
> 通常は Hamlog を起動して Enter キーを押すと Log-A ウインドウが開きますが
> これをユーザーが指定した、例えば Log-A は自動で閉じて、Log-C を開くにはどうしたら良いでしょうか?
> その Log-C とデータのやり取りをしたいです。

Win32 API を使って Hamlogの テキストが LOG-[C] 等のウィンドウを探す方法では如何ですか。 外部からはAPIが公開されていないと作成は無理です。ウィンドウ・ハンドルを取得すれば これで操作出来ますが。

2023/07/23(Sun) 14:01:12  [No.1052]


メインメニューのヘルプ(H) の右側に使用データが表示されていれば、
そこからいけます。
LOG-[E]を表示させるには、Alt+D Alt+E です。

使用データが表示されていなければ、表示メニューにあったような・・・。

2023/07/23(Sun) 18:45:06  [No.1053]


Re: 任意の Log ウインドウを開く 投稿者:JA2BQX 太田 

こんばんは。
早速ありがとうございます。

> メインメニューのヘルプ(H) の右側に使用データが表示されていれば、
> そこからいけます。

これは確認しました。

> LOG-[E]を表示させるには、Alt+D Alt+E です。

これも確認しました。


> 使用データが表示されていなければ、表示メニューにあったような・・・。

これは未確認です。

[ ALT + D ] + [ ALT + E ] をVB.netで操作すれば出来そうですね。
ありがとうございます。 明日にでも試してみます。

2023/07/23(Sun) 19:27:35  [No.1054]


Re: 任意の Log ウインドウを開く 投稿者:JA2BQX 太田 

銅子さん、こんばんは。  何時もお世話になります。

> Win32 API を使って Hamlogの テキストが LOG-[C] 等のウィンドウを探す方法では如何ですか。 外部からはAPIが公開されていないと作成は無理です。ウィンドウ・ハンドルを取得すれば これで操作出来ますが。

WinIDで調べると LOG-[C] 等の文字列が全角なので文字化けします。

VB.netでウインドウをサーチしても全角なので文字化けするのでは?
まだ実際には試していないので、明日にでも浜田さんご指摘の方法と
合わせて試してみます。

2023/07/23(Sun) 19:33:00  [No.1055]


Re: 任意の Log ウインドウを開く 投稿者:JA9AOB 銅子 

> 銅子さん、こんばんは。  何時もお世話になります。
>
> > Win32 API を使って Hamlogの テキストが LOG-[C] 等のウィンドウを探す方法では如何ですか。 外部からはAPIが公開されていないと作成は無理です。ウィンドウ・ハンドルを取得すれば これで操作出来ますが。
>
> WinIDで調べると LOG-[C] 等の文字列が全角なので文字化けします。
>
> VB.netでウインドウをサーチしても全角なので文字化けするのでは?
> まだ実際には試していないので、明日にでも浜田さんご指摘の方法と
> 合わせて試してみます。

本当だ 全角ですね。
でもC#では
// hWin のCaptionを得る
public string GetWinCaption(IntPtr hWnd)

{ StringBuilder title = new StringBuilder(1048);
GetWindowText(hWnd, title, 1024);
return title.ToString();
}

// ウィンドウハンドルから Captionを得る
[DllImport("user32.dll", BestFitMapping = false, ThrowOnUnmappableChar = true)]
internal static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int length);
 
で取り出して 6番目の文字を "A" "B" "C" と比較で判断出来ています。
お試し下さい 

2023/07/23(Sun) 21:08:21  [No.1056]


入力ウインドウのCaptionには、リグを識別するための文字列を表示しています。
https://hamlog.sakura.ne.jp/html/HID00108.html

6番目の文字、という条件なら大丈夫ですが。

2023/07/24(Mon) 06:46:10  [No.1057]


Re: 任意の Log ウインドウを開く 投稿者:JA2BQX 太田 

ありがとうございます。
私が公開している eQSL2Thw のレポートが来たので修正作業が必要になりました。
そちらの対応を先にさせて頂きます。

2023/07/24(Mon) 10:53:57  [No.1058]