• Delphi 服务程序[4] 两栖服务(系统服务和桌面程序)


    Delphi 服务程序[4] 两栖服务(系统服务和桌面程序)

    方法1:

    uses
      {$IFDEF DEBUG}
      Forms,
      {$ELSE}
      SvcMgr,
      {$ENDIF}
      Unit1 in 'Unit1.pas' {SerTest: TSerT},
      Unit2 in 'Unit2.pas' {Form2};
    
    {$R *.RES}
    
    begin
      Application.Initialize;
      {$IFDEF DEBUG}
      Application.CreateForm(TForm2, Form2);
      {$ELSE}
      Application.CreateForm(TSerTest, SerTest);
      {$ENDIF}
      Application.Run;
    

    方法2:

    uses
      SvcMgr,
      Forms,
      SysUtils,
      Windows,
      Dialogs,
      Unit2 in 'Unit2.pas' {Form2},
      Unit1 in 'Unit1.pas' {SerTest: TService};
    
    {$R *.RES}
    
    const
      CSMutexName = 'GlobalServices_Application_Mutex';
    
    var
      OneInstanceMutex: THandle;
      SecMem: SECURITY_ATTRIBUTES;
      aSD: SECURITY_DESCRIPTOR;
    
    begin
      InitializeSecurityDescriptor(@aSD, SECURITY_DESCRIPTOR_REVISION);
      SetSecurityDescriptorDacl(@aSD, True, nil, False);
      SecMem.nLength := SizeOf(SECURITY_ATTRIBUTES);
      SecMem.lpSecurityDescriptor := @aSD;
      SecMem.bInheritHandle := False;
      OneInstanceMutex := CreateMutex(@SecMem, False, CSMutexName);
      if (GetLastError = ERROR_ALREADY_EXISTS) then
      begin
        ShowMessage('程序或服务已经运行!');
        Exit;
      end;
      if FindCmdLineSwitch('svc', True) or FindCmdLineSwitch('install', True) or FindCmdLineSwitch('uninstall', True) then
      begin
        SvcMgr.Application.Initialize;
        SvcMgr.Application.CreateForm(TSerTest, SerTest);
        SvcMgr.Application.Run;
      end
      else
      begin
        Forms.Application.Initialize;
        Forms.Application.CreateForm(TForm2, Form2);
        Forms.Application.Run;
      end;
    

      

     

    创建时间:2021.01.21  更新时间:

    博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你所有帮助,谢谢!
  • 相关阅读:
    使用a标签制作tooltips
    使用editorconfig配置你的编辑器
    JointJS绘制流程图
    用highcharts展现你的数据
    css段落首字母下沉
    sklearn框架的系统学习
    numpy删除二维数据矩阵的行和列
    sklearn中机器学习算法评价指标
    sklearn调用逻辑回归算法
    sklearn调用多项式回归
  • 原文地址:https://www.cnblogs.com/guorongtao/p/14306542.html
Copyright © 2020-2023  润新知