-/* $Id: appwiz.c 29364 2007-10-02 23:34:00Z janderwald $
- *
- * PROJECT: ReactOS Software Control Panel
- * FILE: dll/cpl/appwiz/createlink.c
- * PURPOSE: ReactOS Software Control Panel
- * PROGRAMMER: Gero Kuehn (reactos.filter@gkware.com)
- * Dmitry Chapyshev (lentind@yandex.ru)
- * Johannes Anderwald
+/*
+ * PROJECT: ReactOS Software Control Panel
+ * FILE: dll/cpl/appwiz/createlink.c
+ * PURPOSE: ReactOS Software Control Panel
+ * PROGRAMMER: Gero Kuehn (reactos.filter@gkware.com)
+ * Dmitry Chapyshev (lentind@yandex.ru)
+ * Johannes Anderwald
* UPDATE HISTORY:
* 06-17-2004 Created
*/
#include "appwiz.h"
+#include <tchar.h>
+
BOOL
IsShortcut(HKEY hKey)
{
if (IsExtensionAShortcut(lpExtension))
{
- hr = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_ALL, &IID_IShellLink, (void**)&pSourceShellLink);
+ hr = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_ALL, &IID_IShellLinkW, (void**)&pSourceShellLink);
if (hr != S_OK)
return FALSE;
}
hr = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_ALL,
- &IID_IShellLink, (void**)&pShellLink);
+ &IID_IShellLinkW, (void**)&pShellLink);
if (hr != S_OK)
return FALSE;
brws.pszDisplayName = szPath;
brws.ulFlags = BIF_BROWSEINCLUDEFILES;
brws.lpfn = NULL;
- pidllist = SHBrowseForFolder(&brws);
+ pidllist = SHBrowseForFolderW(&brws);
if (!pidllist)
break;
- if (SHGetPathFromIDList(pidllist, szPath))
+ if (SHGetPathFromIDListW(pidllist, szPath))
SendDlgItemMessage(hwndDlg, IDC_SHORTCUT_LOCATION, WM_SETTEXT, 0, (LPARAM)szPath);
/* Free memory, if possible */
LoadStringW(hApplet, IDS_ERROR_NOT_FOUND, szPath, MAX_PATH) < MAX_PATH)
{
WCHAR szError[MAX_PATH + 100];
-#ifdef _MSC_VER
- _swprintf(szError, szPath, pContext->szTarget);
-#else
swprintf(szError, szPath, pContext->szTarget);
-#endif
MessageBoxW(hwndDlg, szError, szDesc, MB_ICONERROR);
}
SendDlgItemMessage(hwndDlg, IDC_SHORTCUT_LOCATION, EM_SETSEL, 0, -1);
nLength = wcslen(szPath);
if (!nLength)
{
+ HeapFree(GetProcessHeap(), 0, pContext);
+
/* no directory given */
return FALSE;
}
attrs = GetFileAttributesW(szPath);
- if (attrs == INVALID_FILE_ATTRIBUTES || (attrs & FILE_ATTRIBUTE_DIRECTORY))
+ if (attrs == INVALID_FILE_ATTRIBUTES)
{
+ HeapFree(GetProcessHeap(), 0, pContext);
+
/* invalid path */
return FALSE;
}
psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
psp.hInstance = hApplet;
psp.pfnDlgProc = WelcomeDlgProc;
- psp.pszTemplate = MAKEINTRESOURCE(IDD_SHORTCUT_LOCATION);
+ psp.pszTemplate = MAKEINTRESOURCEW(IDD_SHORTCUT_LOCATION);
psp.lParam = (LPARAM)pContext;
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
/* Create the Finish page */
psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
psp.pfnDlgProc = FinishDlgProc;
- psp.pszTemplate = MAKEINTRESOURCE(IDD_SHORTCUT_FINISH);
+ psp.pszTemplate = MAKEINTRESOURCEW(IDD_SHORTCUT_FINISH);
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
psh.nPages = nPages;
psh.nStartPage = 0;
psh.phpage = ahpsp;
- psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
+ psh.pszbmWatermark = MAKEINTRESOURCEW(IDB_WATERMARK);
/* Display the wizard */
PropertySheet(&psh);
return TRUE;
}
-
-LONG
-CALLBACK
-NewLinkHere(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
-{
- WCHAR szFile[MAX_PATH];
-
- if (MultiByteToWideChar(CP_ACP, 0, (LPSTR) lParam1, -1, szFile, MAX_PATH))
- {
- return ShowCreateShortcutWizard(hwndCPl, szFile);
- }
- return -1;
-}
-
-
LONG
CALLBACK
NewLinkHereW(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)