2014-01-09 94 views
1

有誰知道是否有任何方便的Windows API函數可用於確定活動的網絡類型。通過網絡類型我的意思是:檢測Windows網絡類型

  • 首頁
  • 工作
  • 公共

我希望能夠通知我軟件的用戶,如果他們是在公用網絡上,因爲它可能會導致我的軟件出現連接問題。

回答

2

要確定是否是在公用網絡上,可以檢查使用NLM_NETWORK_CATEGORY_PUBLIC值(NLM_NETWORK_CATEGORY enumeration)的INetwork interface(其用於確定網絡的屬性)和INetwork::GetCategory方法。

有關此主題的更多信息,請嘗試Windows 7 Network Location文檔。

+0

儘管這確實回答了我的問題,但您提供的鏈接讓我找到了更好的解決方案。除了檢查網絡位置外,還有一個Windows防火牆API函數可用於測試端口是否被允許:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365290(v = vs.85)的.aspx – pqvst