Comment activer par programmation “Découverte de réseau” sous Windows?

Mon projet ouvre les ports en utilisant le protocole UPnP. Windows désactive la découverte de périphérique UPnP par défaut, il faut activer la découverte du réseau dans le Centre Réseau et partage pour activer la découverte de périphérique UPnP.

Est-il possible de le faire par programmation?

Vous pouvez utiliser la commande cmd pour activer la découverte du réseau

netsh firewall set service type = upnp mode = mode 

puis donnez cette commande comme paramètre au code

 public void ExecuteCommandSync(object command) { try { // create the ProcessStartInfo using "cmd" as the program to be run, // and "/c " as the parameters. // Incidentally, /c tells cmd that we want it to execute the command that follows, // and then exit. System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command); // The following commands are needed to redirect the standard output. // This means that it will be redirected to the Process.StandardOutput StreamReader. procStartInfo.RedirectStandardOutput = true; procStartInfo.UseShellExecute = false; // Do not create the black window. procStartInfo.CreateNoWindow = true; // Now we create a process, assign its ProcessStartInfo and start it System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = procStartInfo; proc.Start(); // Get the output into a ssortingng ssortingng result = proc.StandardOutput.ReadToEnd(); // Display the command output. Console.WriteLine(result); } catch (Exception objException) { // Log the exception } } 

Si cette commande ne fonctionne pas, trouvez une autre commande pour activer la découverte du réseau en fonction de votre système.