GVKun编程网logo

让DELPHI写的服务程序在服务管理器中显示“描述”(delphi 服务程序)

15

本文将带您了解关于让DELPHI写的服务程序在服务管理器中显示“描述”的新内容,同时我们还将为您解释delphi服务程序的相关知识,另外,我们还将为您提供关于c#–vsjitdebugger.exe(

本文将带您了解关于让DELPHI写的服务程序在服务管理器中显示“描述”的新内容,同时我们还将为您解释delphi 服务程序的相关知识,另外,我们还将为您提供关于c# – vsjitdebugger.exe(Visual Studio Debugger) – 在生产服务器的任务管理器中显示了很多、delphi NT服务程序制作、Delphi XE2:在OSX上的Delphi FireMonkey应用程序中显示PDF、delphi – 列出Win-7下的服务和服务状态的实用信息。

本文目录一览:

让DELPHI写的服务程序在服务管理器中显示“描述”(delphi 服务程序)

让DELPHI写的服务程序在服务管理器中显示“描述”(delphi 服务程序)

总结

以上是小编为你收集整理的让DELPHI写的服务程序在服务管理器中显示“描述”全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

c# – vsjitdebugger.exe(Visual Studio Debugger) – 在生产服务器的任务管理器中显示了很多

c# – vsjitdebugger.exe(Visual Studio Debugger) – 在生产服务器的任务管理器中显示了很多

我有一个在IIS上运行的.net网站.每隔几天看一下任务管理器,我已经打开了10-15个vsjitdebugger.exe进程.每个人都绑定一些连接,所以它会导致db池的问题,除非我手动进入并结束进程.

有一点,Visual Studio已经安装在这个框上,虽然它已经被卸载了.我想知道这是否是在发生错误时调试器尝试启动的原因.

但是,我想知道的是如何让IIS在发生错误时停止尝试启动调试器?有没有反过来呢,它可以简单地继续生活,而不尝试调试?

我也想知道,可以应用程序的部署方式(作为调试的应用程序与PDB而不是发布版本)有所作为吗?或者甚至在web.config中打开了调试功能?

解决方法

听起来像机器被配置为在进程中发生未处理的异常时自动运行调试器.您不希望在生产服务器中,但可能希望它终止进程.此行为由注册表中的DbgManagedDebugger键控制.以下是该密钥的文档

> http://msdn.microsoft.com/en-us/library/2ac5yxx6.aspx

delphi NT服务程序制作

delphi NT服务程序制作

NT 服务程序在系统启用后就开始工作了,即使没有用户登录。

用delphi做nt程序也很简单了,new-> other -> new页签 --> service Application. 便会生成一个NT服务框架,TserviceApplice . 默认生成1个 Tservice . 一个NT服务框架可以生成很多service,一个service 代表一个服务。 设置 Tservice 实例的displayName and Name .  设置 run-params-> /install /nuinstall net start ***; net parse ***,net stop ** ;分别是注册服务,卸载服务, 启动、暂停,停止服务。

