Windows屏幕保护程序安装位置
我写了自己的屏幕保护程序,它使用与屏幕保护程序可执行文件(.scr文件)位于同一目录中的其他文件。
如果我右键单击屏幕保护程序并选择“测试”,一切都很好,那些额外的文件被发现。
但是,如果我右键单击并单击“安装”来安装屏幕保护程序,它似乎无法再找到这些文件。
安装过程是否制作另一个屏幕保护程序副本,或者更改工作目录? 如果是这样,它在什么目录?
这是一个Windows 7桌面。
到目前为止,我已经在Windows文件夹中搜索Program Files,Program Files(x86)。
更新:
所以,我添加了以下代码来确定可执行文件的位置。
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
看起来,屏幕保护程序正在从我放置它的目录运行,从原始文件。 但是,安装完成后,我可以通过可执行文件访问同一文件夹中的文件的唯一方法是使用完整路径。 如果我将它作为Test运行,则只能使用文件名。
这应该是关于发生什么的线索,我想。 上面的函数,如果我运行它作为测试,返回长文件名,但如果我运行它作为安装,它返回短文件名。 我认为,在安装时,它会作为某种特殊进程运行,或者也可能是子进程,这也会干扰文件访问。
到底是怎么回事?
我添加了一段代码来确定当前工作目录,并发现在Installed模式下运行屏幕保护程序时,当前工作目录变为C: Windows system32 ,这当然会解释如何引用文件。
Environment.CurrentDirectory
链接地址: http://www.djcxy.com/p/66093.html