+
+/* Set Explicit App User Model Id to fix removable media error with
+ jump lists */
+
+BOOL set_explicit_app_user_model_id()
+{
+ DECL_WINDOWS_FUNCTION(static, HRESULT, SetCurrentProcessExplicitAppUserModelID,
+ (PCWSTR));
+
+ static HMODULE shell32_module = 0;
+
+ if (!shell32_module)
+ {
+ shell32_module = load_system32_dll("Shell32.dll");
+ GET_WINDOWS_FUNCTION(shell32_module, SetCurrentProcessExplicitAppUserModelID);
+ }
+
+ if (p_SetCurrentProcessExplicitAppUserModelID)
+ {
+ if (p_SetCurrentProcessExplicitAppUserModelID(L"SimonTatham.PuTTY") == S_OK)
+ {
+ return TRUE;
+ }
+ return FALSE;
+ }
+ /* Function doesn't exist, which is ok for Pre-7 systems */
+
+ return TRUE;
+
+}