webForumDet fria alternativet

Problem med att starta proces.

.NETur .NET

2 svar · 236 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Vad jag vill göra är, om IIS ADMIN inte är igång, starta den. När jag avsluta mitt program, stäng av processen.
Jag har:

using System.Management; (och lagt till rätt referenser);

serviceController1
och där lag till
sawdata (maskinnamn)
IISADMIN (sevicename)

Sen en class:

private void serviceManagment()
		{
			if (serviceController1.Status.ToString() != "Running")
			{
				try
				{
					serviceController1.Start();
					string IISStatus;
					IISStatus = serviceController1.Status.ToString();
					this.Text = "MultiLanguage 2.0 IIS status: " + IISStatus;
					this.Refresh();
//					MessageBox.Show("Försöker");
				}
				catch(Exception fel)
				{
					MessageBox.Show(fel.Message,"Fel Sevicecontroller");;
				}
			}

		}

Det enda som händer är, om jag inte bortkommentera koden för MessageBoxen, så dyker den upp, ingenting annat.

Några tips?

drunken_masterMedlem sedan feb. 200435 inlägg
#2

Jag gjorde ett windowsprogram som funkar (inga ambitioner på att vara nyttigt eller buggfritt :-))

		
		//hämtar services och bind till en listbox
		protected void  RefreshService()
		{
			services = ServiceController.GetServices();
			this.servicelistbox.DisplayMember = "DisplayName";
			this.servicelistbox.DataSource = services;
			
		}
		//Visa info i textboxar
		private void servicelistbox_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			ServiceController controller = (ServiceController)servicelistbox.SelectedItem;
			this.servicenamn.Text = controller.DisplayName;
			this.servicetyp.Text= controller.ServiceType.ToString();
			this.servicestatus.Text = controller.Status.ToString();
			this.servicenamn2.Text= controller.ServiceName.ToString();
		}
		//reagera på knapptryckningar, starta, stoppa, pausa, och fortsätt
		private void buttonCommand_Click(object sender, System.EventArgs e)
		{
			Cursor.Current = Cursors.WaitCursor;
			ServiceController controller = (ServiceController)servicelistbox.SelectedItem;
			if(sender == this.startknapp)
			{
				if(controller.Status == ServiceControllerStatus.Stopped)
				{
					controller.Start();
					controller.WaitForStatus(ServiceControllerStatus.Running);
				}
			}
			else if(sender == this.stopknapp)
			{
				if(controller.Status != ServiceControllerStatus.Stopped)
				{
					controller.Stop();
					controller.WaitForStatus(ServiceControllerStatus.Stopped);
				}
			}
			else if(sender == this.pauseknapp)
			{
				if(controller.Status == ServiceControllerStatus.Running)
				{
					controller.Pause();
					controller.WaitForStatus(ServiceControllerStatus.Paused);
				}
			}
			else if(sender == this.fortsättknapp)
			{
				if(controller.Status == ServiceControllerStatus.Paused)
				{
					controller.Continue();
					controller.WaitForStatus(ServiceControllerStatus.Running);
					continueService();
				}
			}
			int index =  servicelistbox.SelectedIndex;
			RefreshService();
			servicelistbox.SelectedIndex = index;
			Cursor.Current = Cursors.Default;
		}
sawMedlem sedan mars 20011 880 inlägg
#3

Tack, jag skall gå igenom, och se hur jag kan använda mig av det.

124 ms totalt · 3 externa anrop · v20260731065814-full.b2af184d
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)