Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Помогите с DOS-Командами в делфе!

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Помогите с DOS-Командами в делфе!
Имя
Сообщение << Старые топики   Новые топики >>
Помогите с DOS-Командами в делфе! - 2005-11-12 01:34:24   
Starcracker

Сообщений: 15
Оценки: 0
Присоединился: 2005-11-10 15:12:48
Как мне , например, коману ''net send * текст'' реализовать в делфи, погогите пажалуста, желательно напишите код проги, зарание благодорю!
Post #: 1
Помогите с DOS-Командами в делфе! - 2005-11-12 03:44:08   
-ddd-

Сообщений: 4918
Оценки: 42
Присоединился: 2005-05-23 17:20:41

function NetSend(const sTo, sMessage: string): Boolean;
type
PNetMessageBufferSend = ^TNetMessageBufferSend;
TNetMessageBufferSend = function(
servername: PWideChar;
msgname: PWideChar;
fromname: PWideChar;
buf: PBYTE;
buflen: DWORD
): Integer; stdcall;
var
wMessage, wTo: PWideChar;
i, hLib: Integer;
NetMessageBufferSend: TNetMessageBufferSend;
begin
Result := False;
hLib := LoadLibrary('NetApi32.dll');
if hlib > 0 then
try
@NetMessageBufferSend := GetProcAddress(hLib, 'NetMessageBufferSend');
if @NetMessageBufferSend <> nil then
begin
wMessage := CoTaskMemAlloc((Length(sMessage) + 1) * sizeof(WideChar));
try
wTo := CoTaskMemAlloc((Length(sTo) + 1) * sizeof(WideChar));
try
StringToWideChar(sMessage, wMessage, Length(sMessage) + 1);
StringToWideChar(sTo, wTo, Length(sTo) + 1);
i := NetMessageBufferSend(nil, wTo, nil, PBYTE(wMessage),
(Length(sMessage) + 1) * sizeof(WideChar));
Result := i = ERROR_SUCCESS;
if not Result then
MessageЬох(GetForegroundwindоw, 'Сообщение не отправлено.', nil,
$1010);
finally
CoTaskMemFree(wTo);
end;
finally
CoTaskMemFree(wMessage);
end;
end
else
MessageЬох(GetForegroundwindоw,
'Функция NetMessageBufferSend не обнаружена.', nil, $1010);
finally
FreeLibrary(hLib);
end
else
MessageЬох(GetForegroundwindоw, 'NetApi32.dll не загружена.', nil, $1010);
end;

ПрЫмер использования:
function NetSend(const sTo, sMessage: string): Boolean;
type
PNetMessageBufferSend = ^TNetMessageBufferSend;
TNetMessageBufferSend = function(
servername: PWideChar;
msgname: PWideChar;
fromname: PWideChar;
buf: PBYTE;
buflen: DWORD
): Integer; stdcall;
var
wMessage, wTo: PWideChar;
i, hLib: Integer;
NetMessageBufferSend: TNetMessageBufferSend;
begin
Result := False;
hLib := LoadLibrary('NetApi32.dll');
if hlib > 0 then
try
@NetMessageBufferSend := GetProcAddress(hLib, 'NetMessageBufferSend');
if @NetMessageBufferSend <> nil then
begin
wMessage := CoTaskMemAlloc((Length(sMessage) + 1) * sizeof(WideChar));
try
wTo := CoTaskMemAlloc((Length(sTo) + 1) * sizeof(WideChar));
try
StringToWideChar(sMessage, wMessage, Length(sMessage) + 1);
StringToWideChar(sTo, wTo, Length(sTo) + 1);
i := NetMessageBufferSend(nil, wTo, nil, PBYTE(wMessage),
(Length(sMessage) + 1) * sizeof(WideChar));
Result := i = ERROR_SUCCESS;
if not Result then
MessageЬох(GetForegroundwindоw, 'Сообщение не отправлено.', nil,
$1010);
finally
CoTaskMemFree(wTo);
end;
finally
CoTaskMemFree(wMessage);
end;
end
else
MessageЬох(GetForegroundwindоw,
'Функция NetMessageBufferSend не обнаружена.', nil, $1010);
finally
FreeLibrary(hLib);
end
else
MessageЬох(GetForegroundwindоw, 'NetApi32.dll не загружена.', nil, $1010);
end;
Post #: 2
Помогите с DOS-Командами в делфе! - 2005-11-12 04:44:27   
Starcracker

Сообщений: 15
Оценки: 0
Присоединился: 2005-11-10 15:12:48
Большое спасибо, добрый ты человек[sm=hi.gif]
Post #: 3
Помогите с DOS-Командами в делфе! - 2005-11-14 04:34:14   
-ddd-

Сообщений: 4918
Оценки: 42
Присоединился: 2005-05-23 17:20:41
На самом деле я злой и сплю в тумбачке:)
Post #: 4
Помогите с DOS-Командами в делфе! - 2005-11-15 18:01:19   
Maslo

Сообщений: 717
Оценки: 0
Присоединился: 2005-08-11 21:51:47
Не хреновенько ты постарался…[sm=hi.gif]
Post #: 5
Помогите с DOS-Командами в делфе! - 2005-11-15 19:41:47   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
2масло, это не он =) он спер где-то код =) я кажись его на сорцах.ру видал…

а ты подсолнечное или сливочное?
Post #: 6
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Помогите с DOS-Командами в делфе!







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.