我下载了一个开源C++应用程序。此应用程序作为Linux守护进程运行,侦听端口,并等待来自客户端PC的连接。有人在Cygwin下编译了这个应用程序,以便它可以在Windows环境中运行。windows版本附带了一个.exe可执行文件以及2个Cygwin。
我曾尝试在Windows中运行此应用程序。当我在命令行中运行.exe可执行文件时,该程序能够将自身置于后台并作为Windows运行。打开“任务管理器”窗口时,可以看到程序正在后台运行。客户端PC也能够成功地连接到这个程序。
但是,当我在Windows7中运行相同的.exe可执行文件时,什么都没有发生。这个计划没能启动。当我检查任务管理器窗口时,我看不到与此应用程序相关的任何进程。
我可以知道Windows服务和Windows 7服务之间有什么不同吗?
因为它是一个开放源码程序,所以我想修改这个程序,以便它可以作为服务在Windows和Windows 7中运行。感谢有人能给我一些指导。
谢谢。
发布于 2011-11-05 10:42:13
XP和Vista的最大区别之一是不再允许服务使用桌面,因此这可能是一个问题。
确保将应用程序文件放在执行应用程序的用户可以访问的位置,不要将它们放在自己的userprofile目录中。
我首先尝试的是将您的应用程序注册为一个真正的服务,而不是直接从命令行调用它。查看命令行中的"sc“应用程序。你可以使用"sc创建.“注册服务,然后使用"sc start .“开始你的服务。如果出了问题,请查看事件日志以获得可能的错误消息。
https://serverfault.com/questions/328060
复制相似问题