こんにちは。
int cmmd;
HWND Hwnd1, Hwnd2;
COPYDATASTRUCT cds;
char buffs[256];
char WinAppClassName[] = "TThwin";
Hwnd1 = FindWindow(WinAppClassName, NULL);
if(Hwnd1 == NULL)
{ ui->lbl_test->setText("No");
} else
{ ui->lbl_test->setText("Yes");
}
ここは何とかクリア。
Hamlog が起動していると ラベルに Yes が表示される。
起動していなければ ラベルに No が表示される。
ここからが問題で....
cmmd = 1;
//
コールサインを指定
cmmd |= THW_FOCUS;
cmmd |= THW_ENTER;
cds.dwData = cmmd;
strcpy(buffs, "JG1MOU"); // コールサイン文字列
cds.cbData = strlen(buffs) + 1; // 文字列の長さ(ヌル文字分を+1)
cds.lpData = &buffs[0]; // 文字列のポインタ
HWND hWindow = QMainWindow->winId();
Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA,(WPARAM)hWindow, (LPARAM)&cds); // <==== この行でエラーになる
説明によれば
* SendMessage()の三つ目のパラメータについて
あなたが作成する Turbo HAMLOG/Winを呼び出すアプリケーションの、ウインドウ
ハンドルを渡す。または、Turbo HAMLOG/Winからデータを得たいウインドウのハンドルを渡す
...と Hamlog の Th527apiの HamlogMs.txt に書かれています。
JTDXのメインウインドウのハンドルが必要なのかな?
それともQSOデータを転送処理をする logqso ウインドウのハンドルが必要なのかな?
ここで行き詰まっています。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!