Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Dodakaedr

Ветеран


Сообщения: 863
Благодарности: 262

Профиль | Отправить PM | Цитировать


Как заставить этот код работать?(unicode от restools). Нужно получить путь к папке "Моя музыка"
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=test
AppVersion=1.0
DefaultDirName={pf}\test

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Code]
type
pchar=pansichar;

const
MAX_PATH = 260;
CSIDL_MYMUSIC = $0d;

function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: PChar; nFolder: Integer; fCreate: BOOL): BOOL;
external 'SHGetSpecialFolderPathA@shell32.dll stdcall';

function GetSpecialPath(CSIDL: Word): string;
var
s: string;
begin
SetLength(s, MAX_PATH);
if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, True) then s := '';
Result:= PChar(s);
end;

procedure InitializeWizard;
begin
MsgBox(GetSpecialPath(CSIDL_MYMUSIC), mbInformation, MB_OK);
end;


Решено:
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=test
AppVersion=1.0
DefaultDirName={pf}\test

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Code]
const
  CSIDL_MYMUSIC = $0d;

procedure InitializeWizard();
begin
  WizardForm.WelcomeLabel2.Caption := GetShellFolderByCSIDL(CSIDL_MYMUSIC, True);
end;

-------
Inno Setup 5 Ultra Unicode


Последний раз редактировалось Dodakaedr, 07-03-2015 в 20:10.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:00, 07-03-2015 | #269