From 40115052f14e4285bbc5bfa2de69a7bd51f5d13b Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Fri, 28 Aug 2015 17:31:03 +0000 Subject: AddToStartMenu: includes cleanup git-svn-id: http://svn.miranda-ng.org/main/trunk@15067 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/AddToStartMenu/src/main.cpp | 38 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 23 deletions(-) (limited to 'plugins/AddToStartMenu/src/main.cpp') diff --git a/plugins/AddToStartMenu/src/main.cpp b/plugins/AddToStartMenu/src/main.cpp index 5c4da0766c..6b3a86ebaa 100644 --- a/plugins/AddToStartMenu/src/main.cpp +++ b/plugins/AddToStartMenu/src/main.cpp @@ -99,49 +99,41 @@ HRESULT TryCreateShortcut() HRESULT InstallShortcut(_In_z_ wchar_t *shortcutPath) { wchar_t exePath[MAX_PATH]; + GetModuleFileName(NULL, exePath, MAX_PATH); - DWORD charWritten = GetModuleFileNameEx(GetCurrentProcess(), nullptr, exePath, ARRAYSIZE(exePath)); - - HRESULT hr = charWritten > 0 ? S_OK : E_FAIL; - + ComPtr shellLink; + HRESULT hr = CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&shellLink)); if (SUCCEEDED(hr)) { - ComPtr shellLink; - hr = CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&shellLink)); - + hr = shellLink->SetPath(exePath); if (SUCCEEDED(hr)) { - hr = shellLink->SetPath(exePath); + hr = shellLink->SetArguments(L""); if (SUCCEEDED(hr)) { - hr = shellLink->SetArguments(L""); + ComPtr propertyStore; + hr = shellLink.As(&propertyStore); if (SUCCEEDED(hr)) { - ComPtr propertyStore; - - hr = shellLink.As(&propertyStore); + PROPVARIANT appIdPropVar; + hr = InitPropVariantFromString(AppUserModelID, &appIdPropVar); if (SUCCEEDED(hr)) { - PROPVARIANT appIdPropVar; - hr = InitPropVariantFromString(AppUserModelID, &appIdPropVar); + hr = propertyStore->SetValue(PKEY_AppUserModel_ID, appIdPropVar); if (SUCCEEDED(hr)) { - hr = propertyStore->SetValue(PKEY_AppUserModel_ID, appIdPropVar); + hr = propertyStore->Commit(); if (SUCCEEDED(hr)) { - hr = propertyStore->Commit(); + ComPtr persistFile; + hr = shellLink.As(&persistFile); if (SUCCEEDED(hr)) { - ComPtr persistFile; - hr = shellLink.As(&persistFile); - if (SUCCEEDED(hr)) - { - hr = persistFile->Save(shortcutPath, TRUE); - } + hr = persistFile->Save(shortcutPath, TRUE); } } - PropVariantClear(&appIdPropVar); } + PropVariantClear(&appIdPropVar); } } } -- cgit v1.2.3