[تمرين] الكل يسأل و الكل يجيب
#48
الدالة CreateService تتيح لنا بإختيار مود التحميل في البارامتر dwStartType

كما يلي :

SERVICE_AUTO_START : يتم تحميل السيرفيس أليا وقت تشغيل النظام .

SERVICE_BOOT_START : يتم تحميل السيرفيس بلودر النظام مود boot

SERVICE_DEMAND_START : يحمل مباشرة فور إستدعاء الدالة StartService

IoInitSystem ## : SERVICE_SYSTEM_START

SERVICE_DISABLED : إبطال السيرفيس محاولا تشغيله في مود الخطأ و ذلك بإرجاع
ERROR_SERVICE_DISABLED

و عليه سنتمكن من عمل Loader بسيط مع التحكم في كيفية أو مود التحميل ...

PHP كود :
procedure CallDriver(sysName: string;LoadMode:Byte);
var
  
hSCManager, hService, hDevice: Hwnd;
  
dwBytesReturned: DWORD;
  
lpTemp: PChar;

begin
  hSCManager 
:= OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
  if 
hSCManager <> 0 then
  begin
    hService 
:= CreateService(hSCManager, 'Sample',
      
'For Practise !!!',
      
SERVICE_START or SERVICE_STOP or _DELETE,
      
SERVICE_KERNEL_DRIVER,
      
LoadMode,
      
SERVICE_ERROR_IGNORE,
      
PChar(sysName),
      
nil, nil, nil, nil, nil);

    if 
hService <> 0 then
    begin
      StartService
(hService, 0, lpTemp);
      
DeleteService(hService);
      
CloseServiceHandle(hService);
    
end else
    
begin
      ShowMessage
('Can''t Create Service .');
    
end;
    
CloseServiceHandle(hSCManager);
  
end else
  
begin
    ShowMessage
('Can''t connect to Service Control Manager Data Base .');
  
end;
end; 

حيث loadMode :

PHP كود :
// Start Type
//
  
{$EXTERNALSYM SERVICE_BOOT_START}
  
SERVICE_BOOT_START            = $00000000;
  {
$EXTERNALSYM SERVICE_SYSTEM_START}
  
SERVICE_SYSTEM_START          = $00000001;
  {
$EXTERNALSYM SERVICE_AUTO_START}
  
SERVICE_AUTO_START            = $00000002;
  {
$EXTERNALSYM SERVICE_DEMAND_START}
  
SERVICE_DEMAND_START          = $00000003;
  {
$EXTERNALSYM SERVICE_DISABLED}
  
SERVICE_DISABLED              = $00000004; 

****ا المشاركة و طرح الأفكار و التوضيحات بارك الله فيكم ,,
I'M Fly Like A G6

الرد


الردود في هذا الموضوع
[تمرين] الكل يسأل و الكل يجيب - بواسطة Goblin - 05-08-2009, 07:48 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 05-08-2009, 08:24 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 06-08-2009, 09:21 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 06-08-2009, 11:22 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة mohfa - 06-08-2009, 11:56 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 08-08-2009, 12:05 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 09-08-2009, 12:19 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 10-08-2009, 12:25 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة o15s19 - 11-08-2009, 08:00 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 03:50 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 04:37 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 05:00 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 05:29 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 05:40 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 06:10 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 27-08-2009, 06:36 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 28-08-2009, 02:57 AM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 28-08-2009, 02:59 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة MjIrIm - 06-09-2009, 10:37 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة MjIrIm - 07-09-2009, 02:01 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 23-12-2009, 03:45 PM
[تمرين] الكل يسأل و الكل يجيب - بواسطة TF6M - 23-12-2009, 04:01 PM

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


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