Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение типа ярлыка через COM объект, Что за ярлык: папка или приложение? 
:(
    Опции темы
null56
Дата 12.2.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: нет
Всего: 12



Всем привет
Стоит задача открытия и чтения свойств ярлыков: открыть ярлык, прочитать его свойства
Ниже: открыли, создали интерфейс, разрешили путь
Код

if (SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IPersistFile, reinterpret_cast<void**>(&shortcut.ptrPersistFile))) )
    {
        if (SUCCEEDED(shortcut.ptrPersistFile->Load(lpShortcut, STGM_READWRITE)) &&
            SUCCEEDED(shortcut.ptrPersistFile->QueryInterface(IID_IShellLink, reinterpret_cast<void**>(&shortcut.ptrShellLink))) &&
            SUCCEEDED(shortcut.ptrShellLink->Resolve(0, SLR_ANY_MATCH | SLR_NO_UI)))

Ниже: получаю нужные мне свойства ярлыка
Код

    if (SUCCEEDED(pShellLink->GetPath(shortcutData.strPath, shortcutData.szMaxShortcutPath, &find_data, 0)) &&
        SUCCEEDED(pShellLink->GetWorkingDirectory(shortcutData.strWorkingDirectory, shortcutData.szMaxShortcutWorkDir)) &&
        SUCCEEDED(pShellLink->GetArguments(shortcutData.strArgs, shortcutData.szMaxShortcutArgs)) &&
        SUCCEEDED(pShellLink->GetIconLocation(shortcutData.objIcon.strPath, shortcutData.objIcon.szIconPath, &shortcutData.objIcon.iIndex)))

Вопрос: существует ли мелкософтовский подход для определения типа ярлыка (файл или папка)? 
ЗЫ: вариант с анализом строк(например пути) в полученных свойствах мне не интересен, до этого я и сам додумался

Заранее благодарен за помощь
PM MAIL   Вверх
jonie
Дата 12.2.2010, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



если в msdn нет, то сделайте два ярлыка на одинковый по названию файл и папку, и сравнивайте.. благо там отличий немного


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0729 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.