2013-02-06 63 views
4

我需要爲註冊表項獲取8.3格式化的路徑(在本例中爲{app})。如何使用Inno Setup將路徑轉換爲8.3格式

不幸的是這個特定的德爾福功能不會Inno Setup的

function ExtractShortPathName(const S: FullFileName): string;

+0

你確定你需要8.3名嗎?有時候人們認爲他們需要這個,但他們真正需要的是把報價放在正確的地方。 8.3名稱是傳統的DOS事物,通常不應再使用,甚至可能在某些版本的Windows上不可用。 (他們可以由管理員禁用。) – Miral

+1

@Miral - 是的,我敢肯定。這是舊的應用程序,它在註冊表中查找8.3路徑。如果它不是8.3,它會顯示錯誤(但順便工作):)我可以使用反編譯器跟蹤此檢查,但是...更容易爲應用程序提供所需內容:D – RobeN

回答

8

使用GetShortName功能工作。從參考:

返回指定長文件名的短版本。如果找不到長文件名的短版本 ,則返回長文件名 。

+1

僅供參考,兩個函數都是'ExtractShortPathName '在Delphi中以及InnoSetup中的'GetShortName'在內部使用相同的Windows API函數'GetShortPathName'。 – TLama

相關問題