none
修改網路連線名稱的怪問題 RRS feed

  • 一般討論

  • 各位先進好, 問題說明如下:

       程式碼在windows 2003 server (32位元) 運行正常, 但在windows 7 專業版(32位元) 運行不正常,
       實在查不出原因, 還請先進指點一二, 謝謝.

       環境: windows 7 pro sp1 32bit + c# .NET 2.0

       網路連線名稱原為【區域連線】, 透過程式修改成【abcd1234】,原始碼如下:

    //nicName = "區域連線"  
    private void RenameNIC(string nicName)
    {
           System.Net.NetworkInformation.NetworkInterface[] nics = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
           foreach (NetworkInterface NIC in nics)
           {
               if (NIC.Name == nicName)
               {
                   string pcName = System.Windows.Forms.SystemInformation.ComputerName;
                   RegistryKey RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, pcName);
    
                   RegistryKey = RegistryKey.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" + NIC.Id + @"\Connection", true);
                   RegistryKey.SetValue("Name", "abcd1234");
                   RegistryKey.Close();
                   break;
               }
           }
    }

    改好後, 到window網路連線的視窗, 按F5, 可以看到連線名稱已經變成【abcd1234】, 但弔詭的是用 ipconfig/all 去看, 連線名稱還是【區域連線】, 用程式去抓取連線名稱, 顯示出來的也是【區域連線】, 重新開機也是一樣.

    Private void test()
    {
    System.Net.NetworkInformation.NetworkInterface[] nics = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
    foreach (NetworkInterface NIC in nics)
    {
     Debug.Print( NIC.Name); // 這邊顯示出來的連線名稱, 還是【區域連線】
    }
    }

    2016年4月10日 上午 11:19

所有回覆

  • 是否是Windows7和Windows2003 Server註冊表不一樣?你確認註冊表完全一致嗎?有沒有確認過?

    ASP.NET Forum
    StackOverFlow
    FreeRice Donate
    Issues to report
    Free Tech Books Search and Download

    2016年9月24日 上午 09:18
  • 我想可能跟 Vista 以後預設為 英文版+語言包 架構有關。

    簡單一點就是人工改。

    到微軟網站下載 Process Monitor

    啟動監測後,手動去改 區域網路為 abcd ,然後看看 Process Monitor 監測到整個 Windows 哪些地方被改了。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2016年9月24日 下午 05:03
  • 程式在Windows 7執行時有以系統管理員身份執行嗎?
    2016年9月25日 上午 06:52
  • 請問樓主, 這個問題解決了嗎? 別忘了回覆你自己的問題.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2016年10月1日 下午 03:28
    版主