名为DLL的C++windows服务程序工作不正常

C++ windows service program called DLL is not working properly

本文关键字:工作 不正常 服务程序 C++windows DLL 名为      更新时间:2023-10-16

我编写了一个运行在Windows服务上的websocket服务器程序。根据项目需要,调用一个DLL。这个DLL需要读取我的计算机,在我的文档下有一个文件。然而,名为DLL的windows服务程序可以成功,但DLL未能读取我文档下的文件。当服务器不作为windows服务运行时,DLL可以成功读取我的文档下的文件。我很沮丧,我不知道为什么。谁能帮我。谢谢

当多个用户使用同一台电脑时,每个普通用户都有一个My Document目录,不能访问其他用户的My Document。运行服务时,默认情况下,它以限制用户的本地系统本机服务运行,并且无法访问您的My Document目录。

你必须思考:该服务如何从你电脑中的所有其他用户中选择它应该从哪个用户那里获取文件?

简单的解决方案是以用户身份运行服务。您可以手动尝试,方法是打开服务属性(在服务上,右键单击并选择属性,或双击(,选择登录选项卡,并将计算用户名和密码填充到您的用户名和密码中。

真正的解决方案是将文件放置在固定的位置,如%LocalAppData%AppName,而不依赖于任何用户。