Advertisement

Delphi(XE2)+Win10实现系统服务使用CreateProcessAsUser调用外部exe

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:RAR


简介:
广为人知的是,在使用Delphi开发的Service Application系统服务中,与桌面交互体验在XP系统环境下表现得尤为出色,使用户能够轻松开启任何程序窗口。然而,从Vista系统开始,后台进程被限制不再允许直接与桌面操作系统进行交互。本示例通过采用CreateProcessAsUser函数,我们得以实现对第三方带界面应用的调用(如notepad.exe)。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • C# COMEXE)的编写与
    优质
    本教程详细介绍如何使用C#语言编写和调用外部COM服务(EXE),涵盖创建COM对象、注册及在不同项目中调用等内容。 这是进程外Com服务(exe)编写和调用的Demo程序。关于编写的调试思路以及步骤可以参考相关文章中的内容。下载后记得在本地注册com并修改本地注册表,否则无法使用。具体的注册与修改方法可以在文中找到详细说明。
  • LabVIEW中EXE文件
    优质
    本教程介绍如何在LabVIEW环境中调用和执行外部EXE文件,包括设置API函数、配置执行参数及处理返回结果的方法。 在LabVIEW程序源代码中加载并调用外部的exe文件(可以是电脑上安装的任何exe程序)。
  • Windows Service EXE(Vista/WIN7)
    优质
    本文章介绍了在Windows Vista或Win7系统中编写和配置Windows服务调用外部EXE程序的方法与技巧,帮助开发者解决环境兼容性问题。 在Windows XP及更早版本的系统中,可以在Windows服务中直接调用外部exe文件。然而,在Vista以及Win7之后的操作系统中,微软引入了服务隔离机制,使得Windows服务与用户应用程序不再处于同一个会话内,因此无法直接从Windows服务中调用外部exe。 不过,并没有绝对的事情不可改变。这里提供了一段代码示例,用于指导如何在Windows服务中突破这一限制并成功调用外部exe文件。具体可以通过其中的StartProcessAndBypassUAC函数实现所需功能。
  • LabVIEW中EXE例讲解
    优质
    本教程详细介绍了在LabVIEW环境中如何通过脚本节点或其他方法调用外部EXE文件,并提供了具体的应用实例和操作步骤。适合希望拓展LabVIEW功能的中级用户学习参考。 在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)中调用外部EXE文件是一种常见功能,这使开发者能够利用现有的非LabVIEW程序或库来扩展应用程序的范围。本段落将详细介绍如何在LabVIEW中实现这一操作,并探讨相关知识点。 首先需要理解LabVIEW的基本概念:它是一种图形化编程语言,使用“虚拟仪器”(G语言)创建用户界面和应用程序。其主要特点是通过图标和连线代替传统文本代码进行程序设计,使得编程更加直观易懂。 调用外部EXE文件在LabVIEW中通常通过“执行文件”函数节点实现。这个节点允许LabVIEW运行一个外部可执行文件,可以是编译好的.NET程序、C/C++程序或其他类型的EXE。以下是具体步骤: 1. **添加函数节点**:从LabVIEW的函数选板找到“系统”类别下的“程序控制”,选择其中的“执行文件”。将其拖放到前面板或程序框图上。 2. **配置函数**:双击该节点以打开配置对话框,在这里输入要运行的外部EXE文件完整路径。还可以设置其他参数,如命令行参数和工作目录等。 3. **连接输入与输出**:在程序框图中为执行文件提供必要的输入数据,比如通过字符串常量或变量传递参数给外部程序。可以通过函数节点上的输出端口获取返回值,例如退出状态码。 4. **错误处理**:调用外部EXE时可能会遇到各种问题,如找不到文件、权限不足等。需要在执行文件节点上连接适当的错误处理结构来妥善应对这些问题。 5. **运行与调试**:完成上述配置后可以运行LabVIEW程序,并观察外部EXE的执行结果。如果有必要可以在LabVIEW中添加日志记录或调试工具帮助分析问题。 此外,除了“执行文件”函数外,LabVIEW还提供了其他方法与外部程序交互,例如使用“子过程调用”来调用DLL或者利用系统接口库中的命令进行操作系统的控制等。这些方式各有优缺点,应根据具体需求选择合适的方法。 值得注意的是,在同时运行多个实例时可能引发资源冲突或其它问题。因此合理管理和同步对提高应用程序性能至关重要。 通过掌握LabVIEW调用外部EXE文件的能力,开发者能够构建出功能更强大、灵活性更高的应用系统。
  • SAP PI配置详解:ECC端发布RFC
    优质
    本文详细介绍了如何在SAP ECC环境中使用SAP PI(Process Integration)配置发布RFC(远程函数调用)服务至外部系统,包括步骤、注意事项及常见问题解决。适合中级以上SAP开发者参考学习。 本段落档详细介绍了如何在PI中创建配置并导出wsdl以供外部系统调用,并重点介绍了一个服务提供方为ERP、供外围系统调用的案例。关于外围发布服务且ERP作为消费方时的PI配置,请参阅《PI开发手册02》。由于示例使用的是项目实例,特此声明:本段落档系作者个人归纳总结,仅供学习交流之用。
  • 使Delphi创建程序
    优质
    本教程详细介绍了如何利用Delphi开发环境来构建高效稳定的服务程序,涵盖从项目设置到代码实现的各项步骤。 在IT领域内创建服务程序是一项常见的任务,在系统级编程与后台自动化处理方面尤为常见。本段落将详细介绍如何利用Delphi 7这一经典Object Pascal集成开发环境(IDE)来构建服务程序。作为一款著名的Windows应用程序开发者工具,Delphi 7内置的VCL库提供了所有必要的组件和类用于创建此类程序。 首先需要了解什么是服务程序:在Windows操作系统中,这些进程通常在用户界面之外运行,并且它们一般会在系统启动时自动开始工作,在后台执行特定任务如数据同步、定时任务或监控硬件状态。由于不受登录或注销的影响,因此非常适合处理系统的底层事务。 使用Delphi 7来创建一个服务程序的第一步是开启IDE并建立一个新的VCL Forms Application项目。接下来,从工具箱中选取TService组件,并将其添加到设计表单上。这个核心组件提供了定义服务行为所需的一系列属性、方法和事件。 随后需要配置一些关键的TService属性,包括名称(内部与外部显示名)和服务启动方式等选项,并且要编写OnStart和OnStop事件处理程序来实现特定的服务逻辑功能。 此外,在开发过程中可能还需要添加一个TServiceController组件以在应用程序中控制服务的操作。为了使创建的服务能够正确安装并运行,需要通过调用CreateService API函数实现InstallService过程;同时也要定义RemoveService过程以便于日后卸载该服务。 值得注意的是,由于服务程序不具备图形用户界面(GUI),因此所有的输出与交互应当采用事件日志或其他非UI方式。例如可以使用WriteEventLog方法来记录运行状况信息等细节内容。 关于压缩包中的“mSrv”文件,如果它包含源代码的话,则可以通过打开并查看具体的实现细节,如服务属性设置、事件处理以及安装和卸载过程的编写;如果是编译后的可执行版本,则可通过反编译工具(例如Dependancy Walker)来检查其依赖关系及内部结构。 综上所述,在Delphi 7中创建一个服务程序涉及到了使用TService组件,配置相关属性,并实现启动与停止逻辑以及安装和卸载功能。这要求开发者对Windows服务机制及其编程语言有深入理解,同时也展示了该平台在系统级开发中的强大能力。通过实践学习,可以利用Delphi来构建高效稳定的后台任务处理程序。
  • Win10下Telnet使方法
    优质
    本文介绍了在Windows 10操作系统中启用和使用Telnet服务的方法,帮助用户轻松实现远程登录及网络调试功能。 Windows 10 系统不再提供 Telnet 服务,但本软件可以在 Windows 10 上安装并使用 Telnet 和 SSH 服务,经过测试确认有效且没有使用期限限制。该软件免费无毒。