高手快来指点一下啊..在局域网中,如何获得连接到本机的主机名/IP 类似计算机管理/会话/打开文件夹中的功能.. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用api实现调用netsession 在盒子论坛找到的代码..但是好像不能通过...请帮忙指点一下.//关闭网络连接function NetCloseAll:boolean;constNETBUFF_SIZE=$208;typeNET_API_STATUS=DWORD;LPByte=PByte;vardwNetRet :DWORD;i :integer;dwEntries :DWORD;dwTotalEntries :DWORD;szClient :LPWSTR;dwUserName :DWORD;Buff :array[0..NETBUFF_SIZE-1]of byte;Adword :array[0..NETBUFF_SIZE div 4-1] of dword;NetSessionEnum:function ( ServerName:LPSTR;Reserved:DWORD;Buf:LPByte;BufLen:DWORD;ConnectionCount:LPDWORD;ConnectionToltalCount:LPDWORD ):NET_API_STATUS;stdcall;NetSessionDel:function ( ServerName:LPWSTR;UncClientName: LPWSTR ;UserName: dword):NET_API_STATUS;stdcall;LibHandle : THandle;beginResult:=false;try{ 加载 DLL }LibHandle := LoadLibrary('svrapi.dll');try{ 如果加载失败,LibHandle = 0.}if LibHandle = 0 thenraise Exception.Create('不能加载SVRAPI.DLL');{ DLL 加载成功,取得到 DLL 输出函数的连接然后调用 }@NetSessionEnum := GetProcAddress(LibHandle, 'NetSessionEnum');@NetSessionDel := GetProcAddress(LibHandle, 'NetSessionDel');if (@NetSessionEnum = nil)or(@NetSession_Del=nil) thenRaiseLastWin32Error { 连接函数失败 }elsebegindwNetRet := NetSessionEnum( nil,$32, @Buff,NETBUFF_SIZE, @dwEntries,@dwTotalEntries );if dwNetRet = 0 thenbeginResult := true;for i:=0 to dwTotalEntries-1 dobeginMove(Buff,Adword,NETBUFF_SIZE);szClient:=LPWSTR(Adword[0]);dwUserName := Adword[2];dwNetRet := NetSessionDel( nil,szClient,dwUserName);if( dwNetRet <> 0 ) thenbeginResult := false;break;end;Move(Buff[26],Buff[0],NETBUFF_SIZE-(i+1)*26);endendelseResult := false;end;finallyFreeLibrary(LibHandle); // Unload the DLL.end;exceptend;end; 上面的代码调用的是 svrapi.dll在win2000下调用 netapi32.dll行吗?因为找不到svrapi.dll 高位与低位问题 怎么连接sql2000数据库并进行session验证,急! 花钱求购毕业设计(汉字拼音笔画输入法) 这个问题还是弄清楚了比较好,基础问题,大家帮忙。 急问如何得到teechart中的series的event,比如event "GetMarkText" 之类。 如何控制DBGridEh的每一个格子的输出? 我在form1里有个send_mess()的函数,在from2里怎么调用? delphi中有这样功能的控件吗? 关于IdTCPServer的问题 delphi与数据库的连接! DBGrid 能不能更改某一行数据的颜色 数据转换的问题,请各位大侠帮忙,谢谢!
调用netsession
但是好像不能通过...
请帮忙指点一下.//关闭网络连接
function NetCloseAll:boolean;
const
NETBUFF_SIZE=$208;
type
NET_API_STATUS=DWORD;
LPByte=PByte;
var
dwNetRet :DWORD;
i :integer;
dwEntries :DWORD;
dwTotalEntries :DWORD;
szClient :LPWSTR;
dwUserName :DWORD;
Buff :array[0..NETBUFF_SIZE-1]of byte;
Adword :array[0..NETBUFF_SIZE div 4-1] of dword;
NetSessionEnum:function ( ServerName:LPSTR;
Reserved:DWORD;
Buf:LPByte;
BufLen:DWORD;
ConnectionCount:LPDWORD;
ConnectionToltalCount:LPDWORD ):NET_API_STATUS;
stdcall;NetSessionDel:function ( ServerName:LPWSTR;
UncClientName: LPWSTR ;
UserName: dword):NET_API_STATUS;
stdcall;
LibHandle : THandle;
begin
Result:=false;
try
{ 加载 DLL }
LibHandle := LoadLibrary('svrapi.dll');
try
{ 如果加载失败,LibHandle = 0.}
if LibHandle = 0 then
raise Exception.Create('不能加载SVRAPI.DLL');
{ DLL 加载成功,取得到 DLL 输出函数的连接然后调用 }
@NetSessionEnum := GetProcAddress(LibHandle, 'NetSessionEnum');
@NetSessionDel := GetProcAddress(LibHandle, 'NetSessionDel');if (@NetSessionEnum = nil)or(@NetSession_Del=nil) then
RaiseLastWin32Error { 连接函数失败 }
else
begin
dwNetRet := NetSessionEnum( nil,$32, @Buff,
NETBUFF_SIZE, @dwEntries,
@dwTotalEntries );
if dwNetRet = 0 then
begin
Result := true;
for i:=0 to dwTotalEntries-1 do
begin
Move(Buff,Adword,NETBUFF_SIZE);
szClient:=LPWSTR(Adword[0]);
dwUserName := Adword[2];
dwNetRet := NetSessionDel( nil,szClient,dwUserName);
if( dwNetRet <> 0 ) then
begin
Result := false;
break;
end;
Move(Buff[26],Buff[0],NETBUFF_SIZE-(i+1)*26);
end
end
else
Result := false;
end;
finally
FreeLibrary(LibHandle); // Unload the DLL.
end;
except
end;
end;
在win2000下调用 netapi32.dll行吗?
因为找不到svrapi.dll