gpt4 book ai didi

windows - 以编程方式 chdir

转载 作者:可可西里 更新时间:2023-11-01 09:41:01 27 4
gpt4 key购买 nike

在 Windows 中——可能在 Unix 中——在(32 位)程序中使用 chdir() 函数不会在程序退出时更改目录。 (它适用于 16 位 Windows 程序。)
有人知道如何在 Windows 32 位程序中执行此操作吗?

最佳答案

嗯...恕我直言,这正是操作系统必须保证不会发生的事情之一。当前目录是每个进程的属性,子进程通常从父进程继承它,但不应该发生相反的情况(并且没有发生)。

为了获得你想要的东西,父进程可以主动观察子进程存储新目录的一些信息(消息、文件、共享内存......),然后用新值调用 chdir()。

据我所知,Windows 的 cmd.exe 没有这样的机制。实际上,通过在父进程上使用代码注入(inject)技术(例如 CreateRemoteThread),可以强制它做一些意想不到的事情,但这是一个非常肮脏的技巧,一点也不好,也不是一般的。Win16 不同:所有程序都有一个“msdos”状态,但这是一个限制,而不是一个功能。

关于windows - 以编程方式 chdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2434872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com