Страница: 1 | 2 |
Вопрос: Как создать ярлык?
Добавлено: 06.04.06 23:29
Автор вопроса: Temak | ICQ: 264-692-095
У меня тут возник такой вопросик! При установке приложения на комп, я бы хотел, чтобы программно был добавлен на рабочий стол ярлык exe. Но как это сделать я не догадываюсь! Может кто поможет!?!
Ответы
Всего ответов: 26
Номер ответа: 1
Автор ответа:
AsHeS
ICQ: 229759992
Вопросов: 14
Ответов: 93
Профиль | | #1
Добавлено: 06.04.06 23:35
А не проще юзать готовую прогу для создания инсталов ?
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 07.04.06 00:08
1. можно вопользоваться поиском по форуму
2. можно найти tlb описывающую IShellLink bynthatqc
3. можно найти длл-ку
4. можно исползовать WScript.Shell
Номер ответа: 3
Автор ответа:
Temak
ICQ: 264-692-095
Вопросов: 4
Ответов: 24
Профиль | | #3
Добавлено: 07.04.06 01:27
Спасибо! Че то я сам ступил - в форуме полно разделов по этому вопросу!!!
ПОИСК РУЛЕТ
Номер ответа: 4
Автор ответа:
Beralus_
ICQ: 255004422
Вопросов: 0
Ответов: 14
Профиль | | #4
Добавлено: 07.04.06 14:52
Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal _
lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal _
lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long
'--------------------
private command1_click()
'Добавляем на рабочий стол (Desktop)
valReturn = fCreateShellLink("..\..\Desktop", _
"Shortcut to Any", "c:\program files\Any\any.exe", ""
End sub
'Rad esli mog pomoch
Номер ответа: 5
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #5
Добавлено: 07.04.06 22:58
А кто знает, как нормально получить путь к рабочему столу? Ведь он разный бывает - зависит там от имени пользователя и языка ([Рабочий стол]или [Desktop])
Номер ответа: 6
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #6
Добавлено: 08.04.06 12:03
HRESULT SHGetSpecialFolderLocation(
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
CSIDL_COMMON_DESKTOPDIRECTORY (0x0019)
Номер ответа: 7
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #7
Добавлено: 08.04.06 13:10
2 Sharp Сэнкс.
А также можно найти Автозагрузку?
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 08.04.06 13:40
CSIDL_COMMON_STARTUP
CSIDL_STARTUP
Номер ответа: 9
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #9
Добавлено: 08.04.06 14:08
2 sne - отлично, спасибо.
Хотелось бы уточнить синтаксис:
1. Это VB?
2. Как мне получить этот результат в переменную SysPath?
Очень выручите.
Номер ответа: 10
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #10
Добавлено: 09.04.06 00:20
SysPath = string(0, 260)
и дальше узнавай... потом отрежешь все нудевое и будет счастье
Номер ответа: 11
Автор ответа:
Temak
ICQ: 264-692-095
Вопросов: 4
Ответов: 24
Профиль | | #11
Добавлено: 09.04.06 14:51
Спасибо, sne, ты и мне очень помог!
Обязательно использую в своей проге!
Номер ответа: 12
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #12
Добавлено: 09.04.06 15:48
Эээ, помойму сей код возвращает строку из 260 нулей, а какое это имеет отношение к коду выше?
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
CSIDL_COMMON_DESKTOPDIRECTORY (0x0019)
Простоое вставление этого кода вызывает ошибки синтаксиса - не принимае их бэйсик... Очень поможете, если разъясните...
Номер ответа: 13
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #13
Добавлено: 09.04.06 15:55
попутал
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 09.04.06 22:09
Это объявление на C++ из MSDN, из него перевод на VB тривиален. А можно воспользоваться API Viewer (www.activevb.de):
Private Declare Sub SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwnd As Long, ByVal csidl As Long, ByRef ppidl As ITEMIDLIST)
Номер ответа: 15
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #15
Добавлено: 09.04.06 22:15
Блин. Все решено как я понял. Простосто трафик потратил.