作者:宠医_臻爱一生_156 | 来源:互联网 | 2023-06-08 14:21
因为我用ExitWindowsEx关机是,如果别人和你有连接,就要弹出对话框~~~我现在想先断开所有连接,再关机(我是在Win98里)附以前Kingron(戒网中……)的帖子,我这里怎么没
因为我用ExitWindowsEx关机是,如果别人和你有连接,就要弹出对话框~~~
我现在想先断开所有连接,再关机(我是在Win98里)
附以前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;
哪位大虾帮帮忙哈,不胜感激哦*_*
4 个解决方案
用强行关机: ExitWindowsEx(EWX_POWEROFF or EWX_FORCE,0);
什么提示都没得,直接就POWEROFF了
-------------------------------------------------------------
QQ:564374 邮箱:snjun@km169.net
少壮不努力,老大徒悲伤。--闲聊请勿找我
从此只谈学习和工作,闲聊既浪费时间又浪费表情,还让人产生幻想。
那如果我是还要想重新启动的话,那又该怎么办呢?
不过还是要先谢谢snjun(@军军@) 了哈,先给你记着10分^_*
WNetAddConnection 重定向本地设备网络资源
WNetAddConnection2 重定向本地设备网络资源
WNetCancelConnection 断开网络连接
WNetCancelConnection2 断开网络连接
WNetCloseEnum 结束网络资源列表
WNetConnectionDialog 开始网络连接对话框
WNetDisconnectDialog 断开网络对话框
WNetEnumResource 继续列表网络资源
WNetGetConnection 获取网络资源名
WNetGetLastError 返回网络函数最近错误
WNetGetUniversalName
WNetGetUser 获取当前网络用户名
WNetOpenEnum 列出网络资源