Текущий архив: 2002.12.09;
Скачать: CL | DM;
ВнизNetMessageBufferSend Найти похожие ветки
← →
Nikolas SHmuS (2002-10-27 12:36) [0]подскажите плиз... каким образом вызвать апи функцию.. NetMessageBufferSend???
← →
Marcus (2002-10-28 14:27) [1]Вот работающая функция
var
NetLibHandle: THandle;
// Если эти переменные сделать локальными, функция не
// сработает. Подозреваю, что это из-за того, что она
// выполняется в отдельном потоке
wszSrc: array[0..MAX_COMPUTERNAME_LENGTH] of WideChar;
wszDest: array[0..255] of WideChar;
wszMsg: PWideChar;
cbMsg: DWORD;
function SendMsg(const ComputerName, MsgText: string): NET_API_STATUS;
var
NetMessageBufferSend: TNetMessageBufferSend;
szComputerName: array[0..MAX_COMPUTERNAME_LENGTH] of char;
cbComputerName: Cardinal;
begin
cbComputerName := MAX_COMPUTERNAME_LENGTH + 1;
GetComputerName(szComputerName, cbComputerName);
MultiByteToWideChar(CP_ACP, 0, szComputerName, -1, wszSrc, MAX_COMPUTERNAME_LENGTH+1);
StringToWideChar(ComputerName, wszDest, SizeOf(wszDest));
cbMsg := (Length(MsgText) + 1) * 2;
wszMsg := AllocMem(cbMsg);
StringtoWideChar(MsgText, wszMsg, cbMsg);
if (NetLibHandle = 0) then
NetLibHandle := LoadLibrary("NETAPI32.DLL");
@NetMessageBufferSend := GetProcAddress(NetLibHandle, "NetMessageBufferSend");
Result := NetMessageBufferSend("", wszDest, wszSrc, wszMsg, cbMsg);
FreeMem(wszMsg);
end;
← →
Subfire (2002-10-28 15:08) [2]Marcus
Слушай, а что за NET_API_STATUS и TNetMessageBufferSend, я работаю в D5 и там ее нету :(
(поискал во всех заголовочных файлах - нету =)))
Попробовал в WinApi хелпах, но тож ниче разумного не нашел...
Можешь прислать эти структуры?
← →
ZZ (2002-10-28 16:18) [3]NET_API_STATUS = Cardinal;
TNetMessageBufferSend = function (список параметров взятый из MSDN);
← →
Subfire (2002-10-28 16:23) [4]по поводу TNetMessageBufferSend просто стормозил =-)
За NET_API_STATUS пасибо!!!
Страницы: 1 вся ветка
Текущий архив: 2002.12.09;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.009 c