zoukankan      html  css  js  c++  java
  • 让Windows服务可以启动一个子进程来产生PDF

    最近,研究了一下后台静默批量生成PDF的方法。

    最初的想法是写一个PdfCreate.exe 命令行,exe通过fastreport组件产生PDF(为了复用之前创建好的表单),

    然后再写一个windows服务PDFCreateService , 做任务调度,启动PdfCreate.exe程序来产生PDF,PdfCreate.exe 处理完任务之后,就退出。

    然而实际测试发现,PDFCreateService服务无法正常的启动PdfCreate.exe。也做过很多研究,起初认为是由于Session 0 无法穿透的原因。

    以为需要调用CreateProcessAsUser 或 CreateProcessWithLogonW . 但发现

    最后发现,影响子进程是否正常启动的因素是:指定服务启动的账户。如果指定服务用Administrator来启动。在服务中用CreateProcess API可以正常的启动exe产生pdf。用本地系统账户 或者 LOCAL Service 都不行。

    PdfCreat.exe 则是直接使用WinMain的函数

  • 相关阅读:
    mock数据
    Vuex
    React生命周期
    Vue基础知识
    前端面试题
    NodeJS巅峰之作
    Oracle数据库
    CSS Bootstrap jsp开发 前端遇到的一些问题。
    如何寻找node.js 与win7兼容的版本?eclipse中引入bootstrap。
    Window 常用命令
  • 原文地址:https://www.cnblogs.com/songr/p/14124862.html
Copyright © 2011-2022 走看看