Tom*_*lak 14 windows configuration directory service
默认情况下,Windows 服务在 sytem32 目录(通常为C:\WINDOWS\system32)中启动。
有没有办法设置不同的工作目录?我正在考虑下面的一些注册表参数HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SomeService。
那么 - 这可以做到吗?
您可以SetCurrentDirectory在进程启动后使用 DLL 注入进行调用。这将需要您构建一个注入器应用程序,以及要注入的 DLL。存在一些教程;我发现的两个最好的可能是:
您需要具有相当数量的 C++ 编程背景(和一个有效的构建环境)才能通过。
但是,这假定服务正在查看当前目录。另一种可能性是它正在使用%path%. 你说它“从 开始system32,尝试更多的位置,最终是它自己的目录”,所以这对我来说似乎更有可能。
将您在procmon其中看到的目录与%path%. 如果它们相同,请考虑修改运行服务的用户的SYSTEM %path%或%path%,以便首先搜索您希望它搜索的目录。
我相信弗雷德是正确的,但-你不可能通过做任何的这个看到任何显著的性能优势,除非它的发生非常频繁。简单的文件打开操作并不是特别昂贵,尤其是当它是本地路径并且文件实际上不存在时。
| 归档时间: |
|
| 查看次数: |
31689 次 |
| 最近记录: |