تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ادارة خدمات الويندوز Windows Services المثبة
#1
كاتب الموضوع : Boutemine Oualid



بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

من خلال هذه الشفرة يمكننا التحكم في الWindows Services المثبة على الجهاز

الشفرة تستعمل مجال الأسماء System.ServiceProcess
لذلك علينا اضافة مرجع إلى المجمع.
نقطة أخرى، الشفرة تتطلب صلاحيات مدير لذلك علينا اضافة ملف Manifest للمشروع
للمزيد من المعلومات راجعوا درس الأستاذ سامر عن موضوع الصلاحيات على هذا الرابط
http://vb4arb.com/vb/showthread.php?1407...t=Security



كود :
using System;
using System.ServiceProcess;
using System.Windows.Forms;
namespace GestionDesServicesWindows
{
public partial class frmMain : Form
{
private void frmMain_Load(object sender, System.EventArgs e)
{
ReadSvcs();
}
public frmMain()
{
InitializeComponent();
}
private void ReadSvcs()
{
ServiceController[] ListSvcs;
ListViewItem LVW;
ListSvcs = ServiceController.GetServices();

lvwServices.Items.Clear();
foreach (ServiceController SingleSvc in ListSvcs)
{
LVW = lvwServices.Items.Add(SingleSvc.DisplayName);
LVW.SubItems.Add(SingleSvc.ServiceName);
LVW.SubItems.Add(SingleSvc.Status.ToString());
LVW.SubItems.Add(SingleSvc.ServiceType.ToString());
System.Text.StringBuilder dependedServices = new System.Text.StringBuilder(5000,10000);
foreach (ServiceController serviceController in SingleSvc.DependentServices)
{
dependedServices.Append(serviceController.DisplayName);
dependedServices.Append("; ");
}
LVW.SubItems.Add(dependedServices.ToString());
}
}
private void lvwServices_Click(object sender, System.EventArgs e)
{
if (lvwServices.SelectedItems[0].Text != "")
{
switch (lvwServices.SelectedItems[0].SubItems[2].Text)
{
case "Stopped":
cmdStop.Enabled = false;
cmdStart.Enabled = true;
cmdPause.Enabled = false;
break;
case "Running":
cmdStop.Enabled = true;
cmdPause.Enabled = true;
cmdStart.Enabled = false;
break;
default:
cmdStop.Enabled = false;
cmdStart.Enabled = false;
cmdPause.Enabled = false;
break;
}
}
}
private void cmdStop_Click(object sender, System.EventArgs e)
{
if (lvwServices.SelectedItems.Count == 0) return;
if (lvwServices.SelectedItems[0].Text != "")
{
StopService(lvwServices.SelectedItems[0].SubItems[1].Text);
}
}
public void StopService(string ServiceName)
{
ServiceController[] ListSvcs;
ListSvcs = ServiceController.GetServices();
try
{
foreach (ServiceController SingleSvc in ListSvcs)
{
if (SingleSvc.ServiceName.ToUpper() == ServiceName.ToUpper())
{
SingleSvc.Stop();
ReadSvcs();
break;
}
}
}
catch (Exception e)
{
MessageBox.Show("Impossible de stopper le service, il peut etre désactivé.", "Erreur: " + e.Source);
}
}
public void StartService(string serviceName)
{
ServiceController[] ListSvcs;
ListSvcs = ServiceController.GetServices();
try
{
foreach (ServiceController SingleSvc in ListSvcs)
{
if (SingleSvc.ServiceName.ToUpper() == serviceName.ToUpper()) {
SingleSvc.Start();
ReadSvcs();
break;
}
}
}
catch (Exception e) {
MessageBox.Show("The service may be disabled.", "Error: " + e.Source);
}
}
private void cmdStart_Click(object sender, System.EventArgs e)
{
if (lvwServices.SelectedItems.Count == 0) return;
if (lvwServices.SelectedItems[0].Text != "")
{
StartService(lvwServices.SelectedItems[0].SubItems[1].Text);
}
}
private void cmdRefresh_Click(object sender, System.EventArgs e)
{
ReadSvcs();
}
private void cmdPause_Click(object sender, EventArgs e)
{
if (lvwServices.SelectedItems.Count == 0) return;
if (lvwServices.SelectedItems[0].Text != "")
{
PauseService(lvwServices.SelectedItems[0].SubItems[1].Text);
}
}
private void PauseService(string serviceName)
{
ServiceController[] ListSvcs;
ListSvcs = ServiceController.GetServices();
foreach (ServiceController SingleSvc in ListSvcs)
{
if (SingleSvc.ServiceName.ToUpper() == serviceName.ToUpper())
{
if (SingleSvc.CanPauseAndContinue)
SingleSvc.Pause();
else
{
MessageBox.Show("The service doesn't support this operation", "Error");
break;
}
ReadSvcs();
break;
}
}
}
}
}
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة :: الحصول على الـForms الموجودة في المشروع في هيئة System.Windows.Forms.Form Aly El-Haddad 2 1,037 12-11-12, 02:22 PM
آخر رد: samielkholy
  ::: Disable a windows themes for controls ::: شئ عجيب RaggiTech 0 704 20-10-12, 12:12 PM
آخر رد: RaggiTech
  كيفية ادارة صورة 360 درجة RaggiTech 0 445 17-10-12, 07:24 PM
آخر رد: RaggiTech
  مكتبة أكواد التطوير على منصات ال Windows Mobile RaggiTech 0 401 17-10-12, 06:49 PM
آخر رد: RaggiTech
  معرفة العنوان الفيزيائي لكروت الشبكة المثبة على الجهاز RaggiTech 0 597 17-10-12, 06:47 PM
آخر رد: RaggiTech
  لمعرفة الطابعات المثبة على الجهاز RaggiTech 0 283 17-10-12, 06:15 PM
آخر رد: RaggiTech
  Windows Authentication RaggiTech 0 399 17-10-12, 05:50 PM
آخر رد: RaggiTech
  معرفة الوقت الذي مضى على تشغيل الويندوز (الوقت هنا بالملي ثانية) RaggiTech 0 429 17-10-12, 05:44 PM
آخر رد: RaggiTech
  لمراقبه اي اضافه او تعديل لساعه الويندوز RaggiTech 0 267 17-10-12, 05:37 PM
آخر رد: RaggiTech
  لمراقبه اي اضافه او الغاء للخطوط الموجوده في الويندوز RaggiTech 0 256 17-10-12, 05:36 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم