Winapi Windows上用户的GetTempPath

Winapi Windows上用户的GetTempPath,winapi,visual-c++,Winapi,Visual C++,正如这个问题所描述的,GetTempPath可以通过一个进程来更改 您知道如何获取用户的临时路径(不受特定应用程序的影响)?没有用户特定的临时目录,也没有常数。您可以争辩说,%LocalAppData%\Temp是默认值,但不应假设这是真的 用户可能会将其%Temp%设置为不同的驱动器(RAM磁盘等),并将其应用于所有进程,或者他们可能会使用不同的%Temp%运行特定的应用程序,因为他们的正常%Temp%位置没有足够的可用空间等 如果%Temp%无效,则函数的GetTempPath已经有了其他备

正如这个问题所描述的,GetTempPath可以通过一个进程来更改


您知道如何获取用户的临时路径(不受特定应用程序的影响)?

没有用户特定的临时目录,也没有常数。您可以争辩说,
%LocalAppData%\Temp
是默认值,但不应假设这是真的

用户可能会将其%Temp%设置为不同的驱动器(RAM磁盘等),并将其应用于所有进程,或者他们可能会使用不同的%Temp%运行特定的应用程序,因为他们的正常%Temp%位置没有足够的可用空间等


如果%Temp%无效,则函数的
GetTempPath
已经有了其他备份位置,因此您没有理由猜测它。如果您需要由多个进程共享的每个用户文件夹,那么您应该使用
FOLDERID\u LocalAppData

下的文件夹。我可以假定HKEY\u CURRENT\u user\Environment\TMP是当前用户的默认位置吗?这可能足够安全,如果没有设置第一个值,请记住返回到TEMP。是的,获取TMP和TEMP的第一个可用值,然后使用ExpandEnvironmentString完成路径。