Помогите с DOS-Командами в делфе!
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Помогите с DOS-Командами в делфе! - 2005-11-12 01:34:24
|
|
|
Starcracker
Сообщений: 15
Оценки: 0
Присоединился: 2005-11-10 15:12:48
|
Как мне , например, коману ''net send * текст'' реализовать в делфи, погогите пажалуста, желательно напишите код проги, зарание благодорю!
|
|
|
Помогите с 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;
|
|
|
Помогите с DOS-Командами в делфе! - 2005-11-12 04:44:27
|
|
|
Starcracker
Сообщений: 15
Оценки: 0
Присоединился: 2005-11-10 15:12:48
|
Большое спасибо, добрый ты человек[sm=hi.gif]
|
|
|
Помогите с DOS-Командами в делфе! - 2005-11-14 04:34:14
|
|
|
-ddd-
Сообщений: 4918
Оценки: 42
Присоединился: 2005-05-23 17:20:41
|
На самом деле я злой и сплю в тумбачке:)
|
|
|
Помогите с DOS-Командами в делфе! - 2005-11-15 18:01:19
|
|
|
Maslo
Сообщений: 717
Оценки: 0
Присоединился: 2005-08-11 21:51:47
|
Не хреновенько ты постарался…[sm=hi.gif]
|
|
|
Помогите с DOS-Командами в делфе! - 2005-11-15 19:41:47
|
|
|
lolik
Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
|
2масло, это не он =) он спер где-то код =) я кажись его на сорцах.ру видал…
а ты подсолнечное или сливочное?
|
|
|
|
|