Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |
[Win32] пасиб 10.09.01 18:31 Число просмотров: 804
Автор: Developer Статус: Незарегистрированный пользователь
|
|
<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 Статус: Незарегистрированный пользователь
|
|
|
|