运用Delphi编写Windows   NT中服务程序         Windows   NT服务程序不同于一般的运行程序,它不需要NT登录进去,只需要开机进入NT系统便可以运行,一般用于系统服务方面的应用,学会编写NT服务程序对网络管理人员而言是非常重要的,Delphi作为一种高效、快速、强大的开发语言,为开发NT服务程序提供了非常便捷的方法,加上其可视化界面以及与数据库的完美结合,使我们开发与数据库有关的NT服务程序变得非常简单,下面以编写一个NT定期备份程序为例,介绍如何运用Delphi编写Windows   NT的服务程序。      打开Delphi编辑器,选择菜单中的File|New,在New   Item中选择Service   Application项,Delphi便自动为你建立一个基于TServiceApplication的新工程,TServiceApplication是一个封装NT服务程序的类,它包含一个TService1对象以及服务程序的装卸、注册、取消方法。      将TService1对象的属性做下列更改:      displayName与Name改为:DataBackup,ServiceStartName属性改为系统管理员用户(如DOMAIN\Administrator)和Password则输入用户密码    这样,服务程序运行时将自己以该用户的权限操作NT。      这样,一个NT服务程序编写已经完成,在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/install,程序编译运行后,一个名为DataBackup的NT服务程序已经安装好,你可以双击控制面板中的服务项目,将会看到此服务程序,只是此服务程序没有任何东西而已;在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/uninstall,程序编译运行后,系统将会将此服务程序卸掉。      服务程序是通过控制一个线程的生成、暂停、继续、停止来达到服务目的的,因此我们必须加入一个TSession对象来编写文件自动备份代码,在Delphi编辑器中选择菜单中的File|New,在New   Item中选择Thread   Object项,Delphi会提示你为该TSession对象输入一个名称(输入Datacopy),Delphi便生成了一个基于TSession的Datacopy对象,并提供了一个Execute过程供重载,我们要Execute过程中输入以下程序:    var  Hour,  Min,  Sec,  MSec:   Word;  TimeStamp,  DirectoryEdit1,  DirectoryEdit2:   String;  SearchRec:   TSearchRec;  Source,  Temp,  Dest:   Pchar;  F,  F1:   THandle;  FF,  FF1:   WIN32_FIND_DATA;  Begin    //   每次文件备份执行时间  TimeStamp:=   '12:00 ';  //   文件备份源目录  DirectoryEdit1:=   'C:\temp ';  //   文件备份目录  DirectoryEdit2:=   'C:\temp1 ';  While   True   do  Begin  DecodeTime(Time,  Hour,  MSec);  IF   Trim(TimeStamp)   =   Format( '%-2.2d:%-2.2d ',[Hour,  Min])   then  Begin  GetMem(Source,  250);  GetMem(Dest,  250);  GetMem(Temp,  250);  StrPcopy(Dest,  DirectoryEdit2   +   '\ '   +   FormatDateTime( 'YYYYMMDD ',  Date));  CreateDirectory(Dest,  Nil);  IF   FindFirst(DirectoryEdit1   +   '\*.* ',  faAnyFile,  SearchRec)   =   0   then  Begin  Repeat  StrPcopy(Source,  DirectoryEdit1   +   '\ '   +   SearchRec.Name);  StrPcopy(Dest,  DirectoryEdit2+ '\ '   +   FormatDateTime( 'YYYYMMDD ',  Date)   +   '\ '   +   SearchRec.Name);  copyFile(Source,  Dest,  False);  Until   FindNext(SearchRec)   <>   0;  end;  SysUtils.FindClose(SearchRec);  FindClose(F);  FreeMem(Source,  250);  FreeMem(Dest,  250);  FreeMem(Temp,  250);  end;  Sleep(60000);  end;  end;    此线程执行时每隔一分钟将检查一次时间,看是否到了备份时间,如果是则将DirectoryEdit1中的所有文件拷到DirectoryEdit2目录中去。      现在编写服务控制Datacopy线程的代码,在TdataBackup对象中的OnStart、OnStop、OnPause、OnContinue事件中分别输入如下代码:    Procedure   TDataBackup.DataBackupStart(Sender:   TService;  var   Started:   Boolean);  begin  DataThread:=   TDatacopy.Create(False);  Started   :=   True;  end;  procedure   TDataBackup.DataBackupStop(Sender:   TService;  var   Stopped:   Boolean);  begin  DataThread.Terminate;  Stopped   :=   True;  end;  procedure   TDataBackup.DataBackupPause(Sender:   TService;  var   Paused:   Boolean);  begin  DataThread.Suspend;  Paused   :=   True;  end;  procedure   TDataBackup.DataBackupContinue(Sender:   TService;  var   Continued:   Boolean);  begin  DataThread.Resume;  Continued   :=   True;  end;    这样一个文件自动备份程序已经完成,编译好后,加上/install参数执行程序,系统会将此服务程序安装,由于服务程序中StartType属性为stAuto,NT每次启动时,此程序自动执行,你可以在控制面板中的服务项目来启动、暂停、恢复、停止它,也可以加上/uninstall参数执行程序来卸掉它。通过上述例子我们可以看到,用Delphi编写NT服务器程序十分方便,而且你也可以在TService对象上加许多非可视化控件来与数据库关联,实现很多复杂的功能。

