HAMLOG プログラム開発室


新着表示
タイトル
記事No
投稿日
投稿者

Re: CQ 1 2 のチェックボックスの操作
569
2014/09/19(Fri) 21:27:13
JG1MOU浜田
> VC++ でHamlogとのやり取りするものを取り組んでいます
> CQ 1 2 のチェックボックスの操作(アプリからHamlog操作)が分かりません。DLLの仕様書Th523api以降に追加されているためだと思いますが。受信はコマンド115 で一括取得できますので、コマンド15で操作できるかやってみますがDXチェックも含めてうまくいきません。ちなみにDXの操作は25 26で可能なためこれら3件もコマンドが割り振られているのかも知れないのですが。よろしくお願いいたします。

CQ 1 2 のチェックボックスの操作は、未実装でした。
ちょっと作ってみました。お試しください。
http://hamlog.no.coocan.jp/mou/soft/Hamlogw.zip

コマンド25
  文字列の先頭バイトが1又は'1'
    入力ウインドウのCQのチェックボックスをON
  文字列の先頭バイトが2又は'2'
    入力ウインドウの1のチェックボックスをON
  文字列の先頭バイトが3又は'3'
    入力ウインドウの2のチェックボックスをON
  文字列の先頭バイトが上記以外
    入力ウインドウのDXのチェックボックスをON

コマンド26
  文字列の先頭バイトが1又は'1'
    入力ウインドウのCQのチェックボックスをOFF
  文字列の先頭バイトが2又は'2'
    入力ウインドウの1のチェックボックスをOFF
  文字列の先頭バイトが3又は'3'
    入力ウインドウの2のチェックボックスをOFF
  文字列の先頭バイトが上記以外
    入力ウインドウのDXのチェックボックスをOFF
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: sendmessageで受信できず
568
2014/09/19(Fri) 18:30:36
JA9AOB 銅子
> データの読み取りがうまくできていません.
VBは良くわからないのですが、myhwnd のメッセージ処理にWM_COPYDAで送られてきますの、これを横取りします。VC++では
OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
でメッセージを捕捉しますがVBにも同じようなものがあるはずですが、これをやっておられますか。
message がWM_COPYDATAの時の lParam が cds のアドレスになっています。
コマンドを送るとき
X = SendMessage(Hwnd1, WM_COPYDATA, myhwnd, cds)
となっていますが、
VC++では

Result = ::SendMessage(*pWndPrev, WM_COPYDATA, (WPARAM)this->GetSafeHwnd(), (LPARAM)&cds);
cdsはアドレスで送らないといけないのですが 単に cds になっていますが、これはアプリケーションからの送信がうまくいっているのでいいのかな?。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

CQ 1 2 のチェックボックスの操作
567
2014/09/19(Fri) 09:37:15
JA9AOB 銅子
VC++ でHamlogとのやり取りするものを取り組んでいます
CQ 1 2 のチェックボックスの操作(アプリからHamlog操作)が分かりません。DLLの仕様書Th523api以降に追加されているためだと思いますが。受信はコマンド115 で一括取得できますので、コマンド15で操作できるかやってみますがDXチェックも含めてうまくいきません。ちなみにDXの操作は25 26で可能なためこれら3件もコマンドが割り振られているのかも知れないのですが。よろしくお願いいたします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: sendmessageで受信できず
566
2014/09/10(Wed) 10:43:56
JP7CZE 川辺
ちょっと忙しくて手を付けてませんが,太田さんのプログラムを参考にすると,

私のプログラムで,SendMessageの定義,
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

で,lParamの型が,Any になっているのが原因のようです.

送信の場合には問題無かったのですが,受信の場合には受け取りがうまくいっていないのではないかと思います.

あとで,型を COPYDATASTRUCT に修正してやってみます.
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: sendmessageで受信できず
565
2014/09/06(Sat) 09:34:39
JP7CZE 川辺
JA2BQX 太田さん

> VB2008でのサンプルソースなら私のHPにおいてありますが。

了解です.
参考にさせていただきます.

ありがとうございました.

わからないことがありましたら,また質問させてもらいます.
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: sendmessageで受信できず
564
2014/09/06(Sat) 08:15:16
JA2BQX 太田

JP7CZE 川辺さん、こんにちは。

> VB6で,WM_COPYDATA.txt をもとに,Hamlogのデータ入力ウィンドウとのやり取りを行なおうとしています.

VB2008でのサンプルソースなら私のHPにおいてありますが。

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

sendmessageで受信できず
563
2014/09/06(Sat) 01:01:40
JP7CZE 川辺
VB6で,WM_COPYDATA.txt をもとに,Hamlogのデータ入力ウィンドウとのやり取りを行なおうとしています.

アプリケーションからの送信の場合には,コールサインの入力や保存もできているのですが,
データの読み取りがうまくできていません.

Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As String ' void * のつもり
End Type

Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

Function GetFromHAMLOG(Command As Long) As String

Dim cmmd As Long

Dim Hwnd1, Hwnd2, myhwnd As Long

Dim cds As COPYDATASTRUCT

Dim cbuff As String * 512

Dim X As Long

Hwnd1 = FindWindow("TThwin", vbNullString)
If Hwnd1 < 1 Then ' ハムログが起動していない
Exit Function
End If

Call AppActivate("Turbo HAMLOG", 0)

cds.dwData = Command
cds.cbData = 0
cds.lpData = vbNullString

myhwnd = FormTempLog.hwnd '作成中のプログラムのハンドル

X = SendMessage(Hwnd1, WM_COPYDATA, myhwnd, cds)

GetFromHAMLOG = cds.lpData

End Function

 これを msg = GetFromHAMLOG(112) で実行すると,本来なら,QTHのデータが帰ってくるはずですが,うまくいきません.

 SendMessageの戻り値は,0以外の数字(たとえば 10749274)が帰ってきて問題ないようです.

戻り値は,
cds.cbData : 0
cds.dwData : 112
cds.lpData : ""

となっていて,dwData は,呼び出す前のままで,0または1になっていません.

dwDataが変わっていないということは,データを受け取っていないとも思いますが,myhwndがおかしいのか,どうすればいいのか,ちょっと困っています.

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

FTDX3000
561
2014/09/03(Wed) 07:35:45
jh7opt
日頃、ハムログには大変お世話になっております。

FTDX3000の接続がうまくいきません。
指導のほど、よろしくお願いします。

OS:WIN8

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

Re: MFC Ctime を VB2010 で読みたい
560
2014/08/08(Fri) 06:25:13
JA2BQX 太田
こんにちは。
お手数をお掛けしました。

00 00 80 A9 C3 B8 53 00 00 00 00 ==> 2014/07/06 12:34
80 から 53 の5バイトでは無くてA9からの4バイトを
10進数に直しMFCのCTimeの基準値である
"1970/01/01 09:00:00" 'JST に10進数に直した秒数を加算することで
求める事が出来ました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop