首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在Windows上重新启动打印机后台处理程序时,‘'net start spooler’失败,退出代码为2

尝试在Windows上重新启动打印机后台处理程序时,‘'net start spooler’失败,退出代码为2
EN

Stack Overflow用户
提问于 2011-03-02 17:36:45
回答 1查看 4K关注 0票数 1

我的应用程序安装了一个虚拟打印机驱动程序。

在一些用户的系统上,我需要重新启动打印机假脱机程序,因为像OpenPrinter这样的函数返回RPC_S_SERVER_UNAVAILABLE (文本是"The RPC server is unavailable."),这意味着假脱机程序已经停止工作。

我试着用CreateProcess调用"net start spooler“来实现这个目的:

代码语言:javascript
复制
PROCESS_INFORMATION pi = { 0 };
STARTUPINFO si = { sizeof(si) };
// later
CreateProcess(0, "net start spooler", 0, 0, 0, 0, 0, 0, &si, &pi );

在一些用户的系统上,这是可行的,但在其他用户的系统上,它会失败,并返回退出代码2,并且GetLastError返回ERROR_NO_MORE_FILES (文本是“没有更多的文件。”)。

有人知道在这种情况下ERROR_NO_MORE_FILES是什么意思吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-02 20:36:04

您似乎以错误的方式解释了ERRORLEVEL代码2。这不是代码ERROR_NO_MORE_FILES。我在用户帐户下启动了cmd.exe ,并收到以下输出

C:>echo %errorlevel% 0

发生C:\Users\Rita>net停止后台打印程序系统错误%5。

访问被拒绝。

C:>echo %错误级别%2

任何大于0的"net.exe“退出代码都是错误的。

我建议你使用StartService来启动服务,这样你会有更多的错误控制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5165627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档