PDA

View Full Version : آموزش: آموزش نوشتن SERVICE MANAGER با استفاده از کلاس های Win32 و کدهای wql



l4tr0d3ctism
یک شنبه 30 تیر 1392, 14:36 عصر
خب به مناسبت فرارسیدن ماه مبارک رمضان بزارید ما هم کمی آموزش بدیم که خدا کنه کسی مارو دعا کنه فقط به این منظور

حالا هر چقدر تونستم در کنار نوشتن برنامم آموزش قسمت های اصلی رو می دم

=======================

در مورد اینکه WMI چی هست می تونید از اینترنت بپرسید البته اگه سوال داشتید بپرسید

=======================

اینجا می خوام لیستی از سرویس های ویندوز رو بگیرم و جزپیات اون ها رو هم بیارم

این کار رو با استفاده از زبان VB.net *انجام میدم

=======================

2 تا listview می زارم و اسم اولی رو می کنم LSTservice و LSTDetiles

حالا باید رفرنس زیر رو هم تو قسمت project properties*اضافه کنم هم در قسمت Generall کد ها




Imports System.Management


بعد میام یک متغیر رو از نوع String*می زارم و مقدار "SELECT * FROM Win32_service" رو بهش انتصاب می دم که همون کد های WQL هست که مثل همون کدهای SQLO هم میمونه





Dim strLocal_service As String = "SELECT * FROM Win32_service"


حالا یک متغیر رو از نوع ManagementObjectSearcher می سازیم و مقدار "SELECT * FROM Win32_service" که داخل متغیر strLocal_service هست رو بهش انتصاب می دیم




Dim sysservice_Searcher As New ManagementObjectSearcher(strLocal_service)


حالا باید نتیجه رو با استفاده از حلقه For each در داخل listview چاپ کنیم منتها باید از فرمان Get جهت شروع پرسوجو در متغیر استفاده کنیم




dim i as interger
For Each servicelist As ManagementObject In sysservice_Searcher.Get()
lvServices.Items.Add(servicelist("name").ToString)
lvServices.Items(i).SubItems.Add((servicelist("State").ToString))
i = i + 1

Next servicelist




تو خط اول اومدم get زدم که پرسوجو شروع بشه و خطهای بعدی هم جهت اضافه کردن مقادیر در داخل listviewها هستش

اگه توجه کنید من گفتم از متغیر Servicelist از Syntax با اسم Name*رو بیرون بکش و اضافه کن به داخل listbox ( خاصیت name اسم سرویس هاست )

و بعد از Stat استفاده کردم که وضعیت سرویس ها رو نشون میده

در کلاس Win32_Service می تونید از مقادیر زیر هم استفاده کنید که دیگر ویژگی های مربوط به سرویس ها رو هم ببینید





boolean AcceptPause
boolean AcceptStop
string Caption
uint32 CheckPoint
string CreationClassName
string De******ion
boolean DesktopInteract
string DisplayName
string ErrorControl
uint32 ExitCode
datetime InstallDate
string Name
string PathName
uint32 ProcessId
uint32 ServiceSpecificExitCode
string ServiceType
boolean Started
string StartMode
string StartName
string
string Status
string SystemCreationClassName
string SystemName
uint32 TagId
uint32 WaitHint