亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uprocessservice.pas

?? del *.obj del *.dcu del *.~* del *.hpp del *.dcp del *.dpl del *.cesettings del *.log upx sy
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{*******************************************************}
{                                                       }
{       系統(tǒng)工具箱程序中服務(wù)管理過程單元                }
{                                                       }
{             Copyright (c) 2005, MICHAEL               }
{    http://xuhaohome.yeah.net OR xuhaohome.2008.cc     }
{     E-Mail:x_h168@163.com   QQ:10660578 8416321       }
{                                                       }
{*******************************************************}

unit UProcessService;

interface

uses WinSvc,Classes,Windows,Sysutils;

function ServiceGetList(
  sMachine : string;
  dwServiceType,
  dwServiceState : Dword;
  slServicesList : TStrings )
  : boolean;                            //List service

function ServiceGetKeyName(
  sMachine,
  sServiceDispName : string ) : string;    //convert displayname to keyname

function ServiceGetDisplayName(
  sMachine,
  sServiceKeyName : string ) : string;     //conver keyname to displayname

function ServiceGetStatus(
  sMachine,
  sService : string ) : DWord;           //Get service status

function ServiceRunning(
  sMachine,
  sService : string ) : boolean;

function ServiceStopped(
  sMachine,
  sService : string ) : boolean;

function ServiceStart(
  sMachine,
  sService : string ) : boolean;

function ServiceStop(
  sMachine,
  sService : string ) : boolean;
  


  type
  PTcpInfo = ^TTcpInfo;
  TTcpInfo = packed record
    prev: PTcpInfo;
    next: PTcpInfo;
    state: UINT;
    localip: UINT;
    localport: UINT;
    remoteip: UINT;
    remoteport: UINT;
  end;

  PIds = ^TIds;
  TIds = array[0..9] of UINT;
const
  TcpIdentifiers: TIds = (1, 3, 6, 1, 2, 1, 6, 13, 1, 0);
  UdpIdentifiers: TIds = (1, 3, 6, 1, 2, 1, 7, 5, 1, 0);
  TcpState: array[0..11] of string[13] = ('未知狀態(tài)',
                                          '已經(jīng)結(jié)束',
                                          '監(jiān)聽狀態(tài)',
                                          'SYN_SENT',
                                          'SEN_RECEIVED',
                                          '已經(jīng)建立',
                                          'FIN_WAIT',
                                          'FIN_WAIT2',
                                          '結(jié)束等待',
                                          '正在結(jié)束',
                                          'LAST_ACK',
                                          '超時等待');
  M_CREATESOCKETERROR = '創(chuàng)建Socket失敗!' ;
  M_TCPUDP = '雙擊獲得詳細信息' ;
  M_PROCESS = '右鍵選擇結(jié)束進程' ;
  M_SERVICE = '右鍵選擇啟動和停止服務(wù)';



implementation
const
  //
  // Service Types
  //
  SERVICE_KERNEL_DRIVER       = $00000001;
  SERVICE_FILE_SYSTEM_DRIVER  = $00000002;
  SERVICE_ADAPTER             = $00000004;
  SERVICE_RECOGNIZER_DRIVER   = $00000008;

  SERVICE_DRIVER              =
    (SERVICE_KERNEL_DRIVER or
     SERVICE_FILE_SYSTEM_DRIVER or
     SERVICE_RECOGNIZER_DRIVER);

  SERVICE_WIN32_OWN_PROCESS   = $00000010;
  SERVICE_WIN32_SHARE_PROCESS = $00000020;
  SERVICE_WIN32               =
    (SERVICE_WIN32_OWN_PROCESS or
     SERVICE_WIN32_SHARE_PROCESS);

  SERVICE_INTERACTIVE_PROCESS = $00000100;

  SERVICE_TYPE_ALL            =
    (SERVICE_WIN32 or
     SERVICE_ADAPTER or
     SERVICE_DRIVER  or
     SERVICE_INTERACTIVE_PROCESS);



//-------------------------------------
// Get a list of services
//
// return TRUE if successful
//
// sMachine:
//   machine name, ie: \\SERVER
//   empty = local machine
//
// dwServiceType
//   SERVICE_WIN32,
//   SERVICE_DRIVER or
//   SERVICE_TYPE_ALL
//
// dwServiceState
//   SERVICE_ACTIVE,
//   SERVICE_INACTIVE or
//   SERVICE_STATE_ALL
//
// slServicesList
//   TStrings variable to storage
//
{----在WindowsNT下,各種Service都存在service control manager database中,因此我們可以通過對service control manager database進行操作來實現(xiàn)對Service的編程。下面介紹常用的函數(shù):

1:SC_HANDLE OpenSCManager(LPCTSTR lpszMachineName,
                        LPCTSTR lpszDatabaseName,
                        DWORD fdwDesiredAccess);

----Open SCManager 函數(shù)打開指定計算機上的service control manager database。其中參數(shù)lpszMachineName指定計算機名,若為空則指定為本機。參數(shù)lpszDatabaseName指定要打開的service control manager database,默認為空。

----參數(shù)fdwDesiredAccess指定操作的權(quán)限,可以為下面取值之一

SC_MANAGER_ALL_ACCESS        //所有權(quán)限
SC_MANAGER_CONNECT           //允許連接service control manager
SC_MANAGER_CREATE_SERVICE    //允許創(chuàng)建服務(wù)對象并把它加入service control manager database
SC_MANAGER_ENUMERATE_SERVICE //允許枚舉service control manager database中的服務(wù)SC_MANAGER_LOCK              //允許鎖住service control manager database
SC_MANAGER_QUERY_LOCK_STATUS //允許獲取servicecontrolmanagerdatabase的封鎖信息

----函數(shù)返回值:函數(shù)執(zhí)行成功則返回一個指向service control manager database的句柄,失敗則返回NULL。

2:SC_HANDLE OpenService(SC_HANDLE schSCManager,
                        LPCTSTR lpszServiceName,

                        DWORD fdwDesiredAccess);

----OpenService函數(shù)打開指定的Service。

----其中參數(shù)schSCManager是指向service control manager database的句柄,由OpenSCManager函數(shù)返回。

----參數(shù)lpszServiceName要打開的服務(wù)的名字,注意大小寫。

----參數(shù)fdwDesiredAccess指定操作的權(quán)限,可以為下面取值之一

SERVICE_ALL_ACCESS            //所有權(quán)限
SERVICE_CHANGE_CONFIG         //允許更改服務(wù)的配置
SERVICE_ENUMERATE_DEPENDENTS  //允許獲取依賴于該服務(wù)的其他服務(wù)
SERVICE_INTERROGATE            //允許立即獲取服務(wù)狀態(tài)
SERVICE_PAUSE_CONTINUE        //允許暫停和喚醒服務(wù)
SERVICE_QUERY_CONFIG           //允許獲取服務(wù)配置
SERVICE_QUERY_STATU            //允許通過訪問service control manager獲取服務(wù)狀態(tài)
SERVICE_START                  //允許啟動服務(wù)
SERVICE_STOP                   //允許停止服務(wù)
SERVICE_USER_DEFINE_CONTROL    //允許用戶指定特殊的服務(wù)控制碼


----函數(shù)返回值:函數(shù)執(zhí)行成功則返回指向某項服務(wù)的句柄,失敗則返回NULL。

3:BOOL QueryServiceStatus(SC_HANDLE schService,LPSERVICE_STATUS lpssServiceStatus);

----QueryServiceStatus函數(shù)返回指定服務(wù)的當前狀態(tài)。

----其中參數(shù)schService是指向某項服務(wù)的句柄,由OpenService函數(shù)返回,且必須SERVICE_QUERY_STATUS的權(quán)限。

----參數(shù)lpssServiceStatus中存放返回的服務(wù)狀態(tài)信息,結(jié)構(gòu)如下
typedefstruct_SERVICE_STATUS{
    DWORD dwServiceType;        //服務(wù)類型
    DWORD dwCurrentState;        //當前狀態(tài)
    DWORD dwControlsAccepted;    //服務(wù)可接受的控制碼
    DWORD dwWin32ExitCode;        //Win32出錯代碼
    DWORD dwServiceSpecificExitCode;//服務(wù)出錯代碼
    DWORD dwCheckPoint;            //用于跟蹤服務(wù)長時間操作
    DWORD dwWaitHint;             //服務(wù)某一操作的最大允許時間,以毫秒為單位
}//SERVICE_STATUS,*LPSERVICE_STATUS;

{----函數(shù)返回值:函數(shù)執(zhí)行成功則返回True,失敗則返回False。

4:BOOLStartService(SC_HANDLE schService,DWORD dwNumServiceArgs,LPCTSTR * lpszServiceArgs);

----StartService函數(shù)啟動指定的服務(wù)。
----其中參數(shù)schService是指向某項服務(wù)的句柄,由OpenService函數(shù)返回,且必須有SERVICE_START的權(quán)限。
----dwNumServiceArgs為啟動服務(wù)所需的參數(shù)的個數(shù)。
----lpszServiceArgs為啟動服務(wù)所需的參數(shù)。函數(shù)返回值:函數(shù)執(zhí)行成功則返回True,失敗則返回False。

5:BOOL ControlService(SC_HANDLE hService,DWORD dwControl,LPSERVICE_STATUS lpServiceStatus);

----ControlService函數(shù)向Win32service發(fā)送控制碼。
----其中參數(shù)hService是指向某項服務(wù)的句柄,由OpenService函數(shù)返回。
----參數(shù)dwControl為控制碼,常用的有
    SERVICE_CONTROL_STOP     //停止服務(wù)
    SERVICE_CONTROL_PAUSE    //暫停服務(wù)
    SERVICE_CONTROL_CONTINUE    //喚醒暫停的服務(wù)
    SERVICE_CONTROL_INTERROGATE//刷新某服務(wù)的狀態(tài)
----參數(shù)lpServiceStatus指向SERVICE_STATUS結(jié)構(gòu),用于存放該服務(wù)最新的狀態(tài)信息。
----函數(shù)返回值:函數(shù)執(zhí)行成功則返回True,失敗則返回False。

6:BOOL EnumServicesStatus(SC_HANDLE hSCManager,
                        DWORD dwServiceType,
                        DWORD dwServiceState,
                        LPENUM_SERVICE_STATUS lpServices,
                        DWORD cbBufSize,
                        LPDWORD pcbBytesNeeded,
                        LPDWORD lpServicesReturned,
                        LPDWORD lpResumeHandle);

----EnumServicesStatus函數(shù)用于枚舉NT下存在的Service。
----其中參數(shù)hSCManager是指向service control manager database的句柄,由OpenSCManager函數(shù)返回,且必須有SC_MANAGER_ENUMERATE_SERVICE的權(quán)限。
----參數(shù)dwServiceType指定按服務(wù)的類型枚舉。
----參數(shù)dwServiceState指定按服務(wù)的狀態(tài)枚舉。
----參數(shù)lpServices指向ENUM_SERVICE_STATUS結(jié)構(gòu),用于存放返回的服務(wù)的名字和狀態(tài)信息。
----參數(shù)cbBufSize返回參數(shù)lpServices的長度,以字節(jié)為單位。
----參數(shù)pcbBytesNeeded返回獲取剩余的Service所需字節(jié)的個數(shù)。
----參數(shù)lpServicesReturned返回服務(wù)的個數(shù)。
----參數(shù)lpResumeHandle,當?shù)谝淮握{(diào)用時該參數(shù)為0,當該函數(shù)再次被調(diào)用以獲取另外的信息時,該參數(shù)表示下一個被讀的Service。
----函數(shù)返回值:函數(shù)執(zhí)行成功則返回True,失敗則返回False。
----值得注意的是通常情況下該函數(shù)返回的結(jié)果為FALSE,我們可以調(diào)用GetLastError()來獲取進一步信息。因為一臺機器上有多種服務(wù)存在,所以GetLastError()應(yīng)為ERROR_MORE_DATA,此時應(yīng)再次調(diào)用EnumServicesStatus函數(shù)以獲取正確的Service列表。
}
function ServiceGetList(
  sMachine : string;
  dwServiceType,
  dwServiceState : Dword;
  slServicesList : TStrings )
  : boolean;
const
  //
  // assume that the total number of
  // services is less than 4096.
  // increase if necessary
  cnMaxServices = 4096;

type
  TSvcA = array[0..cnMaxServices]
          of TEnumServiceStatus;
  PSvcA = ^TSvcA;
          
var
  //
  // temp. use
  j : integer;

  //
  // service control
  // manager handle
  schm          : SC_Handle;

  //
  // bytes needed for the
  // next buffer, if any
  nBytesNeeded,

  //
  // number of services
  nServices,

  //
  // pointer to the
  // next unread service entry
  nResumeHandle : DWord;

  //
  // service status array
  ssa : PSvcA;
begin
  Result := false;

  // connect to the service
  // control manager
  schm := OpenSCManager(
    PChar(sMachine),
    Nil,
    SC_MANAGER_ALL_ACCESS);

  // if successful...
  if(schm > 0)then
  begin
    nResumeHandle := 0;

    New(ssa);

    EnumServicesStatus(
      schm,
      dwServiceType,
      dwServiceState,
      ssa^[0],
      SizeOf(ssa^),
      nBytesNeeded,
      nServices,
      nResumeHandle );

    //
    // assume that our initial array
    // was large enough to hold all
    // entries. add code to enumerate
    // if necessary.
    //
    
    for j := 0 to nServices-1 do
    begin
      slServicesList.
        Add( StrPas(
          ssa^[j].lpDisplayName ) );
    end;

    Result := true;

    Dispose(ssa);

    // close service control
    // manager handle
    CloseServiceHandle(schm);
  end;
end;


function ServiceGetKeyName(
  sMachine,
  sServiceDispName : string ) : string;
var
  //
  // service control
  // manager handle
  schm          : SC_Handle;

  //
  // max key name len
  nMaxNameLen   : DWord;

  //
  // temp. string
  psServiceName : PChar;
begin
  Result := '';

  // expect a service key
  // name shorter than 255
  // characters
  nMaxNameLen := 255;

  // connect to the service
  // control manager
  schm := OpenSCManager(
    PChar(sMachine),
    Nil,
    SC_MANAGER_CONNECT);

  // if successful...
  if(schm > 0)then
  begin
    psServiceName :=
      StrAlloc(nMaxNameLen+1);

    if(nil <> psServiceName)then
    begin
      if( GetServiceKeyName(schm,PChar(sServiceDispName),
      psServiceName, //返回值
      nMaxNameLen ) )then
      begin
        psServiceName
          [nMaxNameLen] := #0;

        Result :=
          StrPas( psServiceName );
      end;

      StrDispose(psServiceName);
    end;

    // close service control
    // manager handle
    CloseServiceHandle(schm);
  end;
end;


function ServiceGetDisplayName(
  sMachine,
  sServiceKeyName : string ) : string;
var
  //
  // service control
  // manager handle
  schm          : SC_Handle;

  //
  // max display name len
  nMaxNameLen   : DWord;

  //
  // temp. string
  psServiceName : PChar;
begin
  Result := '';

  // expect a service display
  // name shorter than 255
  // characters
  nMaxNameLen := 255;

  // connect to the service
  // control manager
  schm := OpenSCManager(
    PChar(sMachine),
    Nil,
    SC_MANAGER_CONNECT);

  // if successful...

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美国产毛片在线| 久久久久免费观看| 亚洲一区二区偷拍精品| 欧美专区亚洲专区| 午夜久久电影网| 日韩一级欧美一级| 美女在线视频一区| 国产拍欧美日韩视频二区| av一区二区三区黑人| 亚洲视频免费在线观看| 欧美日韩一区小说| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产激情一区二区三区| 国产欧美视频一区二区三区| 99综合影院在线| 亚洲高清视频中文字幕| 久久在线观看免费| k8久久久一区二区三区| 亚洲成av人片在线观看无码| 久久免费美女视频| 色综合久久天天| 婷婷开心久久网| 久久尤物电影视频在线观看| 日本乱人伦一区| 国产一区二区91| 亚洲第一成人在线| 欧美国产禁国产网站cc| 欧美性极品少妇| 国产成人av资源| 成人午夜精品在线| 亚洲午夜视频在线观看| 久久亚洲精华国产精华液| 91极品美女在线| 韩国av一区二区三区| 一区二区理论电影在线观看| 久久午夜免费电影| 欧美三级韩国三级日本一级| 国产超碰在线一区| 日韩国产欧美视频| 亚洲图片你懂的| 国产丝袜美腿一区二区三区| 欧美三级中文字幕在线观看| 成人丝袜高跟foot| 奇米色一区二区三区四区| 亚洲欧洲精品一区二区三区 | 国产精品综合一区二区三区| 亚洲一区视频在线| 国产精品麻豆视频| 亚洲精品一区二区三区精华液| 色94色欧美sute亚洲线路一久| 精品一区二区在线观看| 亚洲成va人在线观看| 久久av中文字幕片| 亚洲一区二区精品3399| 中文字幕乱码亚洲精品一区| 日韩精品中文字幕在线不卡尤物 | 一区二区三区在线播放| 欧美高清在线一区| 久久久国产精华| 久久亚洲影视婷婷| 日韩三级免费观看| 欧美一级在线免费| 51精品秘密在线观看| 欧美日韩五月天| 欧美视频在线一区二区三区 | av在线播放一区二区三区| 精品亚洲成av人在线观看| 青娱乐精品在线视频| 日韩黄色在线观看| 午夜av一区二区| 日韩和欧美一区二区| 亚洲高清视频的网址| 亚洲v中文字幕| 亚洲成av人片在www色猫咪| 一区二区三区精品在线| 亚洲主播在线观看| 亚洲一区二区三区中文字幕| 亚洲综合免费观看高清完整版| 亚洲精品乱码久久久久久久久| 亚洲精选视频在线| 亚洲综合激情另类小说区| 亚洲精品中文在线影院| 亚洲精品菠萝久久久久久久| 一级中文字幕一区二区| 性欧美疯狂xxxxbbbb| 男男视频亚洲欧美| 久久99热99| 国产成人自拍网| 99久久er热在这里只有精品15 | 国产mv日韩mv欧美| 国产成人一级电影| av在线不卡免费看| 欧美亚洲国产一卡| 欧美大片一区二区三区| 久久综合色之久久综合| 国产精品久久久久久久第一福利 | 91精品欧美一区二区三区综合在| 亚洲女人****多毛耸耸8| 亚洲卡通动漫在线| 老司机午夜精品| 成人午夜精品一区二区三区| 日本精品一级二级| 日韩亚洲欧美综合| 国产视频一区二区在线观看| ...中文天堂在线一区| 亚洲成a天堂v人片| 国产在线一区二区综合免费视频| 暴力调教一区二区三区| 欧美三级三级三级爽爽爽| 日韩美女在线视频| 亚洲精品网站在线观看| 日韩在线观看一区二区| 国产精品伊人色| 91黄视频在线观看| 久久夜色精品国产欧美乱极品| 亚洲日本免费电影| 久久99精品久久久| 91在线看国产| 精品免费日韩av| 亚洲伦理在线免费看| 精品一区二区三区免费视频| 日本精品一区二区三区高清| 久久影音资源网| 亚洲大片在线观看| 成人一级片在线观看| 69p69国产精品| 亚洲视频资源在线| 91成人免费网站| 国产人成亚洲第一网站在线播放| 亚洲mv在线观看| 成人av在线影院| 亚洲精品在线电影| 日韩成人免费电影| 91丝袜美女网| 国产调教视频一区| 久久99精品久久久| 91精品国产欧美一区二区| 亚洲婷婷综合久久一本伊一区| 精品一区二区免费| 欧美日韩美女一区二区| 亚洲天堂av一区| 国产69精品一区二区亚洲孕妇| 这里只有精品免费| 亚洲国产视频a| 色综合天天综合在线视频| 国产偷v国产偷v亚洲高清 | 免费观看91视频大全| 色婷婷久久久久swag精品| 国产亚洲欧美中文| 国产一区91精品张津瑜| 欧美一区二区三区在线看| 亚洲高清不卡在线| 在线国产电影不卡| 一区二区三区在线观看网站| 99九九99九九九视频精品| 欧美激情一区二区在线| 国产精品一卡二| 久久久久久久久97黄色工厂| 精品一区二区在线视频| 欧美成人女星排行榜| 麻豆中文一区二区| 日韩欧美精品在线| 久久国产精品99久久久久久老狼| 欧美疯狂做受xxxx富婆| 亚洲国产成人av| 亚洲天堂免费在线观看视频| 成人高清av在线| 中文字幕视频一区| 一道本成人在线| 亚洲一区二区在线观看视频| 欧美亚男人的天堂| 午夜久久久影院| 日韩一区二区视频| 国产主播一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 国产精品一区久久久久| 国产亚洲综合av| 99精品视频一区二区| 伊人色综合久久天天| 欧美性色综合网| 亚洲成av人片在线观看无码| 日韩一区二区三区电影| 国产麻豆视频精品| 日韩美女视频19| 欧美日韩午夜在线视频| 精品综合久久久久久8888| 欧美精品一区二区在线播放| 风流少妇一区二区| 亚洲男人的天堂网| 欧美福利电影网| 国产成人av福利| 亚洲美女屁股眼交| 日韩欧美在线观看一区二区三区| 国内精品久久久久影院薰衣草 | 樱花影视一区二区| 欧美一区中文字幕| 国产精品888| 亚洲一区免费在线观看| www国产成人| 在线视频综合导航|