2013-08-07 2 views
1

Это то, что я хочу получить:Как показать оболочки подсказку (текст, который появляется при наведении курсора на файл в проводнике) для файла программно

enter image description here

Я знаю, что можно получить, потому что Total Commander показывает точно такая же информация, хотя в другом стиле. Это заставляет меня думать, что должен быть способ запроса этого текста для любого заданного файла.

ответ

3

Интерфейс IQueryInfo - это то, что вы хотите. Кратко (псевдо-код только, извините):

PCUITEMID_CHILD pidl = <PIDL of item in question> 
IShellFolder* psf = <IShellFolder parent folder of item in question> 

IQueryInfo* pqi; 
if (SUCCEEDED(psf->GetUIObjectOf(hWnd, 1, &pidl, 0, &pqi))) 
{ 
    LPWSTR lpszTip; 
    if (SUCCEEDED(pqi->GetInfoTip(0, &lpszTip)) && lpszTip) 
    { 
     // do something with the tip, and then free it 
     CoTaskMemFree(lpszTip); 
    } 
} 

После того, как у вас есть текст, который вы можете, конечно, показать его так, как вам нравится.

+0

Спасибо, только что я искал. –

+0

Какой язык программирования является кодом выше? (Я знаю, что вы сказали псевдокод). Это поможет мне понять, как его реализовать. – KAE

+1

@KAE: Это C++ (или, возможно, C). –