Всем добрый день! У меня стоит задача получить текст коммандной строки автокада. Нашёл окно ком строки посылаю ему сообщение WM_GETTEXT приходит всё кроме 2ух последних строк....
делаю примерно следующие
function GetAcadCmdLine(AcadWnd:HWND):WideString ; stdcall;
var cmdText:array [0..15999] of Char;//это конечно не красиво.... но пока так
//***************************************************************
function EnumChildProc(Wnd:HWND;lParam:LongInt):boolean; stdcall;
var wndText:array [0..15999] of Char;
begin
if lParam<>0 then
Result:=false
else
begin
//SendMessage(Wnd,WM_GETTEXT,1600,integer(@wndText));
//if (Pos(' ',AnsiUpperCase(wndText))>0)then
GetWindowText(Wnd,wndText,255);
if (AnsiContainsText(wndText,'MountTam')) then
CommandWnd:=Wnd;
Result:=true;
end;
end;
//***************************************************************
begin
CommandWnd:=0;
EnumChildWindows(AcadWnd,@EnumChildProc,CommandWnd);
if CommandWnd<>0 then
begin
SendMessage(CommandWnd,WM_GETTEXT,16000,LPARAM(integer(@cmdText)));
Result:=cmdText;
end;
end;
заранее спасибо!!!!
Добавлена разметка и табуляция — Кодт