请问怎么样断开网上邻居里别人和你的所有连接? (20分)

  • 主题发起人 主题发起人 cornermoss
  • 开始时间 开始时间
C

cornermoss

Unregistered / Unconfirmed
GUEST, unregistred user!
因为我用ExitWindowsEx关机是,如果别人和你有连接,就要弹出对话框~~~
我现在想先断开所有连接,再关机(我是在Win98里)

附CSDN里Kingron(戒网中……)以前的帖子,我这里怎么没效果呢?
const
NETBUFF_SIZE = $208;
type

NetSessionEnum = function(ServerName: LPSTR; Level: DWORD; Bufptr: PBYTE; MaxLen: DWORD; total: LPDWORD; resume_hwnd: LPDWORD): Dword; stdcall;
NetSessionDel = function(ServerName: LPSTR; ClientName: LPSTR; UserName: LPSTR): dword; stdcall;

function NetCloseAll: Boolean;
type
TbyBuff=array[0..NETBUFF_SIZE-1] of byte;
var
byBuff:TBybuff;
dwNetRet,i,dwEntries,dwTotalEntries:dword;
szClient:LPSTR;
dwUserName:LPSTR;
bRet:boolean;
lpbyBuff:^TbyBuff;
h:hwnd;
EnumProc:NetSessionEnum;
DelProc:NetSessionDel;
begin
h:=LoadLibrary('svrapi.dll');
lpbybuff:=@bybuff;
bRet:=false;
if h<>0 then
begin
EnumProc:=GetProcAddress(h,'NetSessionEnum');
DelProc:=GetprocAddress(h,'NetSessionDel');
if Assigned(EnumProc) and Assigned(DelProc) then
begin
dwNetRet:=EnumProc(nil,$32,@byBuff,NETBUFF_SIZE,@dwEntries,@dwTotalEntries);
if dwNetRet=0 then
begin
bRet:=true;
for i:=0 to dwTotalEntries-1 do
begin
szClient:=LPSTR(lpbybuff^[0]);
dwUserName:=LPSTR(LPbybuff^[2]);
dwNetRet:=DelProc(nil,szClient,dwUserName);
if dwNetRet<>0 then
begin
bRet:=false;
break;
end;
lpbybuff:=pointer(integer(lpbybuff)+26);
end;
end; //NetSessionEnum
end
else
bRet:=false;
end //GetProcAddress
else
bRet:=false;
FreeLibrary(h);
result:=bRet;
end;

我这里分不多了,不好意思哈~~哪位大虾帮帮忙,不胜感激哦*_*
 
笨啊!!!!从重起动不就得了
 
没有人来吗???

神啊,救救我吧~~~~~~~~~~~~
 
强行关机或重启
加入:Nforce

好像是的,记不清了
 
为什么啊,为什么。

如果别人正从你的机器复制重要数据,岂不白忙半天。遍软件要讲网络道德的嘛!
 
用这个一定行:
ExitWindowsEx((EWX_SHUTDOWN Or EWX_FORCE Or EWX_REBOOT , $FFFF);
要在USES中加上shellapi,mmsystem;
 
to 混沌:不会吧,这也算没网络道德啊?呵呵,那他还非法连接我的电脑呢~~
to seagod007:
你试过吗?如果你那没网络环境,可以这样试试先:
先打开一个word文件,修改,再用你的程序关闭电脑,看看有对话框出来提示你保存文件没啊?
 
WNetCancelConnection 断开网络连接
WNetCancelConnection2 断开网络连接
 
多人接受答案了。
 
后退
顶部