Что нового

FileOpenDialog открывает ярлыки как файлы

P@S@f

Новичок
Сообщения
44
Репутация
2
FileOpenDialog открывает ярлыки как файлы, а мне нужно чтобы он открывал файл на который ссылается ярлык (*.lnk).
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
P@S@f
Поученное имя скорми функции FileGetShortcut, получишь массив в котором будет ссылка на файл.
 
Автор
P

P@S@f

Новичок
Сообщения
44
Репутация
2
Спасибо!
А что ж так сложно? Я надеялся что есть какая-то опция у FileDialog, которая определяет открывать ярлыки как файл или использовать как ссылку на файл.
А так придется пропускать через FileGetShortcut и записывать полученное значение в Input. А это не сильно нагрузит скрипт?
 
Автор
P

P@S@f

Новичок
Сообщения
44
Репутация
2
Вижу, что быстродействие не пострадало, но код выглядит громоздким :-X
Код:
Global $exe=FileOpenDialog("Путь до l2.exe", @WorkingDir, "Lineage II Client (l2.exe;*.lnk)", 1)
If StringRight($exe,3)="lnk" Then
	$file=FileGetShortcut($exe)
	$exe=$file[0]
EndIf
GUICtrlSetData($name,$exe)
;$name - это controlID Input'a
 

VladUs

Скриптер
Сообщения
621
Репутация
181
P@S@f попробуйте так

Код:
#include <WinAPI.au3>
$aFile = _WinAPI_GetOpenFileName("My Open File Dialog", "All File (*.*)", ".", @DesktopCommonDir, "", 1)
MsgBox(1,"Выбран файл",$aFile[1] & "\" & $aFile[2])
 
Верх