Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2009, 01:22   #1
yura_$198802
 
Аватар для yura_$198802
 
Регистрация: 29.03.2009
Сообщений: 7
По умолчанию Обращение к командной строке

Уважаемые, пишу прогу, которая отключает сетевое соединение, использовал компонент
NTFirewall, в принципе работает, но если, отключаю сервер, то сразу начинают ругаться разные службы(Lan2netService,LmHost…), в командной строке есть команды типа
Net stop LmHost, ну и т.д. , подскажите как в Delphi обратиться к командной сроке, заранее спасибо!
yura_$198802 вне форума Ответить с цитированием
Старый 08.04.2009, 08:22   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

winexec +F1
shellexecute +F1
CreateProcess +F1
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 08.04.2009, 11:17   #3
yura_$198802
 
Аватар для yura_$198802
 
Регистрация: 29.03.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
winexec +F1
shellexecute +F1
CreateProcess +F1
Что это значит, Это разве программно обращает Delphi к командной строке?(
yura_$198802 вне форума Ответить с цитированием
Старый 08.04.2009, 11:30   #4
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

для туго понимающих обьясняю - читай справку по функцыям winexec, shellexecute, CreateProcess
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 08.04.2009, 13:27   #5
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Да вот так например
Код:
WinExec ('ping 192.168.1.1', sw_show);
FaTaL вне форума Ответить с цитированием
Старый 08.04.2009, 15:57   #6
yura_$198802
 
Аватар для yura_$198802
 
Регистрация: 29.03.2009
Сообщений: 7
По умолчанию

Спасибо, действительно что-то туговато=))
yura_$198802 вне форума Ответить с цитированием
Старый 08.04.2009, 23:27   #7
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ну тогда ещё такой вопрос... Почему не срабатывает
Код:
WinExec('C:\Temp\FASM\fasm 123.asm', sw_show);
а срабатывает только
Код:
ShellExecute(0, nil, PChar('C:\Temp\FASM\fasm.exe'), PChar('123.asm'), PChar('C:\Temp\FASM'), 1);
да и то только если указать "рабочую папку"..?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 09.04.2009, 00:00   #8
Niarb
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 38
По умолчанию

...для Доминика
1: если в указанном пути содержатся пробелы, то его нужно указывать, насколько мне не изменяет память, в двойных кавычках.
2: а как по твоему можно запустить что-то из несуществующего каталога ?
Чем меньше вы знаете, тем больше я ценен как специалист...
Niarb вне форума Ответить с цитированием
Старый 09.04.2009, 00:02   #9
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

походу в рабочей папке есть какието библиотеки нужние для компиляции.. когда вызываешь WinExec('C:\Temp\FASM\fasm 123.asm', sw_show); - то рабочая папка - папка с которой запущена программа, а не папка фасма..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 09.04.2009, 00:22   #10
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
а как по твоему можно запустить что-то из несуществующего каталога ?
Ну отчего же он "несуществующий"-то..?
А двойные кавычки Делфи не признаёт - ругается...

Причём "обычно рабочую папку ставят в nil":
Цитата:
Сообщение от Net

...
uses ShellAPI;
...
...
...
ShellExecute(Handle, 'open', PChar('путь к файлу/папке'), PChar('параметры ком. строки'), PChar('рабочая папка'), SW_SHOWNORMAL);

Обычно параметры и рабочую папку ставят в nil. Вместо действия open есть еще print.

Для деталей посмотри справку WinApi по этой функции.

Цитата:
то рабочая папка - папка с которой запущена программа, а не папка фасма..
Интересно... А это можно как-нибудь проверять..?

А если запустить: "Пуск" -> "Выполнить" -> "C:\Temp\FASM\fasm 123.asm" - то всё нормально срабатывает...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к строке внутри файла AlexeyLed Общие вопросы C/C++ 3 04.03.2009 19:53
Передача параметров в командной строке RUBEY Общие вопросы Delphi 1 12.01.2009 18:57
Задания по командной строке...помогите!!! Pirat Помощь студентам 1 16.03.2008 06:53