GVKun编程网logo

使服务在delphi中自行安装(delphi 服务程序)

24

在本文中,我们将为您详细介绍使服务在delphi中自行安装的相关知识,并且为您解答关于delphi服务程序的疑问,此外,我们还会提供一些关于Delphi:WebBrowser、MSHTML在Delph

在本文中,我们将为您详细介绍使服务在delphi中自行安装的相关知识,并且为您解答关于delphi 服务程序的疑问,此外,我们还会提供一些关于Delphi : WebBrowser、MSHTML在Delphi中的使用、delphi-7 – 如何在delphi中获取appdata文件夹路径、delphi中XLSReadWrite控件的使用(2)---delphi XE下安装、DELPHI中自定义消息的发送和接收的有用信息。

本文目录一览:

使服务在delphi中自行安装(delphi 服务程序)

使服务在delphi中自行安装(delphi 服务程序)

有没有人知道如何使Delphi中的服务应用程序通过运行exe文件来自行安装。

解决方法

使用TService类创建的Delphi服务导致支持自注册的可执行文件。叫这样:
serviceexefilename.exe /install

当然,您需要提升权限才能正常工作,就像安装服务的任何机制一样。

在另一方面使用/卸载来反转进程。使用/无声来进行注册过程,好的,沉默。

如果您希望自定义安装过程,您可以提供事件处理程序BeforeInstall,AfterInstall,BeforeUninstall,AfterUninstall。例如,AfterInstall的常见用法是提供您的服务的描述,因为基本的TService代码没有。

Delphi : WebBrowser、MSHTML在Delphi中的使用

Delphi : WebBrowser、MSHTML在Delphi中的使用

总结

以上是小编为你收集整理的Delphi : WebBrowser、MSHTML在Delphi中的使用全部内容。

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

delphi-7 – 如何在delphi中获取appdata文件夹路径

delphi-7 – 如何在delphi中获取appdata文件夹路径

我如何获得appdata文件夹路径?这个id我的代码:

begin
Winexec(PAnsichar('%appdata%\TEST.exe'),sw_show);
end;
end.

但没有工作.

@R_301_5609@

您无法将环境变量传递给WinExec().你必须先解决它们:

uses
  ...,SysUtils;

function GetPathToTestExe: string;
begin
  Result := SysUtils.GetEnvironmentvariable('APPDATA');
  if Result <> '' then
    Result := IncludeTrailingPathDelimiter(Result) + 'TEST.exe';
end;
uses
  ...,Windows;

var
  Path: string;
begin
  Path = GetPathToTestExe;
  if Path <> '' then
    WinExec(PAnsiChar(Path),SW_SHOW);
end;

或者:

uses
  ...,SysUtils,Windows;

function GetPathToTestExe: string;
var
  Path: array[0..MAX_PATH+1] of Char;
begin
  if ExpandEnvironmentStrings('%APPDATA%',Path,Length(Path)) > 1 then
    Result := IncludeTrailingPathDelimiter(Path) + 'TEST.exe'
  else
    Result := '';
end;

获取APPDATA文件夹路径的更可靠(和官方)方式是使用SHGetFolderPath()(或Vista上的SHGetKNownFolderPath()):

uses
  ...,Windows,SHFolder;

function GetPathToTestExe: string;
var
  Path: array[0..MAX_PATH] of Char;
begin
  if SHGetFolderPath(0,CSIDL_APPDATA,SHGFP_TYPE_CURRENT,Path) = S_OK then
    Result := IncludeTrailingPathDelimiter(Path) + 'TEST.exe'
  else
    Result := '';
end;

但是,无论如何,自Windows 95以来,WinExec()已被弃用,你真的应该使用CreateProcess()代替:

uses
  ...,Windows;

var
  Path: String;
  si: TStartupInfo;
  pi: TProcessinformation;

Path := GetPathToTetExe;
if Path <> '' then
begin
  ZeroMemory(@si,SizeOf(si));
  si.cb := SizeOf(si);
  si.dwFlags := STARTF_USESHOWWINDOW;
  si.wShowWindow := SW_SHOW;

  if CreateProcess(nil,PChar(Path),nil,FALSE,@si,pi)
  begin
    //...
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
  end;
end;

delphi中XLSReadWrite控件的使用(2)---delphi XE下安装

delphi中XLSReadWrite控件的使用(2)---delphi XE下安装

总结

以上是小编为你收集整理的delphi中XLSReadWrite控件的使用(2)---delphi XE下安装全部内容。

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

DELPHI中自定义消息的发送和接收

DELPHI中自定义消息的发送和接收

总结

以上是小编为你收集整理的DELPHI中自定义消息的发送和接收全部内容。

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

关于使服务在delphi中自行安装delphi 服务程序的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Delphi : WebBrowser、MSHTML在Delphi中的使用、delphi-7 – 如何在delphi中获取appdata文件夹路径、delphi中XLSReadWrite控件的使用(2)---delphi XE下安装、DELPHI中自定义消息的发送和接收的相关知识,请在本站寻找。

本文标签: