Проблема с получением текста из другого окна.
От: Answer_i3  
Дата: 02.06.08 06:05
Оценка:
Всем добрый день! У меня стоит задача получить текст коммандной строки автокада. Нашёл окно ком строки посылаю ему сообщение 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;

заранее спасибо!!!!
Добавлена разметка и табуляция — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.