⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_在windows95&windows98下如何关闭网络连接.htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 2 页
字号:
            但是,实际情况是,在WINDOWS95和WINDOWS98平台下,<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            这样调用根本就无法连接上库文件.真正的API声明应该是:<BR>&nbsp; &nbsp; &nbsp; &nbsp; DWORD 
            NetSessionEnum( LPSTR,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            DWORD,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LPBYTE,<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD,<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; LPDWORD,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; LPDWORD )<BR>&nbsp; &nbsp; &nbsp; &nbsp; 参数1: 
            NULL表示枚举本机的网络连接<BR>&nbsp; &nbsp; &nbsp; &nbsp; 参数2: 
            不详.在枚举中是常量0x32.<BR>&nbsp; &nbsp; &nbsp; &nbsp; 参数3: 
            存放信息的缓冲区指针<BR>&nbsp; &nbsp; &nbsp; &nbsp; 参数4: 缓冲区长度<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; 参数5: 指向返回连接个数<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            参数6: 指向总共连接个数<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            可见,参数个数完全不同,另外参数意义也发生了变化.<BR><BR>2.依次断开枚举出的网络连接:<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp; 还算幸运的是,断开网络连接的API声明是正确的:<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; NET_API_STATUS NetSessionDel(<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LPWSTR servername,&nbsp; &nbsp; 
            <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            LPWSTR UncClientName,&nbsp; <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; LPWSTR username&nbsp; &nbsp; 
            );<BR>&nbsp; &nbsp; &nbsp; &nbsp; 不过要注意的是,第2个和第3个参数的内容需要<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; 
            从枚举得到的缓冲区中去取.具体方法参见程序.<BR><BR>四.源代码:<BR><BR>以下是实现断开网络连接的子程序,你可以方便的把它们加入到自己的项目中<BR>去,而不用和我一样浪费时间去研究到底怎样实现网络枚举了.<BR><BR>注:由于本程序只实际用到了一个SVRAPI.DLL中的函数声明,简便期间,我没有<BR>用原有的头文件,自己定义一下就可以了.<BR><BR>///////////////////////////////////////////////////////////////////<BR>// 
            File:&nbsp; &nbsp; &nbsp; &nbsp; NetClose.H<BR>// Version:&nbsp; 
            &nbsp; 1.01<BR><BR>#define NETBUFF_SIZE&nbsp; &nbsp; 
            0x208<BR><BR>#define NetSessionEnum_PROFILE&nbsp; ( DWORD (__stdcall 
            *)&nbsp; &nbsp; &nbsp; &nbsp; ( LPSTR, DWORD, LPBYTE, DWORD, 
            LPDWORD, LPDWORD ) )<BR>#define NetSessionDel_PROFILE&nbsp; ( DWORD 
            (__stdcall *)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( LPSTR, 
            LPSTR, DWORD ) 
            )<BR>///////////////////////////////////////////////////////////////////<BR>// 
            File:&nbsp; &nbsp; &nbsp; &nbsp; NetClose.CPP<BR>// Version:&nbsp; 
            &nbsp; 
            1.01<BR>///////////////////////////////////////////////////////////////////<BR>// 
            Define:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BOOL 
            NetCloseAll( VOID )<BR>// Parameters:&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; None<BR>// Return:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; TRUE or FALSE<BR>//<BR>// Author:&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; Mr.Huang fei<BR>// Time:&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5/7/1998<BR>// Note:&nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Can only be used on 
            Windows95 &amp; Windows98<BR>// Remark:&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; Close all network 
            connections<BR>///////////////////////////////////////////////////////////////////<BR>BOOL 
            NetCloseAll( VOID )<BR>{<BR>&nbsp; &nbsp; &nbsp; &nbsp; BYTE&nbsp; 
            &nbsp; byBuff[NETBUFF_SIZE];<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            DWORD&nbsp; dwNetRet&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; = 0;;<BR>&nbsp; &nbsp; &nbsp; &nbsp; DWORD&nbsp; i&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; = 0;<BR>&nbsp; &nbsp; &nbsp; &nbsp; DWORD&nbsp; 
            dwEntries&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 
            0;<BR>&nbsp; &nbsp; &nbsp; &nbsp; DWORD&nbsp; dwTotalEntries&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; = 0;<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            LPSTR&nbsp; szClient&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; = NULL;<BR>&nbsp; &nbsp; &nbsp; &nbsp; DWORD&nbsp; 
            dwUserName&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 
            0;<BR>&nbsp; &nbsp; &nbsp; &nbsp; BOOL&nbsp; &nbsp; bRet&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 
            FALSE;<BR>&nbsp; &nbsp; &nbsp; &nbsp; LPBYTE&nbsp; lpbyBuff = 
            (LPBYTE)byBuff;<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; DWORD (__stdcall 
            * hookNetSessionEnum)( LPSTR, DWORD,&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; LPBYTE, DWORD, LPDWORD, LPDWORD );<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; DWORD (__stdcall * hookNetSessionDel)( LPSTR, 
            LPSTR, DWORD );<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; HINSTANCE hMod = 
            LoadLibrary( "SVRAPI.DLL" );<BR>&nbsp; &nbsp; &nbsp; &nbsp; if( hMod 
            != NULL )<BR>&nbsp; &nbsp; &nbsp; &nbsp; {<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Get the address of 
            function<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            hookNetSessionEnum = NetSessionEnum_PROFILE<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GetProcAddress<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( hMod, 
            TEXT("NetSessionEnum") );<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; hookNetSessionDel&nbsp; = 
            NetSessionDel_PROFILE<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; GetProcAddress<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; ( hMod, TEXT("NetSessionDel") );<BR><BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( ( 
            hookNetSessionDel != NULL ) &amp;&amp;<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( 
            hookNetSessionEnum != NULL ) )<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; {<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwNetRet = 
            hookNetSessionEnum(&nbsp; NULL,<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x32, 
            byBuff,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; NETBUFF_SIZE, &amp;dwEntries,<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &amp;dwTotalEntries );<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( dwNetRet 
            == 0 )<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; {<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bRet 
            = TRUE;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for( i=0; i &lt; 
            dwTotalEntries; i++ )<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; szClient = (LPSTR)(((DWORD 
            *)<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; lpbyBuff)[0]);<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; dwUserName = ((DWORD *)lpbyBuff)[2];<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwNetRet = hookNetSessionDel( 
            NULL,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; szClient, dwUserName );<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( dwNetRet != 0 )<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bRet = FALSE;<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            break;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; lpbyBuff += 26;<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; }<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } // 
            NetSessionEnum(...)<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bRet = FALSE;<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } // 
            GetProcAddress(...)<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; else<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bRet = 
            FALSE;<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; FreeLibrary( hMod );<BR>&nbsp; &nbsp; &nbsp; &nbsp; } // 
            LoadLibrary(...)<BR>&nbsp; &nbsp; &nbsp; &nbsp; return 
            bRet;<BR>}<BR><BR>五.总结:<BR><BR>以上是开发过程中的一点经验,希望对大家有所帮助,有不对的地方请谅解并<BR>指出.另外,众所周知Microsoft的开发文档有相当一部分是未公开的,这些未<BR>公开信息有时会给我们造成很大的困难,在此希望有类似体验的程序开发者<BR>把自己的经验写出来,让后来者少走一些弯路.<BR><BR><BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle>
      <SCRIPT 
      src="CSDN_文档中心_在WINDOWS95&amp;WINDOWS98下如何关闭网络连接.files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 
      src="CSDN_文档中心_在WINDOWS95&amp;WINDOWS98下如何关闭网络连接.files/ico_pencil.gif" 
      width=16> </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; hfzxl <I>(2000-9-5 16:13:03)</I> 
    </TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 width=532><BR>Platform SDK: Network 
      Management NetSessionEnum The NetSessionEnum function provides information 
      about sessions established on a server. Security Requirements Only members 
      of the Administrators or Account Operators local group can successfully 
      execute the NetSessionEnum function at level 1 or level 2. No special 
      group membership is required for level 0 or level 10 calls. Windows 
      NT/2000: The parameter order is as follows. NET_API_STATUS NetSessionEnum( 
      LPWSTR servername, LPWSTR UncClientName, LPWSTR username, DWORD level, 
      LPBYTE *bufptr, DWORD prefmaxlen, LPDWORD entriesread, LPDWORD 
      totalentries, LPDWORD resume_handle ); Windows 95/98: The calling 
      application must use the cbBuffer parameter to specify the size, in bytes, 
      of the information buffer pointed to by the pbBuffer parameter. (The 
      cbBuffer parameter replaces the Windows NT/Windows 2000 prefmaxlen 
      parameter.) Neither a user name parameter nor a resume handle parameter is 
      available on this platform. Therefore, the parameter list is as follows. 
      extern API_FUNCTION NetSessionEnum( const char FAR * pszServer, short 
      sLevel, char FAR * pbBuffer, unsigned short cbBuffer, unsigned short FAR * 
      pcEntriesRead, unsigned short FAR * pcTotalAvail ); 
<BR></TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>你没有登陆,无法发表评论。 请先<A 
      href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=428">登陆</A> 
      <A 
href="http://www.csdn.net/expert/zc.asp">我要注册</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 
      src="CSDN_文档中心_在WINDOWS95&amp;WINDOWS98下如何关闭网络连接.files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -