-1

我有一个 Windows 服务。我用以下方法调用它:

public static void StartService(string serviceName, string[] args)
{
     ServiceController service = new ServiceController(serviceName);
     service.Start(args);
}

当我的 args[0] = "A long string, combine of a lot file name" 我收到错误无法启动服务:异常详细信息:System.ComponentModel.Win32Exception:存根收到错误数据。

首先,我考虑拒绝访问,但事实并非如此。如果我更改 args[0] = "A short string, 1 folder path" 那么服务运行成功。谁能为我解释一下?

4

1 回答 1

0

命令行可以包含的字符数有限制。

对于普通命令行,它是 8192 个字符。对于 CreateProcess,限制为 32Kb。

参考:

于 2013-08-14T07:51:22.163 回答