Delphi:Run object net send проблем
procedure TForm1.ss1Click(Sender: TObject);
var a: string;
begin
a:='notepad.exe';
ShellExecute(0,'open',PChar (a),nil,nil,SW_SHOW);
end;
пуска се notepad.
-------------------
procedure TForm1.ss1Click(Sender: TObject);
var a: string;
begin
a:='net send ivan hi';
ShellExecute(0,'open',PChar (a),nil,nil,SW_SHOW);
end;
това е малък пример,но защо не изпраща така съобщението.
Със Shortcut който съдържа "net send ivan hi" става.
искам да кажа:
procedure TForm1.ss1Click(Sender: TObject);
var a: string;
begin
a:='message.lnk';
ShellExecute(0,'open',PChar (a),nil,nil,SW_SHOW);
end;
---
и от Command Prompt става, но защо не става така както искам:
направо да си пише "a:='net send ivan hi';"
Delphi:Run object net send проблем
Мисля, че чрез "ShellExecute()" няма да се получи.
<font color="yellow">"The <font color="maroon">ShellExecute</font id="maroon"> function opens or prints a specified file. The file can be an executable file or a document file"</font id="yellow">
Според мен трябва да използваш "ТClientSocket" и "ТServerSocket"
Delphi:Run object net send проблем
за жалост не знам как се работи с тези работи
ще ми напишеш ли един соурс код.
моля те
Delphi:Run object net send проблем
Не ми е ясно какво точно искаш да направиш?
"ТClientSocket" и "ТServerSocket" могат да се използват за връзка("Client-Server") между два отдалечени комп., т.е. трябва да се направи приложение "Client" и приложение "Server".
Delphi:Run object net send проблем
еми искам този който пусне това нещо автоматично от неговия компютър да се праща съобщение като на нет сенд без никакви прозорци и без да си личи,че е пращатано такова нещо.
примерно от
Edit1.text текста да се изпраща като съобщение.
Delphi:Run object net send проблем
Това може да се направи с "ТClientSocket" и "ТServerSocket", но сигурно има и друг начин (само че аз не го знам[:(]).
Пример за "Client-Server" има тук: http://sage.data.bg/
А как се скриват прозорците имаше тема в Data.bg.
Delphi:Run object net send проблем
абе човек видях тези проекти и разбрах как става.
пробвах и аз да си напраи такова със същия код (просто да опитам) само че с други имена на компонентите (естествено и кода ги промених) и не става ето виж ми кодовете:
Сървара:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ScktComp, StdCtrls;
const
wm_RefreshClients = wm_User;
type
TForm1 = class(TForm)
server: TServerSocket;
l: TListBox;
ll: TListBox;
lll: TListBox;
procedure serverClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure serverClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure serverClientRead(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
procedure RefreshClients (var Msg: TMessage);
message wm_RefreshClients;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.serverClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
lll.Items.Add ('Connected: ' +
Socket.RemoteHost + ' (' +
Socket.RemoteAddress + ')' );
PostMessage (Handle, wm_RefreshClients, 0, 0);
end;
procedure TForm1.serverClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
lll.Items.Add ('Disconnected: ' +
Socket.RemoteHost + ' (' +
Socket.RemoteAddress + ')' );
PostMessage (Handle, wm_RefreshClients, 0, 0);
end;
procedure TForm1.RefreshClients;
var
I: Integer;
begin
l.Clear;
for I := 0 to server.Socket.ActiveConnections - 1 do
with server.Socket.Connections [I] do
l.Items.Add (
RemoteAddress + ' (' + RemoteHost + ')');
end;
procedure TForm1.serverClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
// read from the client
ll.Items.Add (Socket.RemoteHost + ': ' +
Socket.ReceiveText);
end;
end.
---Клиента:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ScktComp, Buttons;
type
TForm1 = class(TForm)
ii: TEdit;
mm: TEdit;
check: TCheckBox;
send: TBitBtn;
client: TClientSocket;
labe: TLabel;
procedure sendClick(Sender: TObject);
procedure clientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure clientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure checkClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.sendClick(Sender: TObject);
begin
client.Socket.SendText (mm.Text);
end;
procedure TForm1.clientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
labe.Caption := 'Connected';
end;
procedure TForm1.clientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
labe.Caption := 'Disconnected';
end;
procedure TForm1.checkClick(Sender: TObject);
begin
if not client.Active then
client.Address := ii.Text;
client.Active := check.Checked;
end;
end.
--Сигурен сам че не баркам с имената ако искаш да ти ги уплоадна проектите ама няма смисал ( и ClientSocket и ServerSocket слагам не знам защо не става моля те кажи ми).
Delphi:Run object net send проблем
въобще искам да пратя съобщения
от Edit1 няма значение с нет сенд или с TServer~TClient.
нещо като net send ivan + edit1.text
ама няма такава опция исками се да има.
Delphi:Run object net send проблем
Изпрати ми проектите на: sage@mail.bg
Delphi:Run object net send проблем
Не си ми изпратил всички файлове[?]
Но въпреки това успях да установя, че проблема ти е в Server-а!
Виж си настройките на :
object ServerSocket1: TServerSocket
Active = True
Port = 50 ????????????????
ServerType = stNonBlocking
OnClientConnect = ServerSocket1ClientConnect
OnClientDisconnect = ServerSocket1ClientDisconnect
OnClientRead = ServerSocket1ClientRead
Left = 72
Top = 40
end
т.е. дали Server-а и Client-а са с еднакъв "port"
Delphi:Run object net send проблем
не бе човек с еднакви портове са.Както бяга и на твоите проекти (бяха и двете с порт 50).
сички файлове са там
2 архива (zip-ове)
Delphi:Run object net send проблем
Изпратил си ми два ".rar" архива в които липсват '.pas' и '.dfm' файловете.
От '.exe' файловете установих, че 'dd.exe(Клиента)' работи с моя Server.exe => проблема е при твоя 'Project2 (Server)'