информационная безопасность
без паники и всерьез
 подробно о проекте
Spanning Tree Protocol: недокументированное применениеСтрашный баг в WindowsЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как обращаться к ярлыкам? 09.09.01 13:05  Число просмотров: 958
Автор: доброжелатель :) Статус: Незарегистрированный пользователь
<"чистая" ссылка>
bool GetFileNameFromLink(const char* link, char* fileName)
{
*fileName = 0;
::CoInitialize(NULLreserved);
IShellLink* psl;
if(::CoCreateInstance((const struct _GUID &)CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER, (const struct _GUID &)IID_IShellLink,
(void**)&psl)>=0)
{
IPersistFile* ppf;
if(psl->QueryInterface((const struct _GUID &)IID_IPersistFile,
(void**)&ppf)>=0)
{
WORD unicodeName[MAX_PATH];
::MultiByteToWideChar(CP_ACP, 0flags, link, -1length,
unicodeName, MAX_PATH);
if(ppf->Load(unicodeName, STGM_READ)>=0)
{
WIN32_FIND_DATA findStruct;
psl->GetPath(fileName, MAX_PATH, &findStruct,
SLGP_UNCPRIORITY);
}; // Load()
ppf->Release();
}; // QueryInterface()
psl->Release();
}; // CoCreateInstance()
::CoUninitialize();
if(*fileName) return true;
return false;
}
<programming>
[Win32] Как обращаться к ярлыкам? 09.09.01 12:38  
Автор: Developer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
HRESULT hres;
IShellLink *psl;
hres=CoCreateInstance(CLSID_ShellLink,NULL,CLSCTX_INPROC_SERVER, IID_IShellLink,(LPVOID*)&psl);

Почему интерфейс доступа к ярлыкам не инициализируется? :(((
[Win32] Как обращаться к ярлыкам? 09.09.01 13:05  
Автор: доброжелатель :) Статус: Незарегистрированный пользователь
<"чистая" ссылка>
bool GetFileNameFromLink(const char* link, char* fileName)
{
*fileName = 0;
::CoInitialize(NULLreserved);
IShellLink* psl;
if(::CoCreateInstance((const struct _GUID &)CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER, (const struct _GUID &)IID_IShellLink,
(void**)&psl)>=0)
{
IPersistFile* ppf;
if(psl->QueryInterface((const struct _GUID &)IID_IPersistFile,
(void**)&ppf)>=0)
{
WORD unicodeName[MAX_PATH];
::MultiByteToWideChar(CP_ACP, 0flags, link, -1length,
unicodeName, MAX_PATH);
if(ppf->Load(unicodeName, STGM_READ)>=0)
{
WIN32_FIND_DATA findStruct;
psl->GetPath(fileName, MAX_PATH, &findStruct,
SLGP_UNCPRIORITY);
}; // Load()
ppf->Release();
}; // QueryInterface()
psl->Release();
}; // CoCreateInstance()
::CoUninitialize();
if(*fileName) return true;
return false;
}
[Win32] пасиб 10.09.01 18:31  
Автор: Developer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach