[C#]Problema con Process()

di
Anonimizzato5004
il
4 risposte

[C#]Problema con Process()

Sono alle prime armi con C#. Ecco il codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace WindowsFormsApplication1
{
    
    public partial class Backup : Form
    {
        int check = 1;
        public Backup()
        {
            InitializeComponent();
            
            notifyIcon1.BalloonTipTitle = "Backup dei Dati importanti";
            notifyIcon1.BalloonTipText = "Fare click qui se si desidera \neffettuare un Backup dei dati \nimportanti!";
            notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(0);
            notifyIcon1.BalloonTipClicked += new EventHandler(foo);
            notifyIcon1.Click += new EventHandler(bbb);

            
        }
        private void foo(object sender, EventArgs e)
        {
           
            if (check == 1)
            {
               

                check = 0;
                notifyIcon1.BalloonTipTitle = "Backup in esecuzione";
                notifyIcon1.BalloonTipText = "Backup in corso..\nE' possibile proseguire il proprio lavoro \nl'operazione continuerà automaticamente!";
                notifyIcon1.ShowBalloonTip(15);
                Process myProcess = System.Diagnostics.Process.Start(@"C:\Programmi\Backup\Fabio.bat");
                myProcess.WaitForExit();
                myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                myProcess.StartInfo.CreateNoWindow = True;
                ccc();
                System.Windows.Forms.Application.Exit();
                
            }

        }
        private void bbb(object sender, EventArgs e)
        {

            notifyIcon1.ShowBalloonTip(0);
        }
        private void ccc()
        {
            notifyIcon1.BalloonTipTitle = "Backup completato!";
            notifyIcon1.BalloonTipText = "Il Backup dei dati è stato completato\nArrivederci!";
            notifyIcon1.ShowBalloonTip(10);
            System.Threading.Thread.Sleep(5000);

        }

        private void Backup_Load(object sender, EventArgs e)
        {

        }

    }     
     
        
}
Ottengo questi due errori ( Visual studio 9 (2008) ):


Errore 1 'System.Diagnostics.Process' non contiene una definizione di 'Startinfo' e non è stato trovato alcun metodo di estensione 'Startinfo'che accetta un primo argomento di tipo 'System.Diagnostics.Process'. Probabilmente manca una direttiva using o un riferimento a un assembly. C:\Users\Marco\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 46 27 WindowsFormsApplication1


Errore 2 Impossibile accedere al membro 'System.Diagnostics.Process.Start(string)' con un riferimento a un'istanza. Qualificarlo con un nome di tipo C:\Users\Marco\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 47 17 WindowsFormsApplication1


Cosa faccio?

4 Risposte

  • Re: [C#]Problema con Process()

    Ciao,
    per usare la classe process, ti conviene riempiere i campi processinfo cosa che attualmente non fai, es.

  • Re: [C#]Problema con Process()

    Ciao,
    per usare la classe process, ti conviene riempiere i campi processinfo cosa che attualmente non fai, es.

  • Re: [C#]Problema con Process()

    Non mi torna..
    Ditemi come correggere..dopo capisco.Adesso sono molto confuso..
    Grazie
  • Re: [C#]Problema con Process()

    
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Diagnostics;
    
    namespace WindowsFormsApplication1
    {
       
        public partial class Backup : Form
        {
            int check = 1;
            public Backup()
            {
                InitializeComponent();
               
                notifyIcon1.BalloonTipTitle = "Backup dei Dati importanti";
                notifyIcon1.BalloonTipText = "Fare click qui se si desidera \neffettuare un Backup dei dati \nimportanti!";
                notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;
                notifyIcon1.Visible = true;
                notifyIcon1.ShowBalloonTip(0);
                notifyIcon1.BalloonTipClicked += new EventHandler(foo);
                notifyIcon1.Click += new EventHandler(bbb);
    
               
            }
            private void foo(object sender, EventArgs e)
            {
               
                if (check == 1)
                {
                   
    
                    check = 0;
                    notifyIcon1.BalloonTipTitle = "Backup in esecuzione";
                    notifyIcon1.BalloonTipText = "Backup in corso..\nE' possibile proseguire il proprio lavoro \nl'operazione continuerà automaticamente!";
                    notifyIcon1.ShowBalloonTip(15);
    				
    				Process myProcess = System.Diagnostics.Process();
    	            processoWinInst.StartInfo.Arguments = "/quiet"; //definisco i parametri
    	            myProcess.StartInfo.FileName = @"C:\Programmi\Backup\Fabio.bat";
    	            myProcess.StartInfo.Verb = "Backup";
    	            myProcess.WaitForExit();
    	            myProcess.StartInfo.UseShellExecute = false;
    	            myProcess.StartInfo.CreateNoWindow = true;
    	            myProcess.Exited += new EventHandler(myProcess_Exited); //aggancio l'evento
    	            myProcess.EnableRaisingEvents = true; //attivo il controllo sul processo
    	            myProcess.Start();
    	            myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    	            myProcess.StartInfo.CreateNoWindow = True;
    			
                    ccc();
                   
                }
    
            }
    		
    		void myProcess_Exited(object sender, EventArgs e)
            {
                //metti quello che deve fare al termine del processo che hai lanciato con  myProcess
    			 System.Windows.Forms.Application.Exit();
            }
    		
            private void bbb(object sender, EventArgs e)
            {
    
                notifyIcon1.ShowBalloonTip(0);
            }
            private void ccc()
            {
                notifyIcon1.BalloonTipTitle = "Backup completato!";
                notifyIcon1.BalloonTipText = "Il Backup dei dati è stato completato\nArrivederci!";
                notifyIcon1.ShowBalloonTip(10);
                System.Threading.Thread.Sleep(5000);
    
            }
    
            private void Backup_Load(object sender, EventArgs e)
            {
    
            }
    
        }     
         
    }
           
    
    
    provalo così.....
    dovrebbe andarti.....
Devi accedere o registrarti per scrivere nel forum
4 risposte