ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

17.09.2009, 00:40
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
Провел на форуме: 102243
Репутация:
8
|
|
cmd - Delphi
Подскажите пожалуйста!
Как написать правельно такое
чтоб дельфи исполняло фукцию cmd?
допустим при открытии delphi идет ping на узел?
ping -n 350 -l 10000 00.000.00.00
Извеняюсь, я очень нубский новичег)
|
|
|

17.09.2009, 00:49
|
|
Участник форума
Регистрация: 18.04.2009
Сообщений: 120
Провел на форуме: 435863
Репутация:
80
|
|
Можно записать нужные тебе команды в файл с расширением *.cmd, а потом использовать функцию ShellExecute. Хотя это не лучший вариант, но рабочий
Вот пример, кинь на форму один button.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
cmd: TStringList;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
cmd.Add('ping -n 350 -l 10000 00.000.00.00');
cmd.Add('pause');
cmd.SaveToFile('delphicmd.cmd');
ShellExecute(Form1.Handle, nil, 'delphicmd.cmd', nil, nil, SW_RESTORE);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
cmd:=TStringList.Create;
end;
end.
Последний раз редактировалось Sams; 17.09.2009 в 00:54..
|
|
|

17.09.2009, 00:51
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
Провел на форуме: 102243
Репутация:
8
|
|
хм..) не это сильно палевно)))
Я хочу своему другу кинуть в автозагрузку прогу которая бы пинговала один сайтичег))) по этому вид консольда излишний)
|
|
|

17.09.2009, 01:12
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Сообщение от Logan22
хм..) не это сильно палевно)))
Я хочу своему другу кинуть в автозагрузку прогу которая бы пинговала один сайтичег))) по этому вид консольда излишний)
Если не ошибаюсь то (если ошибся то полюбому связанно с winexec)
winexec('cmd /c ping -n 350 -l 10000 00.000.00.00', SW_HIDE);
С автозагрузкой сам разберешся, не сложно будет (сам погуглишь на эту тему)
Последний раз редактировалось wolmer; 17.09.2009 в 02:09..
|
|
|

17.09.2009, 01:19
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
CreateProcess/Pipe - наиболее гибкий вариант.
WinExec/ShellExecute - бяки
|
|
|

17.09.2009, 01:51
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
Провел на форуме: 102243
Репутация:
8
|
|
wolmer, спасибо большое) я проверел с другом, его файрвол в бешенстве канает на ура))
Всем кто помогал и пытался помочь +++++ ))
|
|
|

17.09.2009, 09:29
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
Провел на форуме: 102243
Репутация:
8
|
|
)
Крайне извеняюсь за наглость) Но хотел бы ещё узнать)
На форме создать Edit1 и кнопку, и в Edit1 вписывать IP и кнопкой начать пинговать, как правельно осуществить, подскажите пожалуйста)?
winexec('cmd /c ping -n 350 -l 10000 00.000.00.00', SW_HIDE);" - эта функция действительно работает))) Но в место IP то что вверху пишится 00.000.00.00 должно вводимое в поле Edit1 IP)) Блин трудно объяснить) но думаю меня понять можно)
Хотел бы воспользоваться ситуацией и задать ещё один вопрос, если сайт какойто слабенький типо на движке мойвеб пинговать с разных компов, что с сайтом будет?)) и какой его конечный результат?
|
|
|

17.09.2009, 14:06
|
|
Познающий
Регистрация: 20.12.2008
Сообщений: 76
Провел на форуме: 432982
Репутация:
6
|
|
Результат будет 0. Если же конечно в качестве сервера не используется P1 166mhz
|
|
|

17.09.2009, 15:09
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
winexec('cmd /c ping -n 350 -l 10000 00.000.00.00', SW_HIDE); - эта функция действительно работает))) Но в место IP то что вверху пишится 00.000.00.00 должно вводимое в поле Edit1 IP)) Блин трудно объяснить) но думаю меня понять можно)
winexec('cmd /c ping -n 350 -l 10000 '+edit1.text, SW_SHOW);
|
|
|

17.09.2009, 15:34
|
|
Познающий
Регистрация: 11.09.2009
Сообщений: 34
Провел на форуме: 102243
Репутация:
8
|
|
Сообщение от wolmer
winexec('cmd /c ping -n 350 -l 10000 '+edit1.text, SW_SHOW);
Не компилит!(
ты помойму забыл закрыть кавычку как бы! после +edit1.text ) я закрыл серовно не компилит, не так не так!
Вот что пишит как ошибку в твоем варианте
" [Error] Unit1.pas(31): Incompatible types: 'String' and 'PAnsiChar' "
Если так то
winexec('cmd /c ping -n 350 -l 10000 '+edit1.text', SW_SHOW);
такая ошибка
[Error] Unit1.pas(31): Unterminated string
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Скачать Delphi 7, помощь.
|
_casper_ |
С/С++, C#, Delphi, .NET, Asm |
20 |
08.12.2009 04:54 |
|
Virus.Win32.Induc.a – новый вирус для Delphi
|
ErrorNeo |
Уязвимости |
37 |
26.08.2009 00:33 |
|
Virus.Win32.Induc.a или "Снова записки новичка"
|
_=(mac)=_ |
Защита ОС: вирусы, антивирусы, файрволы. |
5 |
24.08.2009 23:34 |
|
Интересные вопросы по Delphi и не только
|
CeHoKoC |
С/С++, C#, Delphi, .NET, Asm |
4 |
20.04.2009 10:33 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|