2011-06-27 4 views
8

私は、接続がまだ存在しない場合、USB 3G Dongleを使用してインターネットに接続するソフトウェアを作成しました。新しい接続のためにネットワークロケーションダイアログ(自宅、仕事、公共)が表示されないようにするにはどうすればよいですか?

ソフトウェアがロードされると、インターネットが使用できるかどうかが検出され、そうでない場合はダイヤルアップ接続(RAS経由)が作成され、ダイヤルアップされます。

これが初めて発生した場合、ネットワークロケーションダイアログが表示され、ユーザに自宅、職場、公共のいずれを選択するかを尋ねます。

とにかく接続のネットワークロケーションをプログラムで設定することも、ダイアログを表示せずに自動的に場所をパブリックに設定することもできます。

乾杯

ギャビン

編集:ScottM

public bool Connect(bool monitorSignalUpdates) 
{ 
    RasPhoneBook rpb = new RasPhoneBook(); 
    rpb.Open(true); 
    if (!rpb.Entries.Contains("3G Connection")) 
    { 
     rpb.Entries.Add(RasEntry.CreateBroadbandEntry("3G Connection", RasDevice.GetDeviceByName("HUAWEI Mobile Connect - 3G Modem", RasDeviceType.Modem), true)); 
    } 
    _rd = new RasDialer(); 
    _rd.EntryName = "3G Connection"; 
    _rd.PhoneNumber = "*99#"; 
    try 
    { 
     _rd.Dial(); 
     if (monitorSignalUpdates) 
     { 
      _queryPort.DataReceived += new SerialDataReceivedEventHandler(_queryPort_DataReceived); 
     } 
     return true; 
    } 
    catch (Exception ex) 
    { 
     int i = 99; 
    } 
    return false; 
} 
+2

+1、私の疑いはありませんが、それはどれも-レス興味深いことです。 –

+0

私はあなたには言えませんでしたが、自分のネットワーク接続を追加する(新しいネットワークプログラムが何をするかをシミュレートする)ことができ、プログラムで新しいネットワークダイアログを忘れることができます。またはボタンが表示されたらクリックします。 – Ben

+1

接続の作成方法についていくつかのコードを投稿できますか?私はちょうど電話帳のエントリを作成し、直接ダイアログを表示せずにRASをダイヤルすることによってこれを行った – scottm

答えて

2

のためにこのレジストリエントリは、Windowsが( "ホーム/仕事/公共")の入力を要求するかどうかを制御します。

HKLM \システム\ CurrentControlSet \ Control \ Network \ NewNetworkWindowOff

http://technet.microsoft.com/en-us/library/gg252535%28v=ws.10%29.aspx

あなたは常に「システムトレイ:)

から 『新しいネットワーク上の通知をオフに』することができますし、それを行うことができれば、私は確信しているレジストリハックがありますおよび/または実行するためのPowerShellのAPI同じ:

http://technet.microsoft.com/en-us/library/cc725831%28v=ws.10%29.aspx

関連する問題