温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c++禁用 tcp/ip 上的netbios

发布时间:2020-07-12 07:49:39 来源:网络 阅读:301 作者:luwenji309 栏目:移动开发

 

  1. //禁用tcp/ip上的netbios 
  2. bool StopTcpipNtBios(void
  3.     try 
  4.     { 
  5.         cout<<endl<<"stop the tcp/ip NtBios"<<endl; 
  6.  
  7.         wstring sTcpipNTBiosRegPath = L"SYSTEM\\CurrentControlSet\\services\\NetBT\\Parameters\\Interfaces"
  8.         string sErrorMsg; 
  9.         HKEY hkey; 
  10.  
  11.         LONG rt = ::RegOpenKeyExW(HKEY_LOCAL_MACHINE,sTcpipNTBiosRegPath.c_str(),0, KEY_ALL_ACCESS,&hkey); 
  12.         DWORD dError = GetLastError(); 
  13.         if(rt != ERROR_SUCCESS) 
  14.         {     
  15.             ::RegCloseKey(hkey); 
  16.             sErrorMsg = "open Tcpip NTBios Reg failed"
  17.             throw sErrorMsg; 
  18.         } 
  19.         else 
  20.         { 
  21.             TCHAR szBuffer[256]={0}; 
  22.             DWORD dwSize=256,dIndex = 0L; 
  23. //枚举所有网卡,修改NetbiosOptions的值为2 
  24.             while( RegEnumKeyEx(hkey,dIndex,szBuffer,&dwSize,NULL,NULL,NULL,NULL)==ERROR_SUCCESS ) 
  25.             { 
  26.                 wstring wSTcpipNTBiosRegPath = sTcpipNTBiosRegPath + L"\\"+ szBuffer; 
  27.  
  28.                 SetRegValue(UnicodeToAscii(wSTcpipNTBiosRegPath.c_str()),"NetbiosOptions",0x00000002); 
  29.  
  30.                 dIndex++; 
  31.                 ZeroMemory(szBuffer,256); 
  32.                 dwSize=256; 
  33.             } 
  34.  
  35.             ::RegCloseKey(hkey); 
  36.         } 
  37.     } 
  38.     catch(string sErrorMsg) 
  39.     { 
  40.         cout<<sErrorMsg.c_str()<<endl; 
  41.         return false
  42.  
  43.     } 
  44.  
  45.     SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0); 
  46.  
  47.     cout<<endl<<"success to stop the tcp/ip NtBios"<<endl<<endl; 
  48.     return true

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI