Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Autostart和CurrentDirectory_Windows_Winapi - Fatal编程技术网

Windows Autostart和CurrentDirectory

Windows Autostart和CurrentDirectory,windows,winapi,Windows,Winapi,我对WindowsAPI函数感到非常困惑 GetCurrentDirectory 从autostart(HKEY\U CURRENT\U USER\Software\Microsoft\Windows\CurrentVersion\Run)启动我的应用程序时,当前目录始终为:%windir%\system32 为什么会这样?这是意料之中的事。默认情况下,应用程序从父进程继承当前目录,大多数系统组件使用system32作为当前目录 当您通过双击启动应用程序时,Explorer会遇到显式设置当前目录

我对WindowsAPI函数感到非常困惑

GetCurrentDirectory

从autostart(HKEY\U CURRENT\U USER\Software\Microsoft\Windows\CurrentVersion\Run)启动我的应用程序时,当前目录始终为:%windir%\system32


为什么会这样?

这是意料之中的事。默认情况下,应用程序从父进程继承当前目录,大多数系统组件使用system32作为当前目录


当您通过双击启动应用程序时,Explorer会遇到显式设置当前目录的麻烦。当应用程序从Run键启动时,它不会启动。可能没有什么特别的理由不这样做,只是编写用于处理运行键的代码的程序员没有考虑它,或者认为它不值得付出努力。

这是意料之中的。默认情况下,应用程序从父进程继承当前目录,大多数系统组件使用system32作为当前目录


当您通过双击启动应用程序时,Explorer会遇到显式设置当前目录的麻烦。当应用程序从Run键启动时,它不会启动。可能没有什么特别的理由不这样做,只是编写用于处理运行键的代码的程序员没有考虑它,或者认为它不值得付出努力。

您希望它是什么?你把它设置到别的地方了吗?我只是好奇为什么windows会像预期的那样将currentdirectory设置为System32。默认情况下,应用程序从父进程继承当前目录,大多数系统组件使用system32作为当前目录。你在期待什么?为什么重要?不,不太重要。当你在浏览器中双击它时,当前目录就是你双击要启动的文件的位置(你在双击之前使用浏览器进行设置,记得吗?),这是在应用程序启动时设置的(除非在快捷方式中另有说明,在这种情况下,快捷方式中的工作目录用于设置应用程序的当前目录)@HarryJohnston:你先到了。你应该用你的评论发布一个答案。你希望它是什么?你把它设置在其他地方了吗?我只是好奇为什么windows会像预期的那样将currentdirectory设置为System32。默认情况下,应用程序从父进程和大多数系统组件继承当前目录使用system32作为当前目录。您期望的是什么?为什么重要?不,不完全重要。当您在资源管理器中双击它时,当前目录是您要双击启动的文件的位置(您可以在双击之前使用资源管理器进行设置,记得吗?),这是在应用程序启动时设置的(除非你在快捷方式中另有说明,在这种情况下,快捷方式中的工作目录将用于设置应用程序的当前目录)。@HarryJohnston:你先到了。你应该用你的评论发布一个答案。