Windows Sevices Başlatma Durdurma

Saprofit

Hectopat
Katılım
12 Şubat 2015
Mesajlar
2
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar benim C# da sorunum var. Windows Services durdurup başlatamıyorum ama istediğim services.

services.msc de gözükmüyor "process hacker" gibi programlarda gözüküyor.

Benim istediğim process hacker den bulduğum services'i durdurmak ve başlatmak isitiyorum bana bunun kodlarını yaza bilir misiniz? Buradaki amacım bilgi edinmek o yüzden kodları açıklarsanız sevinirim. Şimdiden tüm yorumlarınız için elinize sağlık.
 
Son düzenleyen: Moderatör:
İstediğiniz kodlar bende mevcut. Müsait olduğum zaman size yollarım.
Anlamadığım konu process hacker programında görünüp de servislerde görünmeyen servis hangisi?
Öyle bir durum olsa bile process hacker programındaki servisler sekmesinde tablonun isim kısmındaki yazıyı programa parametre olarak girmeniz yeterli olacaktır.
 
Oyundaki bir services hatalı elle kapatıp açınca düzeliyor ama program olarak istiyorum. Nedense bulduğum ve öğrendiğim kodlar dosya bulanamadı gibi bir hata veriyor ve services kodlamayı öğrensem fena olmaz, bilişim okuyorum bilgi önemlidir. :D
 
Son düzenleyen: Moderatör:
Tamam müsait olduğum zaman yollarım. Benim yazdığım program var. Bir kaç eksiği var, ama iş görüyor. Büyük rahatlık sağlıyor. Servislere girmenize gerek kalmıyor. Combobox'a istediğiniz servisin adını yazıyorsunuz, servis açıksa kapat tuşu, kapalıysa başlat tuşu çıkıyor.

Kusura bakmayın. Kodlar başka harddiskteydi. Şimdi müsait olabildim. Birazdan takıp size yollarım.

Kodların servislerle ilgili kısmını yolluyorum. Projenin tamamına burdan erişebilirsiniz.
Kod:
        public static void StartService(string serviceName, int timeoutMilliseconds)
        {
            ServiceController service = new ServiceController(serviceName);
            try
            {
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

                service.Start();
                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
            }
            catch
            {
                // ...
            }
        }

        public static void StopService(string serviceName, int timeoutMilliseconds)
        {
            ServiceController service = new ServiceController(serviceName);
            try
            {
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

                service.Stop();
                service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
            }
            catch
            {
                // ...
            }
        }

        public static void RestartService(string serviceName, int timeoutMilliseconds)
        {
            ServiceController service = new ServiceController(serviceName);
            try
            {
                int millisec1 = Environment.TickCount;
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

                service.Stop();
                service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);

                // count the rest of the timeout
                int millisec2 = Environment.TickCount;
                timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds - (millisec2 - millisec1));

                service.Start();
                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
            }
            catch
            {
                // ...
            }
        }
 
Uyarı! Bu konu 11 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı