|
分類:[VB6 以前]
AutoCADのコマンドラインにメッセージを送るソフトを作成していますが、 CADのバージョンによって、正常に動作する場合と、全然反応しない場合はあります。 特に2004LTは動作しますが、2006LTはダメでした。 OSとの相性なのか、かじったばかりのため皆目見当がつきません。 反応しない場合とはどうゆうときなのか、どのように対処したらよいか ご教示をお願いします。 環境 OS:Win7、VB5.0
以下のような関数を作成し、MWndCMDはCADのコマンドラインのハンドル番号です。
Public Function SendCommand(ByVal AcadCommand As String) As Boolean Dim lngrc As Long 'APIの返却値 Dim i Dim lngdt As Long Dim strdt As String ' 1文字ずつ送信 For i = 1 To Len(AcadCommand) '1文字 strdt = Mid(AcadCommand, i, 1) '改行文字を復元 lngdt = Asc(strdt) 'ASCIIコードに変換 lngrc = SendMessage(MWndCMD, WM_IME_CHAR, lngdt, 0) '1文字送信 Sleep 5 '指定ミリ秒待つ Next i SendCommand = True End Function
|