|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
проблема при создании ярлыка
Здравствуйте! Прошу Вашего совета.
использую процедуру: Код:
procedure CreateLink(const PathObj, PathLink, Desc, Param: string); var IObject: IUnknown; SLink: IShellLink; PFile: IPersistFile; begin IObject := CreateComObject(CLSID_ShellLink); SLink := IObject as IShellLink; PFile := IObject as IPersistFile; with SLink do begin SetArguments(PChar(Param)); SetDescription(PChar(Desc)); SetPath(PChar(PathObj)); end; PFile.Save(PWChar(WideString(PathLink)), FALSE); end; Код:
createlink('g:\1.rar',patch,'bmp',''); Помогите пожалуйста! |
#2
|
||||
|
||||
Очень похоже на "войну" Ansi с Unicode.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
exuddy (12.04.2012)
|
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
Попробуйте так:
Код:
var WidePath: array[0..MAX_PATH] of WideChar; ... end; StringToWideChar(PathLink, WidePath, SizeOf(WidePath)); PFile.Save(WidePath, FALSE); end; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
Этот пользователь сказал Спасибо Karsh за это полезное сообщение: | ||
exuddy (13.04.2012)
|
#5
|
|||
|
|||
не помогло. сегодня на работе проверял разные варианты, результат один
Последний раз редактировалось exuddy, 13.04.2012 в 18:01. |
#6
|
||||
|
||||
Попробовал ваш код на Delphi 7 и 2009 - все работает. Путь собирал так:
Код:
patch:= Edit1.Text; if LastDelimiter('\', patch) <> length(patch) then patch:= patch + '\'; patch:= patch + Edit2.Text + '.lnk'; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
Этот пользователь сказал Спасибо Karsh за это полезное сообщение: | ||
exuddy (13.04.2012)
|
#7
|
|||
|
|||
были мысли что как то не так путь собираю. но что-то ничего путного не придумал. сейчас собираю вот так:
Код:
path:= '\\'+edit1.Text+'\'+users.Items[users.ItemIndex]+'\rar.lnk'; |