sawMedlem sedan mars 20011 880 inlägg 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?
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 Tack, jag skall gå igenom, och se hur jag kan använda mig av det.