Форум: "Сети";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];
ВнизКомандная строка windows2000 Найти похожие ветки
← →
Staraya (2003-05-06 09:09) [0]Здравствуйте! Я впервые столкнулась с такой вот проблемой: Мне нужно сделать такую прогу, которая будет работать как командная строка в windows2000. Только параметры для команды должны вводится в editы, например имя компьютера или его ip-адрес, имя расшаренного ресурса и т.д. Подскажите пожалуйста, с чего мне начать, хотя бы какие компоненты delphi использовать для этого, может у кого есть похожая прога. Заранее благодарна.
← →
Polevi (2003-05-06 13:59) [1]unit admin;
interface
uses Windows, Classes, syncobjs, SysUtils;
type
TConsole=class(TThread)
private
FWnd:THandle;
FMsg:Cardinal;
ChildStdInWr,ChildStdoutRd:THandle;
FCS:TCriticalSection;
FCommandList:TStringList;
procedure CreateConsole;
protected
procedure Execute;override;
public
constructor Create(AWnd:THandle; AMsg:Cardinal);reintroduce;
procedure AddCommand(s:string);
end;
implementation
{ TConsole }
constructor TConsole.Create(AWnd:THandle; AMsg:Cardinal);
begin
FWnd:=AWnd;
FMsg:=AMsg;
FCS:=TCriticalSection.Create;
FCommandList:=TStringList.Create;
inherited Create(false);
end;
procedure TConsole.AddCommand(s:string);
begin
FCS.Enter;
try
FCommandList.Add(s+#13#10);
finally
FCS.Leave;
end;
end;
procedure TConsole.Execute;
var
buffer:Pointer;
bytesRead:DWORD;
begin
CreateConsole;
while not Terminated do
begin
sleep(200);
PeekNamedPipe(ChildStdoutRd,nil,0,nil,@bytesRead,nil);
//
← →
Polevi (2003-05-06 14:00) [2]пример использования
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Admin,
StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
c:TConsole;
procedure Z(var Msg:TMessage);message WM_USER+1;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
c:=TConsole.Create(Handle,WM_USER+1);
c.AddCommand("ping 192.168.1.23");
end;
procedure TForm1.Z(var Msg: TMessage);
var
p:PChar;
begin
p:=PChar(Msg.wParam);
OemToCharBuff(p,p,length(p));
Memo1.Lines.Add(p);
end;
end.
← →
Staraya (2003-05-06 15:41) [3]> Polevi
Большое спасибо за подробное описание, только мне нужно было передавать из едитов параметры для команды net use, т.е. чтоб при нажатии на кнопку выполнить срабатывала команда net use
← →
Polevi (2003-05-06 15:49) [4]procedure TForm1.FormCreate(Sender: TObject);
begin
c:=TConsole.Create(Handle,WM_USER+1);
end;
procedure TForm1.Z(var Msg: TMessage);
var
p:PChar;
begin
p:=PChar(Msg.wParam);
OemToCharBuff(p,p,length(p));
Memo1.Lines.Add(p);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
c.AddCommand("net use "+Edit1.Text);
end;
← →
Reindeer Moss Eater (2003-05-07 09:30) [5]Staraya (06.05.03 15:41)
> Polevi
Большое спасибо за подробное описание, только мне нужно было передавать из едитов параметры для команды net use, т.е. чтоб при нажатии на кнопку выполнить срабатывала команда net use
Все делается действием в одну строчку
WNetAddConecction
← →
Polevi (2003-05-07 09:38) [6]>Reindeer Moss Eater (07.05.03 09:30)
Я впервые столкнулась с такой вот проблемой: Мне нужно сделать такую прогу, которая будет работать как командная строка в windows2000. Только параметры для команды должны вводится в editы, например имя компьютера или его ip-адрес, имя расшаренного ресурса и т.д.
причем тут WNetAddConecction
← →
Reindeer Moss Eater (2003-05-07 09:59) [7]Staraya (06.05.03 15:41)
> Polevi
Большое спасибо за подробное описание, только мне нужно было передавать из едитов параметры для команды net use, т.е. чтоб при нажатии на кнопку выполнить срабатывала команда net use
← →
Staraya (2003-05-07 10:03) [8]>Reindeer Moss Eater
Объясните пожалуйста подробнее что это за WNetAddConecction и как его использовать, где его взять и т.д. Заранее благодарна.
← →
Polevi (2003-05-07 10:05) [9]2Reindeer Moss Eater (07.05.03 09:59)
это был второй пост
2Staraya (07.05.03 10:03)
тебе уже выложили на блюдечке готовый код, имей совесть
← →
Reindeer Moss Eater (2003-05-07 11:07) [10]uses Windows;
WNetAddConnection((PChar("\\ServerName\ShareName"),nil,PChar("X:");
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c