0

C++ で、Windows のスタート メニューのインターネット ショートカットを作成しました。すべて問題ありませんが、このショートカットにツールチップを追加するにはどうすればよいですか?

シェル リンクの ShellLink::SetDescription のようなものは見つかりませんでした。

...
QString internetAddress = "http://www.blabla.de";
IUniformResourceLocator *pURL = NULL;

CoInitialize(NULL);
HRESULT hres;
hres = CoCreateInstance(CLSID_InternetShortcut, NULL,
  CLSCTX_INPROC_SERVER, IID_IUniformResourceLocator, (LPVOID*)&pURL);
if(SUCCEEDED(hres))
{
  IPersistFile *ppf = NULL;

  hres = pURL->SetURL((LPCWSTR)internetAddress.utf16(), 0);

  if(SUCCEEDED(hres))
  {
    hres = pURL->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
    if(SUCCEEDED(hres))
    {
      hres = ppf->Save((LPCWSTR)linkFilePath.utf16(), TRUE);

      ppf->Release();
    }
    pURL->Release();
  }
}
...
4

1 に答える 1

0

インターフェイスのクエリを実行し、それを介して追加のプロパティを設定できIUniformResourceLocatorますIPropertySetStorage

インターネットのショートカット | プロパティ ストレージへのアクセス

インターネット ショートカット オブジェクトには、オブジェクトの IPropertySetStorage インターフェイスを通じてアクセスできるいくつかのプロパティが含まれています
。FMTID_Intshcut
に対して次のプロパティ ID を要求できます。

PROPID      Variant Type    Description
PID_IS_URL      VT_LPWSTR   URL to which the shortcut leads
PID_IS_NAME     VT_LPWSTR   Name of the Internet shortcut
PID_IS_WORKINGDIR   VT_LPWSTR   Working directory for the shortcut
PID_IS_HOTKEY   VT_UI2  Hotkey for the shortcut
PID_IS_SHOWCMD  VT_I4   Show command for shortcut
PID_IS_ICONINDEX    VT_I4   Index of the icon
PID_IS_ICONFILE VT_LPWSTR   File that contains the icon
PID_IS_WHATSNEW VT_LPWSTR   What's New text
PID_IS_AUTHOR   VT_LPWSTR   Author
PID_IS_DESCRIPTION  VT_LPWSTR   Description text of site
PID_IS_COMMENT  VT_LPWSTR   User annotated comment
PID_IS_ROAMED   VT_BOOL True when shortcut is roamed for first time

IUniformResourceLocatorにそのインターフェイスを照会して、IShellLinkそれらのプロパティを設定することもできます。

インターネットのショートカット | インターフェース

インターネット ショートカット オブジェクトは、多数のインターフェイスを公開します。

OLE インターフェイス
IDataObject
IPersistFile
IPersistStream
IOleCommandTarget
IPropertySetStorage
IObjectWithSite

シェル インターフェイス
IContextMenu2
IExtractIcon
INewShortcutHook
IShellExtInit
IShellLink
IShellPropSheetExt
IQueryInfo

于 2014-08-01T16:29:43.240 に答える