Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 50% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se Javy
Discount week - May - 50
Avatar
Davidsun
Člen
Avatar
Davidsun:30. dubna 21:27

Ahoj,
snažím se udělat okenní aplikaci, která bude umět importovat wifi profil z .xml do windows pro všechny uživatele. Exportování profilů a další funkce mám již skoro hotové, ale zde jsem se jako začátečník zasekl...

Předem děkuji za pomoc.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
//added
using System.Net.NetworkInformation;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.Globalization;
using System.Xml;
using System.IO;
using System.Net.WebSockets;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {


        }




        private void btnExportProfiles_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process prcsExport = new System.Diagnostics.Process();
            prcsExport.StartInfo.FileName = "netsh.exe";
            prcsExport.StartInfo.Arguments = "wlan export profile key=clear";
            prcsExport.StartInfo.UseShellExecute = false;
            prcsExport.StartInfo.RedirectStandardOutput = true;
            prcsExport.Start();


        }



        public void btnWlanProfilesShow_Click(object sender, EventArgs e)
        {


            Form2 ReaderForm = new Form2();


            ReaderForm.Show();
        }

        private void btnImportProfile_Click(object sender, EventArgs e)
        {



                OpenFileDialog open = new OpenFileDialog();
                open.Filter = "data(*.xml)|*.xml";
                open.Title = "data file";
                if (open.ShowDialog() == DialogResult.OK)
                {
                    txtBoxPathImport.Text = open.FileName; //textbox pro cestu
                }

                open.Dispose();


                System.Diagnostics.Process prcsImport = new System.Diagnostics.Process();
                prcsImport.StartInfo.FileName = "netsh.exe";
               // ---------> prcsImport.StartInfo.Arguments = "wlan add profile filename="+ txtBoxPathImport.Text + "user=all";
                prcsImport.StartInfo.UseShellExecute = false;
                prcsImport.StartInfo.CreateNoWindow = true;
                prcsImport.StartInfo.RedirectStandardOutput = true;

                prcsImport.Start();




                //string strCmd = "/C netsh wlan add profile filename=\"C:\\temp\\Wi-Fi-eurohruzt.xml\" user=all";
                //System.Diagnostics.Process.Start("cmd.exe", strCmd);


        }



    }
}

Zkusil jsem: V konzoli mi funguje následující kód, ale to není hezké řešení, musí se dopisovat cesta k souboru :-(

string strCmd = "/C netsh wlan add profile filename=\"C:\\temp\\Wi-Fi-NET.xml\" user=all";
System.Diagnostics.Process.Start("cmd.exe", strCmd);

zkoušel jsem udělat formulář s tlačítkem a nastaveným open file dialogem, se kterým vyberu xml soubor, ale nezvládnu již udělat příkaz s argumentem, kde by byla cesta vypsaná třeba v textboxu atd... :-(

        private void btnImportProfile_Click(object sender, EventArgs e)
        {
                System.Diagnostics.Process prcs = new System.Diagnostics.Process();
                prcs.StartInfo.FileName = "netsh.exe";
              // ---------> problem    prcs.StartInfo.Arguments = "netsh wlan add profile filename="C:\temp\Wi-Fi-NET.xml" user=all";
                prcs.StartInfo.UseShellExecute = false;
                prcs.StartInfo.CreateNoWindow = true;
                prcs.StartInfo.RedirectStandardOutput = true;

                prcs.Start();
}

Chci docílit: Snažím se, aby po kliknutí na tlačítko sevotevřel open file dialog a mohl jsem vybrat .xml a to by se následně importovalo.
cmd příkaz:

netsh wlan add profile filename="*C:\temp\Wi-Fi-NET.xml*" user=all
Odpovědět
30. dubna 21:27
Budeme spolu, dokud nás výpadek elektrické sítě nerozdělí :-)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Davidsun
Člen
Avatar
Davidsun:4. května 20:23

vyřešeno

string vnorit = txtBoxPathImport.Text;

string strCmd = ($"/c netsh wlan add profile filename= \"{vnorit}\" user=all");
System.Diagnostics.Process.Start("cmd.exe", strCmd);
Akceptované řešení
+5 Zkušeností
Řešení problému
Nahoru Odpovědět
4. května 20:23
Budeme spolu, dokud nás výpadek elektrické sítě nerozdělí :-)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.