HAMLOG プログラム開発室


一括表示
タイトル
記事No
投稿日
投稿者

Th527api HamlogMs.txt  cmmd = 20
939
2021/10/01(Fri) 16:51:01
JA2BQX 太田
こんにちは。
VB2019 です。

Th527api HamlogMs.txt の説明で
「cmmd = 20 指定したレコード番号の修正ウインドウを表示させます。」を実行してから 
 「 21 = 修正ウインドウにデータを送ります。15番と同じ」にて
文字列を送るところまでは成功しました。

その後に修正ウインドウを閉じようとしても表示されたままで
閉じてくれません。ソフトから自動で閉じたいのですが
やり方がどこか違うのでしょうか? それとも閉じるコマンドが無い?


cmmd = 20
cds.dwData = cmmd
cbuff = thw_last_number_str 'vbNullString
cds.cbData = thw_last_number_val
cds.lpData = cbuff
Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA, Me.Handle, cds)

Dim send_str_Len As Integer

cmmd = 21
cmmd = cmmd Or THW_FOCUS
cmmd = cmmd Or THW_ENTER
cmmd = cmmd Or THW_SAVEBOX_OFF 'くどいが...
cds.dwData = cmmd
cbuff = label4_tmp
send_str_Len = Microsoft.VisualBasic.Len(label4_tmp)
cds.cbData = send_str_Len + 1
cds.lpData = cbuff
Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA, Me.Handle, cds)
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Th527api HamlogMs.txt  cmmd = 20
940
2021/10/03(Sun) 06:35:43
JA9AOB 銅子
>
> その後に修正ウインドウを閉じようとしても表示されたままで
> 閉じてくれません。ソフトから自動で閉じたいのですが
> やり方がどこか違うのでしょうか? それとも閉じるコマンドが無い?
>
> Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA, Me.Handle, cds)

Win API で如何ですか  ウィンドウ ハンドル を得て SendMessage
Call SendMessage(lngWindowHandle, WM_CLOSE, 0, 0)
を使えばいいのでは
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: Th527api HamlogMs.txt  cmmd = 20
941
2021/10/03(Sun) 08:25:11
JA2BQX 太田

JA9AOB 銅子さん、何時もありがとうございます。

> Win API で如何ですか  ウィンドウ ハンドル を得て SendMessage
> Call SendMessage(lngWindowHandle, WM_CLOSE, 0, 0)
> を使えばいいのでは

cmmd を使う事ばかり考えていました。上記で上手く行きました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Th527api HamlogMs.txt  cmmd = 20
942
2021/10/04(Mon) 15:40:15
JA9AOB 銅子
> JA9AOB 銅子さん、何時もありがとうございます。
>
> > Win API で如何ですか  ウィンドウ ハンドル を得て SendMessage
> > Call SendMessage(lngWindowHandle, WM_CLOSE, 0, 0)
> > を使えばいいのでは
>
> cmmd を使う事ばかり考えていました。上記で上手く行きました。

上手く行きましたか 何よりです。WSJT-X やJTDX はこのハンドル操作が出来ないので、苦労しています。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Th527api HamlogMs.txt  cmmd = 20
943
2021/10/05(Tue) 09:00:14
JG1MOU浜田
> 上手く行きましたか 何よりです。WSJT-X やJTDX はこのハンドル操作が出来ないので、苦労しています。

最近の開発ソフトだとそうなのかも入れませんね。

実は、JT_Linkerのウインドウハンドルを取得することができたのですが、
WM_CLOSE送っても終了してくれないので、自前でやるか。
と作ったのがJT-Get'sだったりします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Th527api HamlogMs.txt  cmmd = 20
944
2021/10/05(Tue) 13:03:39
JA9AOB 銅子
> > 上手く行きましたか 何よりです。WSJT-X やJTDX はこのハンドル操作が出来ないので、苦労しています。
>
> 最近の開発ソフトだとそうなのかも入れませんね。
>
> 実は、JT_Linkerのウインドウハンドルを取得することができたのですが、
> WM_CLOSE送っても終了してくれないので、自前でやるか。
> と作ったのがJT-Get'sだったりします。
WSJT-X や JTDX の テキストボックスやボタンのウインドウハンドルはある方法でを取得することが出来るのですが、Spy++ では全く認識出来ません。Spy++で認識出来れば messegeを送る事が出来るのですが、認識出来ないものは送れません。それでも太田さんのアドバイスでテキストを読み書きしたりは無理無理出来そうです、やり方が悪いのか、上手く行かない場合も発生します。非同期で動いているプログラム間の処理なので、なにか同期を取らないといけないのだと思いますが、具体的にどうしたらいいのかさっぱりです。いずれにしても、他のシステムに無断で入り込んで制御出来ると言う事は、ウィルスと見られても仕方がないので、これを出来ないように変化しているのではないでしょうか。
聞くところによると、Edgeなどは一般人にはアクセスできない保護エリアにインストールされているとかです。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Th527api HamlogMs.txt  cmmd = 20
945
2021/10/05(Tue) 18:52:03
JA2BQX 太田
こんばんは。

> 聞くところによると、Edgeなどは一般人にはアクセスできない保護エリアにインストールされているとかです。

そうなのでしょうか、ちょっと探したら下記にあるようですが。
Win10 64Bit PC

C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

他のフォルダにも msedge.exe はありますね。

このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Th527api HamlogMs.txt  cmmd = 20
946
2021/10/06(Wed) 07:09:08
JA9AOB 銅子
> こんばんは。
>
> > 聞くところによると、Edgeなどは一般人にはアクセスできない保護エリアにインストールされているとかです。
>
> そうなのでしょうか、ちょっと探したら下記にあるようですが。
> Win10 64Bit PC
>
> C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
>
> 他のフォルダにも msedge.exe はありますね。
>
>
本当だ クリックすると表示される。
でも、プログラム内で起動しようと思うと従来のIEとは全く異なった方法で無いと起動出来ません。その説明に何か書いてあったような気がしたので調べもしないで書きました。
Edgeはユニバーサル Windows プラットフォーム (UWP) アプリ と言う事で説明を読んでも良く分からない内容です、段々手に負えません。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop