Тема: Как получить содержимое командной строки?

как получить содержимое командной строки?

Re: Как получить содержимое командной строки?

камондной строки кого ?

Re: Как получить содержимое командной строки?

Предлагаю след. вариант.

implementation
{$R *.dfm}
var CommandWnd:HWND;
function GetAcadCmdLine(AcadWnd:HWND):string; stdcall;
var cmdText:array [0..499] of Char;
  //***************************************************************
  function EnumChildProc(Wnd:HWND;lParam:LongInt):boolean; stdcall;
  var wndText:array [0..9] of Char;
  begin
    if lParam<>0 then
      Result:=false
    else
      begin
        SendMessage(Wnd,WM_GETTEXT,10,integer(@wndText));
        if Pos('COMMAND:',AnsiUpperCase(wndText))>0 then
          CommandWnd:=Wnd;
        Result:=true;
     end;
  end;
  //***************************************************************
begin
  CommandWnd:=0;
  EnumChildWindows(AcadWnd,@EnumChildProc,CommandWnd);
  if CommandWnd<>0 then
    begin
      SendMessage(CommandWnd,WM_GETTEXT,500,integer(@cmdText));
      Result:=cmdText;
    end;
end;

Пример вызова showMessage(GetAcadCmdLine(AcWnd)), где AcWnd - handle главного окна автокада. В переменную CommandWnd передастся hadle дочернего окна, отвечающего за ввод комманд. Лучше всего, если при запуске программы получить AcWnd и CommandWnd, чтоб потом не натыкаться на отклнённый вызов когда автокад ожидает ввода от пользователя. И потом, зная CommandWnd, легко получить его текст, послав ему сообщение WM_GETTEXT.