Delphi XE2:在OSX上的Delphi FireMonkey应用程序中显示PDF

Delphi XE2:在OSX上的Delphi FireMonkey应用程序中显示PDF

我正在使用FireMonkey在Delphi应用程序的OSX上工作.应用程序的一部分显示PDF,目前在 Windows下使用Acrobat viewer控件或Gnostice组件.这些选项在FireMonkey for OSX中不可用,所以我想知道有没有人有任何想法如何处理这个.我在Cocoa应用程序中使用了Quartz PDFKit PDFView,但是看不到如何在FireMonkey应用程序中使用它.

解决方法

为了回答我自己的问题,Chris Rolliston在他的博客上有一个详细的 article,关于创建一个FireMonkey PDF查看器.它使用Core Graphics本机调用,并具有页面滚动和旋转的示例代码.任何需要做这种事情的人都是一个很好的开始.它是为XE2写的,所以有些事情可能已经改变了.

delphi – 列出Win-7下的服务和服务状态

delphi – 列出Win-7下的服务和服务状态

我有一个服务监视器应用程序,监视其他三个服务器应用程序的状态 – 你知道那种绿色,红色状态的东西,启动,停止等.

问题是即使用户是管理员,它在Windows 7中也显示错误的状态.

启动,停止按钮被禁用并启用安装按钮,状态颜色为灰色,这也是错误的.应启用启动按钮,服务状态显示为绿色 – 应用程序正在运行.

如果应用程序使用“以管理员身份运行”设置运行,则表明其运行正常.

该应用程序是用Delphi 7编写的,在其他版本的Windows中运行良好.
这行代码:

OpenSCManager(PChar(sMachine),Nil,SC_MANAGER_ALL_ACCESS);

永远在Win7下返回0,导致问题.

任何想法,如果可能的话,除了“以管理员身份运行”之外的任何解决方法.

解决方法

如果请求有限访问权限,则无需管理员权限即可打开服务管理器.这行代码:

ManagerHandle := OpenSCManager(nil,SERVICES_ACTIVE_DATABASE,SC_MANAGER_ENUMERATE_SERVICE);

即使在受限用户帐户中使用,也会使用服务管理器打开活动服务的数据库.然后可以使用返回的句柄调用EnumServicesStatusEx()以获取有关正在运行的服务的信息.

传递SC_MANAGER_ALL_ACCESS作为dwDesiredAccess参数意味着传递SC_MANAGER_CREATE_SERVICE,并且文档说明:

Only processes with Administrator privileges are able to open a database handle that can be used by the CreateService function.

因此,如果您将程序限制为可由标准用户执行的操作,那么您的代码应在Windows 7上无需更改即可运行.其他所有内容都需要由安装程序或运行提升的特殊程序完成.

这是BTW没有新的要求Windows 7,你的声明

The application is written in Delphi 7 and works perfectly in other versions of Windows.

仅显示您从未在早期版本的操作系统中在有限帐户上正确测试应用程序.使用Windows NT(近20年前),不允许有限用户以完全访问权限打开服务管理器,因此代码将在那里失败.

今天关于让DELPHI写的服务程序在服务管理器中显示“描述”delphi 服务程序的讲解已经结束,谢谢您的阅读,如果想了解更多关于c# – vsjitdebugger.exe(Visual Studio Debugger) – 在生产服务器的任务管理器中显示了很多、delphi NT服务程序制作、Delphi XE2:在OSX上的Delphi FireMonkey应用程序中显示PDF、delphi – 列出Win-7下的服务和服务状态的相关知识,请在本站搜索。

本文标签: