Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Командная строка [D6, Win2k, WinXP]


John Doe ©   (2004-05-17 22:16:00) 

Здраствуйте!! Мне необходимо создать программку типа консольного приложения, которая, при прописывании ее имени в командной строке, запускала бы другую прогу, имя которой пишешь сразу после имени заглавной (например через пробел)!!

Помогите пжалста кто может!!


John Doe   (2004-05-19 20:08:00) [1]

Благодарствую всем!! Я разобрался!! Да, лажовый получился вопрос, просто я только начинаю "дружить" с Win API !!


Игорь Шевченко   (2004-05-18 17:18:00) [2]


> Хотя использовать конечно можно, но по-моему WinExec это
> вызов CreateProcess с некими параметрами "по-умолчанию".
> Или нет? Самому интересно.


Конечно, именно это WinExec и делает.

   Result := CreateProcess(nil, PChar(CmdLine),
     nil, nil, false, 0, nil, nil, StartupInfo,
     ProcessInformation);

где в StartupInfo заносится режим показа окна (второй параметр WinExec)


Ajax   (2004-05-18 16:57:00) [3]

>[6] Игорь Шевченко ©   (18.05.04 10:09)
>Можно использовать, ничего страшного

А как же:
Win32-based applications should use the CreateProcess function rather than this function. The WinExec function exists in Win32 to provide compatibility with earlier versions of Windows.

Хотя использовать конечно можно, но по-моему WinExec это вызов CreateProcess с некими параметрами "по-умолчанию". Или нет? Самому интересно.


Игорь Шевченко   (2004-05-18 10:09:00) [4]


> И еще, WinExec лучше не использовать, так как AFAIK эта
> процедура введена что-то вроде "для обратной совместимости"
> и ее использовать не рекомендуется.


Можно использовать, ничего страшного


Ajax   (2004-05-18 08:43:00) [5]

>[4] DrPass ©   (17.05.04 23:34)
Ну, если запускаемая программа не содержит пробелов в названии, то работать будет и так, но если пробелы все-таки есть, то нужно либо вводить параметр в кавычках, либо делать проверку ParamCount. И еще, WinExec лучше не использовать, так как AFAIK эта процедура введена что-то вроде "для обратной совместимости" и ее использовать не рекомендуется. Хотя может я и не прав.


DrPass   (2004-05-17 23:34:00) [6]

Да, эту программу очень сложно создавать:
uses windows;
begin
 winexec(pchar(paramstr(1)), sw_show);
end.


GuAV   (2004-05-17 23:23:00) [7]

GuAV ©   (17.05.04 23:21) [2] - промазал :-(


GuAV   (2004-05-17 23:21:00) [8]

F1    XP themes


Ajax   (2004-05-17 23:14:00) [9]

А если сразу вторую запускать через командную строку???

Чего непонятно-то? Как программу запустить или как получить имя проги, которую запустить нужно. Если 1 - то тебе поможет ShellExecute или CreateProcess ну или на худой конец WinExec, если 2 - то смотри ParamStr.


Наверх

Титульная страница Поиск, карта сайта Написать письмо