- //禁用tcp/ip上的netbios
- bool StopTcpipNtBios(void)
- {
- try
- {
- cout<<endl<<"stop the tcp/ip NtBios"<<endl;
- wstring sTcpipNTBiosRegPath = L"SYSTEM\\CurrentControlSet\\services\\NetBT\\Parameters\\Interfaces";
- string sErrorMsg;
- HKEY hkey;
- LONG rt = ::RegOpenKeyExW(HKEY_LOCAL_MACHINE,sTcpipNTBiosRegPath.c_str(),0, KEY_ALL_ACCESS,&hkey);
- DWORD dError = GetLastError();
- if(rt != ERROR_SUCCESS)
- {
- ::RegCloseKey(hkey);
- sErrorMsg = "open Tcpip NTBios Reg failed";
- throw sErrorMsg;
- }
- else
- {
- TCHAR szBuffer[256]={0};
- DWORD dwSize=256,dIndex = 0L;
- //枚举所有网卡,修改NetbiosOptions的值为2
- while( RegEnumKeyEx(hkey,dIndex,szBuffer,&dwSize,NULL,NULL,NULL,NULL)==ERROR_SUCCESS )
- {
- wstring wSTcpipNTBiosRegPath = sTcpipNTBiosRegPath + L"\\"+ szBuffer;
- SetRegValue(UnicodeToAscii(wSTcpipNTBiosRegPath.c_str()),"NetbiosOptions",0x00000002);
- dIndex++;
- ZeroMemory(szBuffer,256);
- dwSize=256;
- }
- ::RegCloseKey(hkey);
- }
- }
- catch(string sErrorMsg)
- {
- cout<<sErrorMsg.c_str()<<endl;
- return false;
- }
- SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
- cout<<endl<<"success to stop the tcp/ip NtBios"<<endl<<endl;
- return true;
- }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。