Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

Командная строка   Найти похожие ветки 

 
Oitxr ©   (2004-12-10 04:45) [0]

Например, печатаю  в командной строке команду «dir d:\». А как выполнить это с помощью Delphi? Как открыть к.строку понятно, а вот как выполнить в ней команду?


 
Рамиль ©   (2004-12-10 08:57) [1]

набери в командной строке
cmd /?


 
megabyte-ceercop ©   (2004-12-10 09:29) [2]

Нафига. Любую команду команденой строки (или альтернативную) можно выполнить без вызова командной строки.


 
Oitxr ©   (2004-12-10 09:32) [3]

Как это можно сделать?


 
Александр Иванов ©   (2004-12-10 09:35) [4]

А что тебе нужно конкретно?

Список файлов в директории, тогда - FindFirst, FindNext.
Вызов cmd, тогда CreateProcess.


 
Oitxr ©   (2004-12-10 09:42) [5]

Хочу написать триальную прогу и хранить данные о количестве запусков в альтернативном файловом потоке.
А с потоком умею работать только с помощью консоли.


 
megabyte-ceercop ©   (2004-12-10 09:49) [6]

Если нужна именно команда d:\ то делай:

ShellExecute(Form1.Handle,"open","d:\",NULL,"d:\",SW_SHOW);

описание см в хелпе.


 
Александр Иванов ©   (2004-12-10 10:04) [7]

megabyte-ceercop ©   (10.12.04 09:49) [6]
Точнее:
ShellExecute(Form1.Handle,"open","d:\","","d:\",SW_SHOW);

Oitxr ©   (10.12.04 09:42) [5]
Насколько я понял вам нужно при каждом запуске приложения знать номер этого запуска?


 
Oitxr ©   (2004-12-10 11:50) [8]

Я хочу с помощью делфи выполнить любую команду командной строки
не запуская её(cmd).Вот.Можно ли это сделать на делфи?


 
Александр Иванов ©   (2004-12-10 12:12) [9]

Некоторые команды жестко "зашиты" в cmd, тогда придется их переписывать :)


 
Anatoly Podgoretsky ©   (2004-12-10 12:24) [10]

Команды командной строки зашиты в командный интерпритатор.


 
Leksiy ©   (2004-12-10 12:28) [11]

это исходник функции

function RunCaptured(const _dirName, _exeName, _cmdLine: string): Boolean;
 var
  start: TStartupInfo;
  procInfo: TProcessInformation;
  tmpName: string;
  tmp: Windows.THandle;
  tmpSec: TSecurityAttributes;
  return: Cardinal;
  Begin
    Result := False;
    try
     //Создание временного файла
      tmpName := "Test.tmp";
      FillChar(tmpSec, SizeOf(tmpSec), #0);
      tmpSec.nLength := SizeOf(tmpSec);
      tmpSec.bInheritHandle := True;
      tmp := Windows.CreateFile(PChar(tmpName), Generic_Write, File_Share_Write, @tmpSec, Create_Always, File_Attribute_Normal, 0);
      try
        FillChar(start, SizeOf(start), #0);
        start.cb := SizeOf(start);
        start.hStdOutput := tmp;
        start.dwFlags := StartF_UseStdHandles or StartF_UseShowWindow;
        start.wShowWindow := SW_Minimize;
       //Запуск программы
        if CreateProcess(nil, PChar(_exeName + " " + _cmdLine), nil, nil, True, 0, nil, PChar(_dirName), start, procInfo) then
          begin
            SetPriorityClass(procInfo.hProcess, Idle_Priority_Class);
            WaitForSingleObject(procInfo.hProcess, Infinite);
            GetExitCodeProcess(procInfo.hProcess, return);
            Result := (return = 0);
            CloseHandle(procInfo.hThread);
            CloseHandle(procInfo.hProcess);
            Windows.CloseHandle(tmp);
            Windows.DeleteFile(PChar(tmpName));
          end
        else
          begin
            Application.MessageBox(PChar(SysErrorMessage(GetLastError())), "RunCaptured Error", MB_OK);
          end;
      except
        Windows.CloseHandle(tmp);
        Windows.DeleteFile(PChar(tmpName));
      raise;
      end;
    finally
    end;
  End;

ну и соответственно пример использования :)

RunCaptured("в какой директории", "cmd.exe", "/c команда");


 
Leksiy ©   (2004-12-10 12:29) [12]

да забыл сказать это для вин2000 и винхп



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
14-1102322607
Суслик
2004-12-06 11:43
2004.12.26
Delphi 2005


1-1102807915
SergP
2004-12-12 02:31
2004.12.26
Проблема с TXMLDocument


1-1102847589
Frozzen
2004-12-12 13:33
2004.12.26
Копирование буфера Move


1-1102951597
AlexLine
2004-12-13 18:26
2004.12.26
Проблема с формой (мелькает панель зачач)


1-1102927057
Руслана
2004-12-13 11:37
2004.12.26
Подскажите как удалить файл с аттрибутами ReadOnly?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский