2009-04-28 87 views

回答

4

GetTempPath很可能返回的是TMPTEMP環境變量的值,它們(至少在Windows XP下)通常用短路徑名稱來定義。

當初始化環境變量時,Windows似乎會從HKEY_CURRENT_USER\Environment註冊表項中轉換爲短路徑名。

0

而不是使用GetTempPath,爲什麼不只是得到TEMP環境變量的值?這將是漫長的道路。

+0

我查過了。事實並非如此。 – 2009-04-28 21:28:30

0

我確實認爲這是出於兼容性的原因。 在較舊的Windows版本中,臨時路徑相對較短。在最新的Windows中,這個路徑要長得多。許多舊的應用程序可能會使用固定長度(小長度)的緩衝區來檢索臨時路徑。 如果你返回長文件名(現在比較大),你會打破這個舊的程序,因爲它們的緩衝區太小而不適合。這就是GetTempPath返回短路徑名的原因。