[SHELL32] Add SendTo DeskLink (Retry) (#2099)
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Wed, 27 Nov 2019 11:09:19 +0000 (20:09 +0900)
committerGitHub <noreply@github.com>
Wed, 27 Nov 2019 11:09:19 +0000 (20:09 +0900)
CORE-12562

36 files changed:
dll/win32/shell32/lang/bg-BG.rc
dll/win32/shell32/lang/ca-ES.rc
dll/win32/shell32/lang/cs-CZ.rc
dll/win32/shell32/lang/da-DK.rc
dll/win32/shell32/lang/de-DE.rc
dll/win32/shell32/lang/el-GR.rc
dll/win32/shell32/lang/en-GB.rc
dll/win32/shell32/lang/en-US.rc
dll/win32/shell32/lang/es-ES.rc
dll/win32/shell32/lang/et-EE.rc
dll/win32/shell32/lang/fi-FI.rc
dll/win32/shell32/lang/fr-FR.rc
dll/win32/shell32/lang/he-IL.rc
dll/win32/shell32/lang/hi-IN.rc
dll/win32/shell32/lang/hu-HU.rc
dll/win32/shell32/lang/id-ID.rc
dll/win32/shell32/lang/it-IT.rc
dll/win32/shell32/lang/ja-JP.rc
dll/win32/shell32/lang/ko-KR.rc
dll/win32/shell32/lang/nl-NL.rc
dll/win32/shell32/lang/no-NO.rc
dll/win32/shell32/lang/pl-PL.rc
dll/win32/shell32/lang/pt-BR.rc
dll/win32/shell32/lang/pt-PT.rc
dll/win32/shell32/lang/ro-RO.rc
dll/win32/shell32/lang/ru-RU.rc
dll/win32/shell32/lang/sk-SK.rc
dll/win32/shell32/lang/sl-SI.rc
dll/win32/shell32/lang/sq-AL.rc
dll/win32/shell32/lang/sv-SE.rc
dll/win32/shell32/lang/tr-TR.rc
dll/win32/shell32/lang/uk-UA.rc
dll/win32/shell32/lang/zh-CN.rc
dll/win32/shell32/lang/zh-TW.rc
dll/win32/shell32/shresdef.h
dll/win32/shell32/wine/shellpath.c

index 42d1fb1..9a9d639 100644 (file)
@@ -771,6 +771,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 5f01647..f442d13 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index c668b7b..e593800 100644 (file)
@@ -776,6 +776,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Složku '%1' nebylo možné vytvořit"
     IDS_CREATEFOLDER_CAPTION "Složku nebylo možné vytvořit"
index 30172ae..d960598 100644 (file)
@@ -776,6 +776,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 1f6b2cc..0351e32 100644 (file)
@@ -771,6 +771,7 @@ BEGIN
     IDS_EJECT "Auswerfen"
     IDS_DISCONNECT "Trennen"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED " Der Ordner kann nicht erstellt werden '%1'"
     IDS_CREATEFOLDER_CAPTION " Der Ordner kann nicht erstellt werden."
index 5196614..497dafe 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 5d4cf6b..b7c7f45 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index f50562a..c13b373 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 12e5e17..dac44ba 100644 (file)
@@ -778,6 +778,7 @@ BEGIN
     IDS_EJECT "Extraer"
     IDS_DISCONNECT "Desconectar"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "No se pudo crear la carpeta '%1'"
     IDS_CREATEFOLDER_CAPTION "No se pudo crear la carpeta"
index 63b137c..1e376de 100644 (file)
@@ -777,6 +777,7 @@ BEGIN
     IDS_EJECT "Väljuta"
     IDS_DISCONNECT "Katkesta ühendus"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Ei saa luua kausta '%1'"
     IDS_CREATEFOLDER_CAPTION "Ei saa kausta luua"
index 5fc6ddf..854d836 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index e5d0e25..0d32521 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Éjecter"
     IDS_DISCONNECT "Déconnecter"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Impossible de créer le dossier '%1'"
     IDS_CREATEFOLDER_CAPTION "Impossible de créer un dossier"
index e9e64d7..6031326 100644 (file)
@@ -772,6 +772,7 @@ BEGIN
     IDS_EJECT "הוצא"
     IDS_DISCONNECT "נתק"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 7e637ba..8f359fb 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "इजेक्ट"
     IDS_DISCONNECT "डिस्कनेक्ट"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "फ़ोल्डर '%1' बनाने में असमर्थ"
     IDS_CREATEFOLDER_CAPTION "फ़ोल्डर बनाने में असमर्थ"
index 1c9f001..34857df 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index c973626..5aeb4d1 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Keluarkan"
     IDS_DISCONNECT "Putuskan"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Tidak bisa membuat folder folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Tidak bisa membuat folder"
index 7a85434..da8b5cb 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 9c2732f..1c6ceba 100644 (file)
@@ -767,6 +767,7 @@ BEGIN
     IDS_EJECT "取り出し"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "フォルダ '%1' を作成できません"
     IDS_CREATEFOLDER_CAPTION "フォルダを作成できません"
index 3b33cef..e22bff3 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index e7a697f..fc734ca 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 51d999b..2b8662a 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 7c0cc73..46ec68d 100644 (file)
@@ -775,6 +775,7 @@ BEGIN
     IDS_EJECT "Wysuń"
     IDS_DISCONNECT "Odłącz"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Nie można utworzyć folderu '%1'"
     IDS_CREATEFOLDER_CAPTION "Nie można utworzyć folderu"
index c34ae71..26eaad6 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 6560b08..7e9d91f 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Desligar"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Impossivel de criar pasta '%1'"
     IDS_CREATEFOLDER_CAPTION "Impossivel de criar pasta"
index a3dfce4..655ed74 100644 (file)
@@ -772,6 +772,7 @@ BEGIN
     IDS_EJECT "S&coate"
     IDS_DISCONNECT "Deconectea&ză"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Nu poate fi creat un dosar cu numele „%1”"
     IDS_CREATEFOLDER_CAPTION "Nu poate fi creat dosar"
index 46b3975..19e432d 100644 (file)
@@ -777,6 +777,7 @@ BEGIN
     IDS_EJECT "Извлечь"
     IDS_DISCONNECT "Отсоединить"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Невозможно создать папку '%1'"
     IDS_CREATEFOLDER_CAPTION "Невозможно создать папку"
index 01000ca..26723a8 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 640f4cb..e4fba05 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index fe6992e..e1cef58 100644 (file)
@@ -774,6 +774,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
index 0674926..ae0836d 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Kunde inte skapa mappen '%1'"
     IDS_CREATEFOLDER_CAPTION "Kunde inte skapa mapp"
index 8844940..946d178 100644 (file)
@@ -772,6 +772,7 @@ BEGIN
     IDS_EJECT "Eject"
     IDS_DISCONNECT "Disconnect"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED """%1"" dizini oluşturulamıyor."
     IDS_CREATEFOLDER_CAPTION "Dizin Oluşturulamıyor"
index faa2254..d8c5fd5 100644 (file)
@@ -770,6 +770,7 @@ BEGIN
     IDS_EJECT "Витягнути"
     IDS_DISCONNECT "Відключити"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "Не вдалося створити папку '%1'"
     IDS_CREATEFOLDER_CAPTION "Не вдалося створити папку"
index af8f3c4..8f08b21 100644 (file)
@@ -778,6 +778,7 @@ BEGIN
     IDS_EJECT "弹出"
     IDS_DISCONNECT "断开"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "无法创建文件夹 '%1'"
     IDS_CREATEFOLDER_CAPTION "无法创建文件夹"
index a9cf807..ce149f3 100644 (file)
@@ -779,6 +779,7 @@ BEGIN
     IDS_EJECT "退出"
     IDS_DISCONNECT "中斷"
     IDS_OPENFILELOCATION "Open f&ile location"
+    IDS_DESKLINK "Desktop (Create shortcut)"
 
     IDS_CREATEFOLDER_DENIED "無法建立資料夾 '%1'"
     IDS_CREATEFOLDER_CAPTION "無法建立資料夾"
index 3e425ea..d80365f 100644 (file)
 #define IDS_DISCONNECT           340
 
 #define IDS_OPENFILELOCATION     341
+#define IDS_DESKLINK             342
 
 #define IDS_MENU_EMPTY           34561
 
index 99c78c8..1fe931f 100644 (file)
@@ -2200,7 +2200,9 @@ HRESULT DoCreateSendToFiles(LPCWSTR pszSendTo)
     WCHAR szSendToFile[MAX_PATH];
     WCHAR szShell32[MAX_PATH];
     HRESULT hr;
+    HANDLE hFile;
 
+    /* create my documents */
     SHGetSpecialFolderPathW(NULL, szTarget, CSIDL_MYDOCUMENTS, TRUE);
 
     StringCbCopyW(szSendToFile, sizeof(szSendToFile), pszSendTo);
@@ -2209,12 +2211,20 @@ HRESULT DoCreateSendToFiles(LPCWSTR pszSendTo)
 
     GetSystemDirectoryW(szShell32, ARRAY_SIZE(szShell32));
     PathAppendW(szShell32, L"shell32.dll");
-
     hr = CreateShellLink(szSendToFile, szTarget, NULL, NULL,
                          szShell32, -IDI_SHELL_MY_DOCUMENTS, NULL);
     if (FAILED_UNEXPECTEDLY(hr))
         return hr;
 
+    /* create desklink */
+    StringCbCopyW(szSendToFile, sizeof(szSendToFile), pszSendTo);
+    LoadStringW(shell32_hInstance, IDS_DESKLINK, szTarget, _countof(szTarget));
+    StringCbCatW(szTarget, sizeof(szTarget), L".DeskLink");
+    PathAppendW(szSendToFile, szTarget);
+    hFile = CreateFileW(szSendToFile, GENERIC_WRITE, FILE_SHARE_READ, NULL,
+                        CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+    CloseHandle(hFile);
+
     return hr;
 }