|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.07.2008, 14:25 | #1 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
C# Создания ярлыка
Как создать ярлык, чтобы не таскать с собой длл Interop.IWshRuntimeLibrary.dll
Есть ли какието апи функции?
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
02.07.2008, 22:55 | #2 |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
[DLLImport] + "shell32.dll" + IShellLink
Лови геморой... . Последний раз редактировалось merax; 02.07.2008 в 23:21. |
10.07.2008, 12:40 | #3 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Большое спасибо
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
14.08.2008, 17:27 | #4 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Всё работает замечательно, вот только есть ещё одна проблема ... надо создать ярлык из ярлыка
Из ярлыка надо достать аргументы ... не подскажешь каг??? или как(из примера)в переменную IWshShortcut присвоить "ярлык", чтобы потом достать аргумент?
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
14.08.2008, 18:48 | #5 |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
Аргументы ярлыка...
Инициализировать, если это еще не было сделано, COM-библиотеку вызовом функции CoInitialize (или CoInitializeEx). Создать с помощью функции CoCreateInstance экземпляр COM-класса ShellLink и получить указатель на его интерфейс IPersistFile. Загрузить вызовом метода Load требуемый ярлык, указав желаемый режим доступа к его свойствам — чтение (STGM_READ), запись (STGM_WRITE) или чтение/запись (STGM_READWRITE). Получить указатель на интерфейс IShellLink „нашего“ COM-объекта, вызвав метод QueryInterface через полученный ранее указатель на IPersistFile. Если существует вероятность того, что объект, на который ссылается ярлык, был перемещен — вызвать через полученный указатель метод Resolve для поиска объекта. Получить и (или) назначить требуемые свойства ярлыка, вызвав через указатель на IShellLink его методы GetXxxx и (или) SetXxxx соответственно. При необходимости — сохранить сделанные изменения с помощью метода Save интерфейса IPersistFile. „Отпустить“ полученные интерфейсы, вызвав для каждого из них метод Release. Завершить, если это необходимо, работу с COM-библиотекой вызовом функции CoUninitialize (перед этим можно вызвать функцию CoFreeUnusedLibraries для выгрузки из памяти всех неиспользуемых более COM-серверов). Код:
|
15.08.2008, 09:17 | #6 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Спасибо, как раз в нете нашёл что нужно сначала нужно
>Инициализировать, если это еще не было сделано, COM-библиотеку вызовом функции CoInitialize а то пробовал делать всё остальное без этого и получал null, Вы ещё раз подтвердили мной прочитанное ... кленты - это редиски
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
16.08.2008, 12:22 | #7 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Сори, не глянул на язык, а еcть примерчик на с#?
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создания католога | Lostoffuture | PHP | 2 | 01.07.2008 07:50 |
создания бота | kobras | Работа с сетью в Delphi | 1 | 01.12.2007 14:41 |
способы создания баз | Ванька | БД в Delphi | 2 | 20.11.2007 12:42 |
Создания Класса | Mickle | Общие вопросы Delphi | 1 | 30.04.2007 00:44 |
Свойства ярлыка | Fainder | Win Api | 1 | 26.04.2007 15:26 |