summaryrefslogtreecommitdiff
path: root/plugins/AddToStartMenu/src
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/AddToStartMenu/src')
-rw-r--r--plugins/AddToStartMenu/src/main.cpp143
-rw-r--r--plugins/AddToStartMenu/src/stdafx.cxx18
-rw-r--r--plugins/AddToStartMenu/src/stdafx.h26
-rw-r--r--plugins/AddToStartMenu/src/version.h14
4 files changed, 0 insertions, 201 deletions
diff --git a/plugins/AddToStartMenu/src/main.cpp b/plugins/AddToStartMenu/src/main.cpp
deleted file mode 100644
index 6b3a86ebaa..0000000000
--- a/plugins/AddToStartMenu/src/main.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-#include "stdafx.h"
-
-using namespace Microsoft::WRL;
-
-int hLangpack;
-HINSTANCE g_hInst;
-
-PLUGININFOEX pluginInfo =
-{
- sizeof(PLUGININFOEX),
- __PLUGIN_NAME,
- PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM),
- __DESCRIPTION,
- __AUTHOR,
- __AUTHOREMAIL,
- __COPYRIGHT,
- __AUTHORWEB,
- UNICODE_AWARE,
- // {61D5BB60-2249-4E3D-B23E-8FB86F04ED40}
- { 0x61d5bb60, 0x2249, 0x4e3d, { 0xb2, 0x3e, 0x8f, 0xb8, 0x6f, 0x4, 0xed, 0x40 } }
-
-};
-
-BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD, LPVOID)
-{
- g_hInst = hInstance;
- return TRUE;
-}
-
-extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD)
-{
- if (IsWinVer7Plus())
- return &pluginInfo;
- return NULL;
-}
-
-extern "C" int __declspec(dllexport) Load(void)
-{
- mir_getLP(&pluginInfo);
-
- CreateServiceFunction(MODULENAME "/Add", Service);
-
- if (!ShortcutExists())
- {
- CMenuItem mi;
- mi.position = -0x7FFFFFFF;
- //mi.hIcolibItem = icon.hIcolib;
- mi.name.a = LPGEN("Add to start menu");
- mi.pszService = MODULENAME "/Add";
- Menu_AddMainMenuItem(&mi);
- }
-
- return 0;
-}
-
-extern "C" int __declspec(dllexport) Unload(void)
-{
- return 0;
-}
-
-INT_PTR Service(WPARAM, LPARAM)
-{
- return (INT_PTR)TryCreateShortcut();
-}
-
-wchar_t* GetShortcutPath()
-{
- wchar_t shortcutPath[MAX_PATH];
- GetEnvironmentVariable(_T("APPDATA"), shortcutPath, MAX_PATH);
- wcscat_s(shortcutPath, ARRAYSIZE(shortcutPath), L"\\Microsoft\\Windows\\Start Menu\\Programs\\Miranda NG.lnk");
-
- return mir_wstrdup(shortcutPath);
-}
-
-HRESULT ShortcutExists()
-{
- HRESULT hr;
- DWORD attributes = GetFileAttributes(ptrW(GetShortcutPath()));
- bool fileExists = attributes < 0xFFFFFFF;
-
- if (!fileExists)
- {
- hr = S_OK;
- }
- else
- {
- hr = S_FALSE;
- }
- return hr;
-}
-
-HRESULT TryCreateShortcut()
-{
- if (!ShortcutExists())
- return InstallShortcut(ptrW(GetShortcutPath()));
- return S_FALSE;
-}
-
-HRESULT InstallShortcut(_In_z_ wchar_t *shortcutPath)
-{
- wchar_t exePath[MAX_PATH];
- GetModuleFileName(NULL, exePath, MAX_PATH);
-
- ComPtr<IShellLink> shellLink;
- HRESULT hr = CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&shellLink));
- if (SUCCEEDED(hr))
- {
- hr = shellLink->SetPath(exePath);
- if (SUCCEEDED(hr))
- {
- hr = shellLink->SetArguments(L"");
- if (SUCCEEDED(hr))
- {
- ComPtr<IPropertyStore> propertyStore;
- hr = shellLink.As(&propertyStore);
- if (SUCCEEDED(hr))
- {
- PROPVARIANT appIdPropVar;
- hr = InitPropVariantFromString(AppUserModelID, &appIdPropVar);
- if (SUCCEEDED(hr))
- {
- hr = propertyStore->SetValue(PKEY_AppUserModel_ID, appIdPropVar);
- if (SUCCEEDED(hr))
- {
- hr = propertyStore->Commit();
- if (SUCCEEDED(hr))
- {
- ComPtr<IPersistFile> persistFile;
- hr = shellLink.As(&persistFile);
- if (SUCCEEDED(hr))
- {
- hr = persistFile->Save(shortcutPath, TRUE);
- }
- }
- }
- PropVariantClear(&appIdPropVar);
- }
- }
- }
- }
- }
- return hr;
-}
diff --git a/plugins/AddToStartMenu/src/stdafx.cxx b/plugins/AddToStartMenu/src/stdafx.cxx
deleted file mode 100644
index 6fb37564b7..0000000000
--- a/plugins/AddToStartMenu/src/stdafx.cxx
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright (C) 2012-15 Miranda NG project (http://miranda-ng.org)
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation version 2
-of the License.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "stdafx.h" \ No newline at end of file
diff --git a/plugins/AddToStartMenu/src/stdafx.h b/plugins/AddToStartMenu/src/stdafx.h
deleted file mode 100644
index 439407cffe..0000000000
--- a/plugins/AddToStartMenu/src/stdafx.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#pragma once
-
-#include <ShObjIdl.h>
-#include <propvarutil.h>
-#include <wrl\implements.h>
-#include <newpluginapi.h>
-#include <m_langpack.h>
-#include <m_message.h>
-#include <m_genmenu.h>
-#include <m_clist.h>
-#include "Version.h"
-
-DEFINE_PROPERTYKEY(PKEY_AppUserModel_ID, 0x9F4C2855, 0x9F79, 0x4B39, 0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3, 5);
-
-const wchar_t AppUserModelID[] = _T("MirandaNG");
-
-#define MODULENAME "AddToStartMenu"
-
-extern HINSTANCE g_hInst;
-
-
-INT_PTR Service(WPARAM, LPARAM);
-HRESULT ShortcutExists();
-wchar_t* GetShortcutPath();
-HRESULT TryCreateShortcut();
-HRESULT InstallShortcut(_In_z_ wchar_t *shortcutPath);
diff --git a/plugins/AddToStartMenu/src/version.h b/plugins/AddToStartMenu/src/version.h
deleted file mode 100644
index 6245eaaa1a..0000000000
--- a/plugins/AddToStartMenu/src/version.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#define __MAJOR_VERSION 0
-#define __MINOR_VERSION 0
-#define __RELEASE_NUM 1
-#define __BUILD_NUM 0
-
-#include <stdver.h>
-
-#define __PLUGIN_NAME "AddToStartMenu"
-#define __FILENAME "AddToStartMenu.dll"
-#define __DESCRIPTION "Add portable miranda shortcut to windows start menu."
-#define __AUTHOR "MikalaiR"
-#define __AUTHOREMAIL ""
-#define __AUTHORWEB "http://miranda-ng.org/p//"
-#define __COPYRIGHT "© 2015 Miranda NG Team"