Windows エクスプローラーでファイルを右クリックすると、.lnk ファイルを除くすべてのファイルのこのファイルのファイル名が取得されます。
ショートカットが指すファイル名ではなく、.lnk ファイルのファイル名を取得するにはどうすればよいですか?
私はこのC++コードを使用します:
#pragma region IShellExtInit
// Initialize the context menu handler.
IFACEMETHODIMP FileContextMenuExt::Initialize(
LPCITEMIDLIST pidlFolder, LPDATAOBJECT pDataObj, HKEY hKeyProgID)
{
if (NULL == pDataObj)
{
return E_INVALIDARG;
}
HRESULT hr = E_FAIL;
FORMATETC fe = { CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };
STGMEDIUM stm;
// The pDataObj pointer contains the objects being acted upon. In this
// example, we get an HDROP handle for enumerating the selected files and
// folders.
if (SUCCEEDED(pDataObj->GetData(&fe, &stm)))
{
ありがとうございました。