HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

こんにちは。

> 外部アプリケーションからHAMLOGにデータを渡せることを,つい最近知りました.

この逆の
HAMLOGにから自作アプリケーションにデータを渡すことも出来ます。
Hamlogからコールサインを受け取りEntity解析をしてHamlogに、そのEntityのCodeを送る...や
WKD/CFM状況を表示するなどの自作ソフトで利用させていただいていました。


> cds.dwData = 1 Or THW_ENTER Or THW_FOCUS 'コールサインに文字列を送ってデータを送信後ENTERキーを押し,フォーカスを移す。
> データを送るのはうまくいくのですが,
> フォーカス・アクティブが Hamlog(の入力ウィンドウ)に移らず,当然前面に出てきません.

こちらではサンプルの記述で上手く動作しています。
下記に一部を抜粋します。

Module1 の中に記述

Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As String
End Type

Public Const THW_ENTER = &H10000 ' データ送信後、ENTERキーを押したのと同じ
Public Const THW_FOCUS = &H20000 ' データ送信後、編集ボックスにフォーカス
Public Const THW_SAVEBOX_ON = &H40000 ' データ保存時、確認MessageBox表示あり
Public Const THW_SAVEBOX_OFF = &H80000 ' データ保存時、確認MessageBox表示なし
Public Const THW_APPLIhWnd = &H100000 ' メインウインドウのハンドルを返す

Public Const WM_COPYDATA = &H4A
Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal wnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As COPYDATASTRUCT) As Long



送るコマンドにて
cmmd = 15 Or THW_ENTER Or THW_FOCUS
cds.dwData = cmmd
cds.cbData = LenB(Trim(cbuff)) / 2 ' 文字列の長さ
cds.lpData = cbuff
hHwnd2 = SendMessage(HamloghWnd, WM_COPYDATA, DX_chk_hwnd, cds)

lRet = SetWindowPos(hHwnd2, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)

2014/02/09(Sun) 08:31:55  [No.397]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー