mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[EXPLORER]
- Start to convert the code to pure Unicode. - Use _countof where needed. - Use UINT for loop counters where the counter value is always positive. - Some whitespace fixes. svn path=/trunk/; revision=71512
This commit is contained in:
parent
441ced48c3
commit
3f87882d7d
18 changed files with 277 additions and 309 deletions
|
@ -75,7 +75,7 @@ public:
|
|||
|
||||
m_Tray = pTray;
|
||||
|
||||
m_hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||
m_hEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
|
||||
if (!m_hEvent)
|
||||
return E_FAIL;
|
||||
|
||||
|
@ -120,7 +120,7 @@ DesktopCreateWindow(IN OUT ITrayWindow *Tray)
|
|||
CDesktopThread* pDesktopThread = new CDesktopThread();
|
||||
|
||||
HRESULT hres = pDesktopThread->Initialize(Tray);
|
||||
if(FAILED_UNEXPECTEDLY(hres))
|
||||
if (FAILED_UNEXPECTEDLY(hres))
|
||||
{
|
||||
delete pDesktopThread;
|
||||
return NULL;
|
||||
|
|
|
@ -55,11 +55,11 @@ static VOID InitializeAtlModule(HINSTANCE hInstance, BOOL bInitialize)
|
|||
|
||||
#if !WIN7_DEBUG_MODE
|
||||
static BOOL
|
||||
SetShellReadyEvent(IN LPCTSTR lpEventName)
|
||||
SetShellReadyEvent(IN LPCWSTR lpEventName)
|
||||
{
|
||||
HANDLE hEvent;
|
||||
|
||||
hEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, lpEventName);
|
||||
hEvent = OpenEventW(EVENT_MODIFY_STATE, FALSE, lpEventName);
|
||||
if (hEvent != NULL)
|
||||
{
|
||||
SetEvent(hEvent);
|
||||
|
@ -77,17 +77,17 @@ HideMinimizedWindows(IN BOOL bHide)
|
|||
MINIMIZEDMETRICS mm;
|
||||
|
||||
mm.cbSize = sizeof(mm);
|
||||
if (!SystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(mm), &mm, 0))
|
||||
if (!SystemParametersInfoW(SPI_GETMINIMIZEDMETRICS, sizeof(mm), &mm, 0))
|
||||
{
|
||||
ERR("SystemParametersInfo failed with %lu\n", GetLastError());
|
||||
ERR("SystemParametersInfoW failed with %lu\n", GetLastError());
|
||||
return;
|
||||
}
|
||||
if (bHide)
|
||||
mm.iArrange |= ARW_HIDE;
|
||||
else
|
||||
mm.iArrange &= ~ARW_HIDE;
|
||||
if (!SystemParametersInfo(SPI_SETMINIMIZEDMETRICS, sizeof(mm), &mm, 0))
|
||||
ERR("SystemParametersInfo failed with %lu\n", GetLastError());
|
||||
if (!SystemParametersInfoW(SPI_SETMINIMIZEDMETRICS, sizeof(mm), &mm, 0))
|
||||
ERR("SystemParametersInfoW failed with %lu\n", GetLastError());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -119,12 +119,12 @@ StartWithDesktop(IN HINSTANCE hInstance)
|
|||
{
|
||||
InitializeAtlModule(hInstance, TRUE);
|
||||
|
||||
if (RegOpenKey(HKEY_CURRENT_USER,
|
||||
if (RegOpenKeyW(HKEY_CURRENT_USER,
|
||||
L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer",
|
||||
&hkExplorer) != ERROR_SUCCESS)
|
||||
{
|
||||
WCHAR Message[256];
|
||||
LoadString(hInstance, IDS_STARTUP_ERROR, Message, 256);
|
||||
LoadStringW(hInstance, IDS_STARTUP_ERROR, Message, _countof(Message));
|
||||
MessageBox(NULL, Message, NULL, MB_ICONERROR);
|
||||
return 1;
|
||||
}
|
||||
|
@ -166,8 +166,8 @@ StartWithDesktop(IN HINSTANCE hInstance)
|
|||
hShellDesktop = DesktopCreateWindow(Tray);
|
||||
|
||||
/* WinXP: Notify msgina to hide the welcome screen */
|
||||
if (!SetShellReadyEvent(TEXT("msgina: ShellReadyEvent")))
|
||||
SetShellReadyEvent(TEXT("Global\\msgina: ShellReadyEvent"));
|
||||
if (!SetShellReadyEvent(L"msgina: ShellReadyEvent"))
|
||||
SetShellReadyEvent(L"Global\\msgina: ShellReadyEvent");
|
||||
#endif
|
||||
|
||||
if (Tray != NULL)
|
||||
|
|
|
@ -46,5 +46,5 @@ INT_PTR CALLBACK CustomizeNotifyIconsProc(HWND hwnd, UINT Message, WPARAM wParam
|
|||
|
||||
VOID ShowCustomizeNotifyIcons(HINSTANCE hInst, HWND hExplorer)
|
||||
{
|
||||
DialogBox(hInst, MAKEINTRESOURCE(IDD_NOTIFICATIONS_CUSTOMIZE), hExplorer, CustomizeNotifyIconsProc);
|
||||
DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_NOTIFICATIONS_CUSTOMIZE), hExplorer, CustomizeNotifyIconsProc);
|
||||
}
|
|
@ -65,8 +65,8 @@ extern HKEY hkExplorer;
|
|||
static inline
|
||||
LONG
|
||||
SetWindowStyle(IN HWND hWnd,
|
||||
IN LONG dwStyleMask,
|
||||
IN LONG dwStyle)
|
||||
IN LONG dwStyleMask,
|
||||
IN LONG dwStyle)
|
||||
{
|
||||
return SHSetWindowBits(hWnd, GWL_STYLE, dwStyleMask, dwStyle);
|
||||
}
|
||||
|
@ -74,35 +74,35 @@ IN LONG dwStyle)
|
|||
static inline
|
||||
LONG
|
||||
SetWindowExStyle(IN HWND hWnd,
|
||||
IN LONG dwStyleMask,
|
||||
IN LONG dwStyle)
|
||||
IN LONG dwStyleMask,
|
||||
IN LONG dwStyle)
|
||||
{
|
||||
return SHSetWindowBits(hWnd, GWL_EXSTYLE, dwStyleMask, dwStyle);
|
||||
}
|
||||
|
||||
HMENU
|
||||
LoadPopupMenu(IN HINSTANCE hInstance,
|
||||
IN LPCTSTR lpMenuName);
|
||||
IN LPCWSTR lpMenuName);
|
||||
|
||||
HMENU
|
||||
FindSubMenu(IN HMENU hMenu,
|
||||
IN UINT uItem,
|
||||
IN BOOL fByPosition);
|
||||
IN UINT uItem,
|
||||
IN BOOL fByPosition);
|
||||
|
||||
BOOL
|
||||
GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer,
|
||||
IN DWORD dwBufferSize);
|
||||
GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer,
|
||||
IN DWORD dwBufferSize);
|
||||
|
||||
BOOL
|
||||
FormatMenuString(IN HMENU hMenu,
|
||||
IN UINT uPosition,
|
||||
IN UINT uFlags,
|
||||
...);
|
||||
IN UINT uPosition,
|
||||
IN UINT uFlags,
|
||||
...);
|
||||
|
||||
BOOL
|
||||
GetExplorerRegValueSet(IN HKEY hKey,
|
||||
IN LPCTSTR lpSubKey,
|
||||
IN LPCTSTR lpValue);
|
||||
IN LPCWSTR lpSubKey,
|
||||
IN LPCWSTR lpValue);
|
||||
|
||||
/*
|
||||
* rshell.c
|
||||
|
@ -190,9 +190,9 @@ VOID
|
|||
LoadAdvancedSettings(VOID);
|
||||
|
||||
BOOL
|
||||
SaveSettingDword(IN PCTSTR pszKeyName,
|
||||
IN PCTSTR pszValueName,
|
||||
IN DWORD dwValue);
|
||||
SaveSettingDword(IN LPCWSTR pszKeyName,
|
||||
IN LPCWSTR pszValueName,
|
||||
IN DWORD dwValue);
|
||||
|
||||
/*
|
||||
* shellservice.cpp
|
||||
|
@ -311,9 +311,9 @@ HRESULT StartMenuBtnCtxMenuCreator(ITrayWindow * TrayWnd, IN HWND hWndOwner, ICo
|
|||
|
||||
IMenuPopup*
|
||||
CreateStartMenu(IN ITrayWindow *Tray,
|
||||
OUT IMenuBand **ppMenuBand,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN BOOL bSmallIcons);
|
||||
OUT IMenuBand **ppMenuBand,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN BOOL bSmallIcons);
|
||||
|
||||
/*
|
||||
* startmnucust.cpp
|
||||
|
|
|
@ -34,7 +34,7 @@ HRESULT WINAPI _CStartMenu_Constructor(REFIID riid, void **ppv)
|
|||
if (hRShell)
|
||||
{
|
||||
PSTARTMENU_CONSTRUCTOR func = (PSTARTMENU_CONSTRUCTOR)GetProcAddress(hRShell, "CStartMenu_Constructor");
|
||||
if(func)
|
||||
if (func)
|
||||
{
|
||||
return func(riid, ppv);
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "precomp.h"
|
||||
|
||||
ADVANCED_SETTINGS AdvancedSettings;
|
||||
const WCHAR szAdvancedSettingsKey[] = TEXT("Software\\ReactOS\\Features\\Explorer");
|
||||
const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer";
|
||||
|
||||
VOID
|
||||
LoadAdvancedSettings(VOID)
|
||||
|
@ -32,12 +32,12 @@ LoadAdvancedSettings(VOID)
|
|||
AdvancedSettings.bShowSeconds = FALSE;
|
||||
|
||||
/* Check registry */
|
||||
if (RegOpenKey(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS)
|
||||
if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
DWORD dwValue, dwValueLength, dwType;
|
||||
|
||||
dwValueLength = sizeof(dwValue);
|
||||
if (RegQueryValueEx(hKey, TEXT("ShowSeconds"), NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD)
|
||||
if (RegQueryValueExW(hKey, L"ShowSeconds", NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD)
|
||||
AdvancedSettings.bShowSeconds = dwValue != 0;
|
||||
|
||||
RegCloseKey(hKey);
|
||||
|
@ -45,16 +45,16 @@ LoadAdvancedSettings(VOID)
|
|||
}
|
||||
|
||||
BOOL
|
||||
SaveSettingDword(IN PCTSTR pszKeyName,
|
||||
IN PCTSTR pszValueName,
|
||||
SaveSettingDword(IN LPCWSTR pszKeyName,
|
||||
IN LPCWSTR pszValueName,
|
||||
IN DWORD dwValue)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
HKEY hKey;
|
||||
|
||||
if (RegCreateKey(HKEY_CURRENT_USER, pszKeyName, &hKey) == ERROR_SUCCESS)
|
||||
if (RegCreateKeyW(HKEY_CURRENT_USER, pszKeyName, &hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
ret = RegSetValueEx(hKey, pszValueName, 0, REG_DWORD, (PBYTE)&dwValue, sizeof(dwValue)) == ERROR_SUCCESS;
|
||||
ret = RegSetValueExW(hKey, pszValueName, 0, REG_DWORD, (PBYTE)&dwValue, sizeof(dwValue)) == ERROR_SUCCESS;
|
||||
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
|
|
@ -62,11 +62,11 @@ HRESULT InitShellServices(HDPA * phdpa)
|
|||
|
||||
TRACE("Enumerating Shell Service Ojbect GUIDs...\n");
|
||||
|
||||
if (RegOpenKey(HKEY_LOCAL_MACHINE,
|
||||
if (RegOpenKeyW(HKEY_LOCAL_MACHINE,
|
||||
L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ShellServiceObjectDelayLoad",
|
||||
&hkey))
|
||||
{
|
||||
ERR("RegOpenKey failed.\n");
|
||||
ERR("RegOpenKeyW failed.\n");
|
||||
return HRESULT_FROM_WIN32(GetLastError());
|
||||
}
|
||||
|
||||
|
|
|
@ -70,10 +70,10 @@ class CStartMenuBtnCtxMenu :
|
|||
HRESULT hRet;
|
||||
|
||||
/* Add the "Open All Users" menu item */
|
||||
if (LoadString(hExplorerInstance,
|
||||
IDS_PROPERTIES,
|
||||
szBuf,
|
||||
sizeof(szBuf) / sizeof(szBuf[0])))
|
||||
if (LoadStringW(hExplorerInstance,
|
||||
IDS_PROPERTIES,
|
||||
szBuf,
|
||||
_countof(szBuf)))
|
||||
{
|
||||
AppendMenu(hPopup,
|
||||
MF_STRING,
|
||||
|
@ -103,10 +103,10 @@ class CStartMenuBtnCtxMenu :
|
|||
NULL);
|
||||
|
||||
/* Add the "Open All Users" menu item */
|
||||
if (LoadString(hExplorerInstance,
|
||||
IDS_OPEN_ALL_USERS,
|
||||
szBuf,
|
||||
sizeof(szBuf) / sizeof(szBuf[0])))
|
||||
if (LoadStringW(hExplorerInstance,
|
||||
IDS_OPEN_ALL_USERS,
|
||||
szBuf,
|
||||
_countof(szBuf)))
|
||||
{
|
||||
AppendMenu(hPopup,
|
||||
MF_STRING,
|
||||
|
@ -115,10 +115,10 @@ class CStartMenuBtnCtxMenu :
|
|||
}
|
||||
|
||||
/* Add the "Explore All Users" menu item */
|
||||
if (LoadString(hExplorerInstance,
|
||||
IDS_EXPLORE_ALL_USERS,
|
||||
szBuf,
|
||||
sizeof(szBuf) / sizeof(szBuf[0])))
|
||||
if (LoadStringW(hExplorerInstance,
|
||||
IDS_EXPLORE_ALL_USERS,
|
||||
szBuf,
|
||||
_countof(szBuf)))
|
||||
{
|
||||
AppendMenu(hPopup,
|
||||
MF_STRING,
|
||||
|
@ -236,6 +236,7 @@ public:
|
|||
COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu)
|
||||
END_COM_MAP()
|
||||
};
|
||||
|
||||
HRESULT StartMenuBtnCtxMenuCreator(ITrayWindow * m_TrayWnd, IN HWND m_Owner, IContextMenu ** ppCtxMenu)
|
||||
{
|
||||
CStartMenuBtnCtxMenu * mnu = new CComObject<CStartMenuBtnCtxMenu>();
|
||||
|
|
|
@ -40,10 +40,10 @@ UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup,
|
|||
return hRet;
|
||||
}
|
||||
|
||||
IMenuPopup *
|
||||
IMenuPopup*
|
||||
CreateStartMenu(IN ITrayWindow *Tray,
|
||||
OUT IMenuBand **ppMenuBand,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN BOOL bSmallIcons)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
|
|
@ -21,14 +21,14 @@
|
|||
|
||||
#include "precomp.h"
|
||||
|
||||
VOID OnAddStartmenuItems(HWND hDlg)
|
||||
VOID OnAddStartMenuItems(HWND hDlg)
|
||||
{
|
||||
WCHAR szPath[MAX_PATH];
|
||||
|
||||
if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath)))
|
||||
if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath)))
|
||||
{
|
||||
WCHAR szCommand[MAX_PATH] = L"appwiz.cpl,NewLinkHere ";
|
||||
if(SUCCEEDED(StringCchCatW(szCommand, MAX_PATH, szPath)))
|
||||
if (SUCCEEDED(StringCchCatW(szCommand, MAX_PATH, szPath)))
|
||||
ShellExecuteW(hDlg, L"open", L"rundll32.exe", szCommand, NULL, SW_SHOWNORMAL);
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ VOID OnAdvancedStartMenuItems()
|
|||
{
|
||||
WCHAR szPath[MAX_PATH];
|
||||
|
||||
if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath)))
|
||||
if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath)))
|
||||
{
|
||||
ShellExecuteW(NULL, L"explore", szPath, NULL, NULL, SW_SHOWNORMAL);
|
||||
}
|
||||
|
@ -46,19 +46,19 @@ VOID OnAdvancedStartMenuItems()
|
|||
VOID OnClearRecentItems()
|
||||
{
|
||||
WCHAR szPath[MAX_PATH], szFile[MAX_PATH];
|
||||
WIN32_FIND_DATA info;
|
||||
WIN32_FIND_DATAW info;
|
||||
HANDLE hPath;
|
||||
|
||||
if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_RECENT, NULL, 0, szPath)))
|
||||
if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_RECENT, NULL, 0, szPath)))
|
||||
{
|
||||
StringCchPrintf(szFile,MAX_PATH, L"%s\\*.*", szPath);
|
||||
StringCchPrintfW(szFile,MAX_PATH, L"%s\\*.*", szPath);
|
||||
hPath = FindFirstFileW(szFile, &info);
|
||||
do
|
||||
{
|
||||
StringCchPrintf(szFile,MAX_PATH, L"%s\\%s", szPath, info.cFileName);
|
||||
StringCchPrintfW(szFile,MAX_PATH, L"%s\\%s", szPath, info.cFileName);
|
||||
DeleteFileW(szFile);
|
||||
|
||||
}while(FindNextFileW(hPath, &info));
|
||||
}
|
||||
while (FindNextFileW(hPath, &info));
|
||||
FindClose(hPath);
|
||||
/* FIXME: Disable the button*/
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LP
|
|||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_CLASSICSTART_ADD:
|
||||
OnAddStartmenuItems(hwnd);
|
||||
OnAddStartMenuItems(hwnd);
|
||||
break;
|
||||
case IDC_CLASSICSTART_ADVANCED:
|
||||
OnAdvancedStartMenuItems();
|
||||
|
@ -99,5 +99,5 @@ INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LP
|
|||
|
||||
VOID ShowCustomizeClassic(HINSTANCE hInst, HWND hExplorer)
|
||||
{
|
||||
DialogBox(hInst, MAKEINTRESOURCE(IDD_CLASSICSTART_CUSTOMIZE), hExplorer, CustomizeClassicProc);
|
||||
DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_CLASSICSTART_CUSTOMIZE), hExplorer, CustomizeClassicProc);
|
||||
}
|
||||
|
|
|
@ -123,8 +123,7 @@ public:
|
|||
|
||||
TRACE("ITrayPriv::AppendMenu\n");
|
||||
|
||||
hMenu = LoadPopupMenu(hExplorerInstance,
|
||||
MAKEINTRESOURCE(IDM_STARTMENU));
|
||||
hMenu = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCEW(IDM_STARTMENU));
|
||||
*phMenu = hMenu;
|
||||
if (hMenu == NULL)
|
||||
return E_FAIL;
|
||||
|
@ -135,13 +134,13 @@ public:
|
|||
bWantLogoff = (dwLogoff == 2 ||
|
||||
SHRestricted(REST_FORCESTARTMENULOGOFF) ||
|
||||
GetExplorerRegValueSet(HKEY_CURRENT_USER,
|
||||
TEXT("Advanced"),
|
||||
TEXT("StartMenuLogoff")));
|
||||
L"Advanced",
|
||||
L"StartMenuLogoff"));
|
||||
|
||||
/* Favorites */
|
||||
if (!GetExplorerRegValueSet(HKEY_CURRENT_USER,
|
||||
TEXT("Advanced"),
|
||||
TEXT("StartMenuFavorites")))
|
||||
L"Advanced",
|
||||
L"StartMenuFavorites"))
|
||||
{
|
||||
DeleteMenu(hMenu,
|
||||
IDM_FAVORITES,
|
||||
|
@ -243,8 +242,7 @@ public:
|
|||
or hide it, it might be hidden in too many cases!!! */
|
||||
|
||||
/* Update Log Off menu item */
|
||||
if (!GetCurrentLoggedOnUserName(szUser,
|
||||
sizeof(szUser) / sizeof(szUser[0])))
|
||||
if (!GetCurrentLoggedOnUserName(szUser, _countof(szUser)))
|
||||
{
|
||||
szUser[0] = _T('\0');
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ static int runCmd(LPWSTR cmdline, LPCWSTR dir, BOOL wait, BOOL minimized)
|
|||
DWORD exit_code = 0;
|
||||
WCHAR szCmdLineExp[MAX_PATH+1] = L"\0";
|
||||
|
||||
ExpandEnvironmentStringsW(cmdline, szCmdLineExp, sizeof(szCmdLineExp) / sizeof(WCHAR));
|
||||
ExpandEnvironmentStringsW(cmdline, szCmdLineExp, _countof(szCmdLineExp));
|
||||
|
||||
memset(&si, 0, sizeof(si));
|
||||
si.cb = sizeof(si);
|
||||
|
@ -123,7 +123,7 @@ static BOOL ProcessRunKeys(HKEY hkRoot, LPCWSTR szKeyName, BOOL bDelete,
|
|||
&hkWin);
|
||||
if (res != ERROR_SUCCESS)
|
||||
{
|
||||
TRACE("RegOpenKey failed on Software\\Microsoft\\Windows\\CurrentVersion (%ld)\n", res);
|
||||
TRACE("RegOpenKeyW failed on Software\\Microsoft\\Windows\\CurrentVersion (%ld)\n", res);
|
||||
|
||||
goto end;
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ static BOOL ProcessRunKeys(HKEY hkRoot, LPCWSTR szKeyName, BOOL bDelete,
|
|||
res = ERROR_SUCCESS;
|
||||
}
|
||||
else
|
||||
TRACE("RegOpenKeyEx failed on run key (%ld)\n", res);
|
||||
TRACE("RegOpenKeyExW failed on run key (%ld)\n", res);
|
||||
|
||||
goto end;
|
||||
}
|
||||
|
@ -271,7 +271,7 @@ ProcessStartupItems(VOID)
|
|||
HKEY hSessionKey, hKey;
|
||||
HRESULT hr;
|
||||
|
||||
res = GetWindowsDirectoryW(gen_path, sizeof(gen_path) / sizeof(gen_path[0]));
|
||||
res = GetWindowsDirectoryW(gen_path, _countof(gen_path));
|
||||
if (res == 0)
|
||||
{
|
||||
TRACE("Couldn't get the windows directory - error %lu\n", GetLastError());
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
#define MAX_TASKS_COUNT (0x7FFF)
|
||||
#define TASK_ITEM_ARRAY_ALLOC 64
|
||||
|
||||
const WCHAR szTaskSwitchWndClass [] = TEXT("MSTaskSwWClass");
|
||||
const WCHAR szRunningApps [] = TEXT("Running Applications");
|
||||
const WCHAR szTaskSwitchWndClass[] = L"MSTaskSwWClass";
|
||||
const WCHAR szRunningApps[] = L"Running Applications";
|
||||
|
||||
#if DEBUG_SHELL_HOOK
|
||||
const struct {
|
||||
|
@ -420,7 +420,7 @@ public:
|
|||
|
||||
icon = GetWndIcon(TaskItem->hWnd);
|
||||
if (!icon)
|
||||
icon = static_cast<HICON>(LoadImage(NULL, MAKEINTRESOURCE(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE));
|
||||
icon = static_cast<HICON>(LoadImageW(NULL, MAKEINTRESOURCEW(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE));
|
||||
TaskItem->IconIndex = ImageList_ReplaceIcon(m_ImageList, TaskItem->IconIndex, icon);
|
||||
tbbi.iImage = TaskItem->IconIndex;
|
||||
|
||||
|
@ -565,7 +565,7 @@ public:
|
|||
|
||||
icon = GetWndIcon(TaskItem->hWnd);
|
||||
if (!icon)
|
||||
icon = static_cast<HICON>(LoadImage(NULL, MAKEINTRESOURCE(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE));
|
||||
icon = static_cast<HICON>(LoadImageW(NULL, MAKEINTRESOURCEW(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE));
|
||||
TaskItem->IconIndex = ImageList_ReplaceIcon(m_ImageList, -1, icon);
|
||||
|
||||
tbBtn.iBitmap = TaskItem->IconIndex;
|
||||
|
@ -977,8 +977,7 @@ public:
|
|||
TaskItem = AllocTaskItem();
|
||||
if (TaskItem != NULL)
|
||||
{
|
||||
ZeroMemory(TaskItem,
|
||||
sizeof(*TaskItem));
|
||||
ZeroMemory(TaskItem, sizeof(*TaskItem));
|
||||
TaskItem->hWnd = hWnd;
|
||||
TaskItem->Index = -1;
|
||||
TaskItem->Group = AddToTaskGroup(hWnd);
|
||||
|
@ -1304,7 +1303,7 @@ public:
|
|||
m_TaskBar.UpdateTbButtonSpacing(m_Tray->IsHorizontal(), m_Theme != NULL);
|
||||
|
||||
/* Register the shell hook */
|
||||
m_ShellHookMsg = RegisterWindowMessage(TEXT("SHELLHOOK"));
|
||||
m_ShellHookMsg = RegisterWindowMessageW(L"SHELLHOOK");
|
||||
|
||||
TRACE("ShellHookMsg got assigned number %d\n", m_ShellHookMsg);
|
||||
|
||||
|
@ -1420,7 +1419,7 @@ public:
|
|||
{
|
||||
#if DEBUG_SHELL_HOOK
|
||||
int i, found;
|
||||
for (i = 0, found = 0; i != sizeof(hshell_msg) / sizeof(hshell_msg[0]); i++)
|
||||
for (i = 0, found = 0; i != _countof(hshell_msg); i++)
|
||||
{
|
||||
if (hshell_msg[i].msg == (INT) wParam)
|
||||
{
|
||||
|
|
|
@ -137,8 +137,7 @@ public:
|
|||
|
||||
/* Read the current position of the stream, we'll have to reset it everytime
|
||||
we read a CLSID that's not the task band... */
|
||||
ZeroMemory(&liPosZero,
|
||||
sizeof(liPosZero));
|
||||
ZeroMemory(&liPosZero, sizeof(liPosZero));
|
||||
hRet = pStm->Seek(liPosZero, STREAM_SEEK_CUR, &liCurrent);
|
||||
|
||||
if (SUCCEEDED(hRet))
|
||||
|
@ -564,14 +563,14 @@ public:
|
|||
HKEY hkStreams;
|
||||
IStream *Stream = NULL;
|
||||
|
||||
if (RegCreateKey(hkExplorer,
|
||||
TEXT("Streams"),
|
||||
&hkStreams) == ERROR_SUCCESS)
|
||||
if (RegCreateKeyW(hkExplorer,
|
||||
L"Streams",
|
||||
&hkStreams) == ERROR_SUCCESS)
|
||||
{
|
||||
Stream = SHOpenRegStream(hkStreams,
|
||||
TEXT("Desktop"),
|
||||
TEXT("TaskbarWinXP"),
|
||||
grfMode);
|
||||
Stream = SHOpenRegStreamW(hkStreams,
|
||||
L"Desktop",
|
||||
L"TaskbarWinXP",
|
||||
grfMode);
|
||||
|
||||
RegCloseKey(hkStreams);
|
||||
}
|
||||
|
@ -584,14 +583,14 @@ public:
|
|||
HKEY hkStreams;
|
||||
IStream *Stream = NULL;
|
||||
|
||||
if (RegCreateKey(HKEY_LOCAL_MACHINE,
|
||||
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Streams"),
|
||||
if (RegCreateKeyW(HKEY_LOCAL_MACHINE,
|
||||
L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Streams",
|
||||
&hkStreams) == ERROR_SUCCESS)
|
||||
{
|
||||
Stream = SHOpenRegStream(hkStreams,
|
||||
TEXT("Desktop"),
|
||||
TEXT("Default Taskbar"),
|
||||
grfMode);
|
||||
Stream = SHOpenRegStreamW(hkStreams,
|
||||
L"Desktop",
|
||||
L"Default Taskbar",
|
||||
grfMode);
|
||||
|
||||
RegCloseKey(hkStreams);
|
||||
}
|
||||
|
@ -752,10 +751,10 @@ public:
|
|||
};
|
||||
/*******************************************************************/
|
||||
|
||||
ITrayBandSite *
|
||||
ITrayBandSite*
|
||||
CreateTrayBandSite(IN OUT ITrayWindow *Tray,
|
||||
OUT HWND *phWndRebar,
|
||||
OUT HWND *phWndTaskSwitch)
|
||||
OUT HWND *phWndRebar,
|
||||
OUT HWND *phWndTaskSwitch)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
/*
|
||||
* SysPagerWnd
|
||||
*/
|
||||
static const WCHAR szSysPagerWndClass [] = TEXT("SysPager");
|
||||
static const WCHAR szSysPagerWndClass [] = L"SysPager";
|
||||
|
||||
// Data comes from shell32/systray.cpp -> TrayNotifyCDS_Dummy
|
||||
typedef struct _SYS_PAGER_COPY_DATA
|
||||
|
@ -86,7 +86,7 @@ public:
|
|||
{
|
||||
TBBUTTON tbBtn;
|
||||
NOTIFYICONDATA * notifyItem;
|
||||
WCHAR text [] = TEXT("");
|
||||
WCHAR text[] = L"";
|
||||
|
||||
int index = FindItemByIconData(iconData, ¬ifyItem);
|
||||
if (index >= 0)
|
||||
|
@ -450,10 +450,9 @@ public:
|
|||
Toolbar.Initialize(m_hWnd);
|
||||
|
||||
// Explicitly request running applications to re-register their systray icons
|
||||
::SendNotifyMessage(HWND_BROADCAST,
|
||||
RegisterWindowMessage(TEXT("TaskbarCreated")),
|
||||
0,
|
||||
0);
|
||||
::SendNotifyMessageW(HWND_BROADCAST,
|
||||
RegisterWindowMessageW(L"TaskbarCreated"),
|
||||
0, 0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -626,7 +625,7 @@ public:
|
|||
* TrayClockWnd
|
||||
*/
|
||||
|
||||
static const WCHAR szTrayClockWndClass [] = TEXT("TrayClockWClass");
|
||||
static const WCHAR szTrayClockWndClass[] = L"TrayClockWClass";
|
||||
|
||||
#define ID_TRAYCLOCK_TIMER 0
|
||||
#define ID_TRAYCLOCK_TIMER_INIT 1
|
||||
|
@ -635,14 +634,14 @@ static const struct
|
|||
{
|
||||
BOOL IsTime;
|
||||
DWORD dwFormatFlags;
|
||||
LPCTSTR lpFormat;
|
||||
LPCWSTR lpFormat;
|
||||
} ClockWndFormats [] = {
|
||||
{ TRUE, 0, NULL },
|
||||
{ FALSE, 0, TEXT("dddd") },
|
||||
{ FALSE, DATE_SHORTDATE, NULL }
|
||||
{ TRUE, 0, NULL },
|
||||
{ FALSE, 0, L"dddd" },
|
||||
{ FALSE, DATE_SHORTDATE, NULL }
|
||||
};
|
||||
|
||||
#define CLOCKWND_FORMAT_COUNT (sizeof(ClockWndFormats) / sizeof(ClockWndFormats[0]))
|
||||
#define CLOCKWND_FORMAT_COUNT (_ARRAYSIZE(ClockWndFormats))
|
||||
|
||||
#define TRAY_CLOCK_WND_SPACING_X 0
|
||||
#define TRAY_CLOCK_WND_SPACING_Y 0
|
||||
|
@ -687,7 +686,7 @@ public:
|
|||
ZeroMemory(&LocalTime, sizeof(LocalTime));
|
||||
ZeroMemory(&CurrentSize, sizeof(CurrentSize));
|
||||
ZeroMemory(LineSizes, sizeof(LineSizes));
|
||||
ZeroMemory(szLines, sizeof(LineSizes));
|
||||
ZeroMemory(szLines, sizeof(szLines));
|
||||
}
|
||||
virtual ~CTrayClockWnd() { }
|
||||
|
||||
|
@ -720,7 +719,7 @@ public:
|
|||
{
|
||||
NONCLIENTMETRICS ncm = { 0 };
|
||||
ncm.cbSize = sizeof(ncm);
|
||||
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE);
|
||||
SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE);
|
||||
|
||||
hFont = CreateFontIndirectW(&ncm.lfMessageFont);
|
||||
|
||||
|
@ -743,7 +742,7 @@ public:
|
|||
{
|
||||
HDC hDC;
|
||||
HFONT hPrevFont;
|
||||
INT c, i;
|
||||
UINT c, i;
|
||||
BOOL bRet = TRUE;
|
||||
|
||||
hDC = GetDC();
|
||||
|
@ -752,11 +751,11 @@ public:
|
|||
if (hFont)
|
||||
hPrevFont = (HFONT) SelectObject(hDC, hFont);
|
||||
|
||||
for (i = 0; i != CLOCKWND_FORMAT_COUNT && bRet; i++)
|
||||
for (i = 0; i < CLOCKWND_FORMAT_COUNT && bRet; i++)
|
||||
{
|
||||
if (szLines[i][0] != TEXT('\0') &&
|
||||
!GetTextExtentPoint(hDC, szLines[i], _tcslen(szLines[i]),
|
||||
&LineSizes[i]))
|
||||
if (szLines[i][0] != L'\0' &&
|
||||
!GetTextExtentPointW(hDC, szLines[i], wcslen(szLines[i]),
|
||||
&LineSizes[i]))
|
||||
{
|
||||
bRet = FALSE;
|
||||
break;
|
||||
|
@ -773,7 +772,7 @@ public:
|
|||
LineSpacing = 0;
|
||||
|
||||
/* calculate the line spacing */
|
||||
for (i = 0, c = 0; i != CLOCKWND_FORMAT_COUNT; i++)
|
||||
for (i = 0, c = 0; i < CLOCKWND_FORMAT_COUNT; i++)
|
||||
{
|
||||
if (LineSizes[i].cx > 0)
|
||||
{
|
||||
|
@ -798,7 +797,7 @@ public:
|
|||
WORD GetMinimumSize(IN BOOL Horizontal, IN OUT PSIZE pSize)
|
||||
{
|
||||
WORD iLinesVisible = 0;
|
||||
INT i;
|
||||
UINT i;
|
||||
SIZE szMax = { 0, 0 };
|
||||
|
||||
if (!LinesMeasured)
|
||||
|
@ -807,9 +806,7 @@ public:
|
|||
if (!LinesMeasured)
|
||||
return 0;
|
||||
|
||||
for (i = 0;
|
||||
i != CLOCKWND_FORMAT_COUNT;
|
||||
i++)
|
||||
for (i = 0; i < CLOCKWND_FORMAT_COUNT; i++)
|
||||
{
|
||||
if (LineSizes[i].cx != 0)
|
||||
{
|
||||
|
@ -851,23 +848,21 @@ public:
|
|||
}
|
||||
|
||||
|
||||
VOID UpdateWnd()
|
||||
VOID UpdateWnd()
|
||||
{
|
||||
SIZE szPrevCurrent;
|
||||
INT BufSize, iRet, i;
|
||||
UINT BufSize, i;
|
||||
INT iRet;
|
||||
RECT rcClient;
|
||||
|
||||
ZeroMemory(LineSizes,
|
||||
sizeof(LineSizes));
|
||||
ZeroMemory(LineSizes, sizeof(LineSizes));
|
||||
|
||||
szPrevCurrent = CurrentSize;
|
||||
|
||||
for (i = 0;
|
||||
i != CLOCKWND_FORMAT_COUNT;
|
||||
i++)
|
||||
for (i = 0; i < CLOCKWND_FORMAT_COUNT; i++)
|
||||
{
|
||||
szLines[i][0] = TEXT('\0');
|
||||
BufSize = sizeof(szLines[0]) / sizeof(szLines[0][0]);
|
||||
szLines[i][0] = L'\0';
|
||||
BufSize = _countof(szLines[0]);
|
||||
|
||||
if (ClockWndFormats[i].IsTime)
|
||||
{
|
||||
|
@ -931,13 +926,13 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
VOID Update()
|
||||
VOID Update()
|
||||
{
|
||||
GetLocalTime(&LocalTime);
|
||||
UpdateWnd();
|
||||
}
|
||||
|
||||
UINT CalculateDueTime()
|
||||
UINT CalculateDueTime()
|
||||
{
|
||||
UINT uiDueTime;
|
||||
|
||||
|
@ -961,7 +956,7 @@ public:
|
|||
return uiDueTime;
|
||||
}
|
||||
|
||||
BOOL ResetTime()
|
||||
BOOL ResetTime()
|
||||
{
|
||||
UINT uiDueTime;
|
||||
BOOL Ret;
|
||||
|
@ -990,7 +985,7 @@ public:
|
|||
return Ret;
|
||||
}
|
||||
|
||||
VOID CalibrateTimer()
|
||||
VOID CalibrateTimer()
|
||||
{
|
||||
UINT uiDueTime;
|
||||
BOOL Ret;
|
||||
|
@ -1052,7 +1047,8 @@ public:
|
|||
{
|
||||
RECT rcClient;
|
||||
HFONT hPrevFont;
|
||||
int iPrevBkMode, i, line;
|
||||
INT iPrevBkMode;
|
||||
UINT i, line;
|
||||
|
||||
PAINTSTRUCT ps;
|
||||
HDC hDC = (HDC) wParam;
|
||||
|
@ -1080,8 +1076,8 @@ public:
|
|||
rcClient.bottom = rcClient.top + CurrentSize.cy;
|
||||
|
||||
for (i = 0, line = 0;
|
||||
i != CLOCKWND_FORMAT_COUNT && line < VisibleLines;
|
||||
i++)
|
||||
i < CLOCKWND_FORMAT_COUNT && line < VisibleLines;
|
||||
i++)
|
||||
{
|
||||
if (LineSizes[i].cx != 0)
|
||||
{
|
||||
|
@ -1090,7 +1086,7 @@ public:
|
|||
TRAY_CLOCK_WND_SPACING_X,
|
||||
rcClient.top + TRAY_CLOCK_WND_SPACING_Y,
|
||||
szLines[i],
|
||||
_tcslen(szLines[i]));
|
||||
wcslen(szLines[i]));
|
||||
|
||||
rcClient.top += LineSizes[i].cy + LineSpacing;
|
||||
line++;
|
||||
|
|
|
@ -64,23 +64,23 @@ UpdateTaskbarBitmap(PPROPSHEET_INFO pPropInfo)
|
|||
bHideInactive = (SendMessage(hwndHideInactive, BM_GETCHECK, 0, 0) == BST_CHECKED);
|
||||
|
||||
if (bHide)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_AUTOHIDE);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_AUTOHIDE);
|
||||
else if (bLock && bGroup && bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_GROUP_QL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_GROUP_QL);
|
||||
else if (bLock && !bGroup && !bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_NOGROUP_NOQL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_NOGROUP_NOQL);
|
||||
else if (bLock && bGroup && !bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_GROUP_NOQL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_GROUP_NOQL);
|
||||
else if (bLock && !bGroup && bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_NOGROUP_QL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_NOGROUP_QL);
|
||||
else if (!bLock && !bGroup && !bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL);
|
||||
else if (!bLock && bGroup && !bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_GROUP_NOQL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_GROUP_NOQL);
|
||||
else if (!bLock && !bGroup && bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_NOGROUP_QL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_NOGROUP_QL);
|
||||
else if (!bLock && bGroup && bShowQL)
|
||||
lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_GROUP_QL);
|
||||
lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_GROUP_QL);
|
||||
|
||||
|
||||
if (lpTaskBarImageName)
|
||||
|
@ -90,7 +90,7 @@ UpdateTaskbarBitmap(PPROPSHEET_INFO pPropInfo)
|
|||
DeleteObject(pPropInfo->hTaskbarBitmap);
|
||||
}
|
||||
|
||||
pPropInfo->hTaskbarBitmap = (HBITMAP)LoadImage(hExplorerInstance,
|
||||
pPropInfo->hTaskbarBitmap = (HBITMAP)LoadImageW(hExplorerInstance,
|
||||
lpTaskBarImageName,
|
||||
IMAGE_BITMAP,
|
||||
0,
|
||||
|
@ -113,48 +113,48 @@ UpdateTaskbarBitmap(PPROPSHEET_INFO pPropInfo)
|
|||
if (bHideInactive)
|
||||
{
|
||||
EnableWindow(hwndAdvancedButton, TRUE);
|
||||
if(bShowClock)
|
||||
if (bShowClock)
|
||||
{
|
||||
EnableWindow(hwndSeconds, TRUE);
|
||||
if(bShowSeconds)
|
||||
lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_HIDE_SECONDS);
|
||||
if (bShowSeconds)
|
||||
lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_HIDE_SECONDS);
|
||||
else
|
||||
lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_HIDE_CLOCK);
|
||||
lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_HIDE_CLOCK);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessage(hwndSeconds, BM_SETCHECK, BST_UNCHECKED, 0);
|
||||
EnableWindow(hwndSeconds, FALSE);
|
||||
lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_HIDE_NOCLOCK);
|
||||
lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_HIDE_NOCLOCK);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
EnableWindow(hwndAdvancedButton, FALSE);
|
||||
if(bShowClock)
|
||||
if (bShowClock)
|
||||
{
|
||||
EnableWindow(hwndSeconds, TRUE);
|
||||
if(bShowSeconds)
|
||||
lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_SHOW_SECONDS);
|
||||
if (bShowSeconds)
|
||||
lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_SHOW_SECONDS);
|
||||
else
|
||||
lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_SHOW_CLOCK);
|
||||
lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_SHOW_CLOCK);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessage(hwndSeconds, BM_SETCHECK, BST_UNCHECKED, 0);
|
||||
EnableWindow(hwndSeconds, FALSE);
|
||||
lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_SHOW_NOCLOCK);
|
||||
lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_SHOW_NOCLOCK);
|
||||
}
|
||||
}
|
||||
|
||||
if(lpTrayImageName)
|
||||
if (lpTrayImageName)
|
||||
{
|
||||
if (pPropInfo->hTrayBitmap)
|
||||
{
|
||||
DeleteObject(pPropInfo->hTrayBitmap);
|
||||
}
|
||||
|
||||
pPropInfo->hTrayBitmap = (HBITMAP)LoadImage(hExplorerInstance,
|
||||
pPropInfo->hTrayBitmap = (HBITMAP)LoadImageW(hExplorerInstance,
|
||||
lpTrayImageName,
|
||||
IMAGE_BITMAP,
|
||||
0,
|
||||
|
@ -328,11 +328,11 @@ InitPropSheetPage(PROPSHEETPAGE *psp,
|
|||
DLGPROC DlgProc,
|
||||
LPARAM lParam)
|
||||
{
|
||||
ZeroMemory(psp, sizeof(PROPSHEETPAGE));
|
||||
psp->dwSize = sizeof(PROPSHEETPAGE);
|
||||
ZeroMemory(psp, sizeof(*psp));
|
||||
psp->dwSize = sizeof(*psp);
|
||||
psp->dwFlags = PSP_DEFAULT;
|
||||
psp->hInstance = hExplorerInstance;
|
||||
psp->pszTemplate = MAKEINTRESOURCE(idDlg);
|
||||
psp->pszTemplate = MAKEINTRESOURCEW(idDlg);
|
||||
psp->lParam = lParam;
|
||||
psp->pfnDlgProc = DlgProc;
|
||||
}
|
||||
|
@ -346,22 +346,22 @@ DisplayTrayProperties(IN HWND hwndOwner)
|
|||
PROPSHEETPAGE psp[2];
|
||||
WCHAR szCaption[256];
|
||||
|
||||
if (!LoadString(hExplorerInstance,
|
||||
IDS_TASKBAR_STARTMENU_PROP_CAPTION,
|
||||
szCaption,
|
||||
sizeof(szCaption) / sizeof(szCaption[0])))
|
||||
if (!LoadStringW(hExplorerInstance,
|
||||
IDS_TASKBAR_STARTMENU_PROP_CAPTION,
|
||||
szCaption,
|
||||
_countof(szCaption)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||
ZeroMemory(&psh, sizeof(psh));
|
||||
psh.dwSize = sizeof(psh);
|
||||
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_PROPTITLE;
|
||||
psh.hwndParent = hwndOwner;
|
||||
psh.hInstance = hExplorerInstance;
|
||||
psh.hIcon = NULL;
|
||||
psh.pszCaption = szCaption;
|
||||
psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
|
||||
psh.nPages = _countof(psp);
|
||||
psh.nStartPage = 0;
|
||||
psh.ppsp = psp;
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ HRESULT TrayWindowCtxMenuCreator(ITrayWindow * TrayWnd, IN HWND hWndOwner, ICont
|
|||
|
||||
static LONG TrayWndCount = 0;
|
||||
|
||||
static const WCHAR szTrayWndClass [] = TEXT("Shell_TrayWnd");
|
||||
static const WCHAR szTrayWndClass[] = L"Shell_TrayWnd";
|
||||
|
||||
/*
|
||||
* ITrayWindow
|
||||
|
@ -153,8 +153,8 @@ DefSize:
|
|||
IconSize.cy = GetSystemMetrics(SM_CYSMICON);
|
||||
|
||||
/* Load the start button icon and create a image list for it */
|
||||
hIconStart = (HICON) LoadImage(hExplorerInstance,
|
||||
MAKEINTRESOURCE(IDI_START),
|
||||
hIconStart = (HICON) LoadImageW(hExplorerInstance,
|
||||
MAKEINTRESOURCEW(IDI_START),
|
||||
IMAGE_ICON,
|
||||
IconSize.cx,
|
||||
IconSize.cy,
|
||||
|
@ -200,10 +200,10 @@ DefSize:
|
|||
/* NOTE: this is the backwards compatibility code that is used if the
|
||||
Common Controls Version 6.0 are not available! */
|
||||
|
||||
if (!LoadString(hExplorerInstance,
|
||||
IDS_START,
|
||||
szStartCaption,
|
||||
sizeof(szStartCaption) / sizeof(szStartCaption[0])))
|
||||
if (!LoadStringW(hExplorerInstance,
|
||||
IDS_START,
|
||||
szStartCaption,
|
||||
_countof(szStartCaption)))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
@ -211,8 +211,8 @@ DefSize:
|
|||
/* Load the start button icon */
|
||||
SmallIcon.cx = GetSystemMetrics(SM_CXSMICON);
|
||||
SmallIcon.cy = GetSystemMetrics(SM_CYSMICON);
|
||||
hIconStart = (HICON) LoadImage(hExplorerInstance,
|
||||
MAKEINTRESOURCE(IDI_START),
|
||||
hIconStart = (HICON) LoadImageW(hExplorerInstance,
|
||||
MAKEINTRESOURCEW(IDI_START),
|
||||
IMAGE_ICON,
|
||||
SmallIcon.cx,
|
||||
SmallIcon.cy,
|
||||
|
@ -230,7 +230,7 @@ DefSize:
|
|||
|
||||
Ret = GetTextExtentPoint32(hDC,
|
||||
szStartCaption,
|
||||
_tcslen(szStartCaption),
|
||||
wcslen(szStartCaption),
|
||||
&Size);
|
||||
|
||||
SelectObject(hDC, hFontOld);
|
||||
|
@ -304,7 +304,7 @@ Cleanup:
|
|||
{
|
||||
/* Get the system fonts, we use the caption font, always bold, though. */
|
||||
ncm.cbSize = sizeof(ncm);
|
||||
if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE))
|
||||
if (SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE))
|
||||
{
|
||||
ncm.lfCaptionFont.lfWeight = FW_BOLD;
|
||||
m_Font = CreateFontIndirect(&ncm.lfCaptionFont);
|
||||
|
@ -481,7 +481,7 @@ public:
|
|||
{
|
||||
NONCLIENTMETRICS ncm;
|
||||
ncm.cbSize = sizeof(ncm);
|
||||
if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0))
|
||||
if (SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0))
|
||||
{
|
||||
if (m_Font != NULL)
|
||||
DeleteObject(m_Font);
|
||||
|
@ -509,8 +509,7 @@ public:
|
|||
HMONITOR hMon;
|
||||
|
||||
mi.cbSize = sizeof(mi);
|
||||
hMon = MonitorFromRect(pRect,
|
||||
dwFlags);
|
||||
hMon = MonitorFromRect(pRect, dwFlags);
|
||||
if (hMon != NULL &&
|
||||
GetMonitorInfo(hMon,
|
||||
&mi))
|
||||
|
@ -568,8 +567,7 @@ public:
|
|||
MONITORINFO mi;
|
||||
|
||||
mi.cbSize = sizeof(mi);
|
||||
if (!GetMonitorInfo(hMonitor,
|
||||
&mi))
|
||||
if (!GetMonitorInfo(hMonitor, &mi))
|
||||
{
|
||||
/* Hm, the monitor is gone? Try to find a monitor where it
|
||||
could be located now */
|
||||
|
@ -726,8 +724,7 @@ GetPrimaryRect:
|
|||
MONITORINFO mi;
|
||||
|
||||
mi.cbSize = sizeof(mi);
|
||||
if (!GetMonitorInfo(hMon,
|
||||
&mi))
|
||||
if (!GetMonitorInfo(hMon, &mi))
|
||||
{
|
||||
hMon = NULL;
|
||||
goto GetPrimaryScreenRect;
|
||||
|
@ -993,7 +990,7 @@ ChangePos:
|
|||
if (m_PreviousMonitor != m_Monitor)
|
||||
{
|
||||
GetScreenRect(m_PreviousMonitor, &rcWorkArea);
|
||||
SystemParametersInfo(SPI_SETWORKAREA,
|
||||
SystemParametersInfoW(SPI_SETWORKAREA,
|
||||
1,
|
||||
&rcWorkArea,
|
||||
SPIF_SENDCHANGE);
|
||||
|
@ -1025,7 +1022,7 @@ ChangePos:
|
|||
}
|
||||
}
|
||||
|
||||
SystemParametersInfo(SPI_SETWORKAREA,
|
||||
SystemParametersInfoW(SPI_SETWORKAREA,
|
||||
1,
|
||||
&rcWorkArea,
|
||||
SPIF_SENDCHANGE);
|
||||
|
@ -1168,9 +1165,7 @@ ChangePos:
|
|||
/* Calculate all docking rectangles. We need to do this here so they're
|
||||
initialized and dragging the tray window to another position gives
|
||||
usable results */
|
||||
for (Pos = ABE_LEFT;
|
||||
Pos <= ABE_BOTTOM;
|
||||
Pos++)
|
||||
for (Pos = ABE_LEFT; Pos <= ABE_BOTTOM; Pos++)
|
||||
{
|
||||
GetTrayRectFromScreenRect(
|
||||
Pos,
|
||||
|
@ -1477,12 +1472,12 @@ ChangePos:
|
|||
|
||||
InterlockedIncrement(&TrayWndCount);
|
||||
|
||||
if (!LoadString(hExplorerInstance,
|
||||
IDS_START,
|
||||
szStartCaption,
|
||||
sizeof(szStartCaption) / sizeof(szStartCaption[0])))
|
||||
if (!LoadStringW(hExplorerInstance,
|
||||
IDS_START,
|
||||
szStartCaption,
|
||||
_countof(szStartCaption)))
|
||||
{
|
||||
szStartCaption[0] = TEXT('\0');
|
||||
szStartCaption[0] = L'\0';
|
||||
}
|
||||
|
||||
if (m_CaptionFont == NULL)
|
||||
|
@ -1492,7 +1487,7 @@ ChangePos:
|
|||
/* Get the system fonts, we use the caption font,
|
||||
always bold, though. */
|
||||
ncm.cbSize = sizeof(ncm);
|
||||
if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE))
|
||||
if (SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE))
|
||||
{
|
||||
if (m_CaptionFont == NULL)
|
||||
{
|
||||
|
@ -1527,7 +1522,7 @@ ChangePos:
|
|||
RegLoadSettings();
|
||||
|
||||
/* Create and initialize the start menu */
|
||||
HBITMAP hbmBanner = LoadBitmap(hExplorerInstance, MAKEINTRESOURCE(IDB_STARTMENU));
|
||||
HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU));
|
||||
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, 0);
|
||||
|
||||
/* Load the tray band site */
|
||||
|
@ -2408,8 +2403,7 @@ ChangePos:
|
|||
SC_MINIMIZE,
|
||||
};
|
||||
HMENU hSysMenu;
|
||||
INT i;
|
||||
UINT uId;
|
||||
UINT i, uId;
|
||||
|
||||
/* temporarily enable the system menu */
|
||||
SetWindowStyle(m_hWnd, WS_SYSMENU, WS_SYSMENU);
|
||||
|
@ -2418,7 +2412,7 @@ ChangePos:
|
|||
if (hSysMenu != NULL)
|
||||
{
|
||||
/* Disable all items that are not relevant */
|
||||
for (i = 0; i != sizeof(uidDisableItem) / sizeof(uidDisableItem[0]); i++)
|
||||
for (i = 0; i < _countof(uidDisableItem); i++)
|
||||
{
|
||||
EnableMenuItem(hSysMenu,
|
||||
uidDisableItem[i],
|
||||
|
@ -2646,10 +2640,10 @@ HandleTrayContextMenu:
|
|||
WCHAR szCommand[256];
|
||||
WCHAR *pszParameters;
|
||||
|
||||
if (!LoadString(hExplorerInstance,
|
||||
id,
|
||||
szCommand,
|
||||
sizeof(szCommand) / sizeof(szCommand[0])))
|
||||
if (!LoadStringW(hExplorerInstance,
|
||||
id,
|
||||
szCommand,
|
||||
_countof(szCommand)))
|
||||
{
|
||||
return E_FAIL;
|
||||
}
|
||||
|
@ -3012,7 +3006,7 @@ public:
|
|||
UINT idCmdLast,
|
||||
UINT uFlags)
|
||||
{
|
||||
HMENU menubase = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCE(IDM_TRAYWND));
|
||||
HMENU menubase = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCEW(IDM_TRAYWND));
|
||||
|
||||
if (!menubase)
|
||||
return HRESULT_FROM_WIN32(GetLastError());
|
||||
|
@ -3084,7 +3078,7 @@ public:
|
|||
/* Setup and invoke the shell command */
|
||||
cmici.cbSize = sizeof(cmici);
|
||||
cmici.hwnd = hWndOwner;
|
||||
cmici.lpVerb = (LPCSTR) MAKEINTRESOURCE(uiCmdId - ID_SHELL_CMD_FIRST);
|
||||
cmici.lpVerb = (LPCSTR) MAKEINTRESOURCEW(uiCmdId - ID_SHELL_CMD_FIRST);
|
||||
cmici.nShow = SW_NORMAL;
|
||||
|
||||
pcm->InvokeCommand(&cmici);
|
||||
|
|
|
@ -13,7 +13,6 @@ IsSameObject(IN IUnknown *punk1, IN IUnknown *punk2)
|
|||
HRESULT hRet;
|
||||
|
||||
hRet = punk1->QueryInterface(IID_PPV_ARG(IUnknown, &punk1));
|
||||
|
||||
if (!SUCCEEDED(hRet))
|
||||
return hRet;
|
||||
|
||||
|
@ -32,21 +31,16 @@ IsSameObject(IN IUnknown *punk1, IN IUnknown *punk2)
|
|||
|
||||
HMENU
|
||||
LoadPopupMenu(IN HINSTANCE hInstance,
|
||||
IN LPCTSTR lpMenuName)
|
||||
IN LPCWSTR lpMenuName)
|
||||
{
|
||||
HMENU hMenu, hSubMenu = NULL;
|
||||
|
||||
hMenu = LoadMenu(hInstance,
|
||||
lpMenuName);
|
||||
|
||||
hMenu = LoadMenuW(hInstance, lpMenuName);
|
||||
if (hMenu != NULL)
|
||||
{
|
||||
hSubMenu = GetSubMenu(hMenu,
|
||||
0);
|
||||
if (hSubMenu != NULL &&
|
||||
!RemoveMenu(hMenu,
|
||||
0,
|
||||
MF_BYPOSITION))
|
||||
hSubMenu = GetSubMenu(hMenu, 0);
|
||||
if ((hSubMenu != NULL) &&
|
||||
!RemoveMenu(hMenu, 0, MF_BYPOSITION))
|
||||
{
|
||||
hSubMenu = NULL;
|
||||
}
|
||||
|
@ -62,15 +56,12 @@ FindSubMenu(IN HMENU hMenu,
|
|||
IN UINT uItem,
|
||||
IN BOOL fByPosition)
|
||||
{
|
||||
MENUITEMINFO mii;
|
||||
MENUITEMINFOW mii;
|
||||
|
||||
mii.cbSize = sizeof(mii);
|
||||
mii.fMask = MIIM_SUBMENU;
|
||||
|
||||
if (GetMenuItemInfo(hMenu,
|
||||
uItem,
|
||||
fByPosition,
|
||||
&mii))
|
||||
if (GetMenuItemInfoW(hMenu, uItem, fByPosition, &mii))
|
||||
{
|
||||
return mii.hSubMenu;
|
||||
}
|
||||
|
@ -79,7 +70,7 @@ FindSubMenu(IN HMENU hMenu,
|
|||
}
|
||||
|
||||
BOOL
|
||||
GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer,
|
||||
GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer,
|
||||
IN DWORD dwBufferSize)
|
||||
{
|
||||
DWORD dwType;
|
||||
|
@ -87,25 +78,24 @@ GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer,
|
|||
|
||||
/* Query the user name from the registry */
|
||||
dwSize = (dwBufferSize * sizeof(WCHAR)) - 1;
|
||||
if (RegQueryValueEx(hkExplorer,
|
||||
TEXT("Logon User Name"),
|
||||
0,
|
||||
&dwType,
|
||||
(LPBYTE) szBuffer,
|
||||
&dwSize) == ERROR_SUCCESS &&
|
||||
if (RegQueryValueExW(hkExplorer,
|
||||
L"Logon User Name",
|
||||
0,
|
||||
&dwType,
|
||||
(LPBYTE)szBuffer,
|
||||
&dwSize) == ERROR_SUCCESS &&
|
||||
(dwSize / sizeof(WCHAR)) > 1 &&
|
||||
szBuffer[0] != _T('\0'))
|
||||
szBuffer[0] != L'\0')
|
||||
{
|
||||
szBuffer[dwSize / sizeof(WCHAR)] = _T('\0');
|
||||
szBuffer[dwSize / sizeof(WCHAR)] = L'\0';
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Fall back to GetUserName() */
|
||||
dwSize = dwBufferSize;
|
||||
if (!GetUserName(szBuffer,
|
||||
&dwSize))
|
||||
if (!GetUserNameW(szBuffer, &dwSize))
|
||||
{
|
||||
szBuffer[0] = _T('\0');
|
||||
szBuffer[0] = L'\0';
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -116,38 +106,32 @@ BOOL
|
|||
FormatMenuString(IN HMENU hMenu,
|
||||
IN UINT uPosition,
|
||||
IN UINT uFlags,
|
||||
...)
|
||||
...)
|
||||
{
|
||||
va_list vl;
|
||||
MENUITEMINFO mii;
|
||||
MENUITEMINFOW mii;
|
||||
WCHAR szBuf[128];
|
||||
WCHAR szBufFmt[128];
|
||||
|
||||
/* Find the menu item and read the formatting string */
|
||||
mii.cbSize = sizeof(mii);
|
||||
mii.fMask = MIIM_STRING;
|
||||
mii.dwTypeData = (LPTSTR) szBufFmt;
|
||||
mii.cch = sizeof(szBufFmt) / sizeof(szBufFmt[0]);
|
||||
if (GetMenuItemInfo(hMenu,
|
||||
uPosition,
|
||||
uFlags,
|
||||
&mii))
|
||||
mii.dwTypeData = szBufFmt;
|
||||
mii.cch = _countof(szBufFmt);
|
||||
if (GetMenuItemInfoW(hMenu, uPosition, uFlags, &mii))
|
||||
{
|
||||
/* Format the string */
|
||||
va_start(vl, uFlags);
|
||||
_vsntprintf(szBuf,
|
||||
(sizeof(szBuf) / sizeof(szBuf[0])) - 1,
|
||||
_countof(szBuf) - 1,
|
||||
szBufFmt,
|
||||
vl);
|
||||
va_end(vl);
|
||||
szBuf[(sizeof(szBuf) / sizeof(szBuf[0])) - 1] = _T('\0');
|
||||
szBuf[_countof(szBuf) - 1] = L'\0';
|
||||
|
||||
/* Update the menu item */
|
||||
mii.dwTypeData = (LPTSTR) szBuf;
|
||||
if (SetMenuItemInfo(hMenu,
|
||||
uPosition,
|
||||
uFlags,
|
||||
&mii))
|
||||
mii.dwTypeData = szBuf;
|
||||
if (SetMenuItemInfo(hMenu, uPosition, uFlags, &mii))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -158,44 +142,41 @@ FormatMenuString(IN HMENU hMenu,
|
|||
|
||||
BOOL
|
||||
GetExplorerRegValueSet(IN HKEY hKey,
|
||||
IN LPCTSTR lpSubKey,
|
||||
IN LPCTSTR lpValue)
|
||||
IN LPCWSTR lpSubKey,
|
||||
IN LPCWSTR lpValue)
|
||||
{
|
||||
WCHAR szBuffer[MAX_PATH];
|
||||
HKEY hkSubKey;
|
||||
DWORD dwType, dwSize;
|
||||
BOOL Ret = FALSE;
|
||||
|
||||
StringCbCopy(szBuffer, sizeof(szBuffer),
|
||||
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"));
|
||||
if (FAILED_UNEXPECTEDLY(StringCbCat(szBuffer, sizeof(szBuffer),
|
||||
_T("\\"))))
|
||||
StringCbCopyW(szBuffer, sizeof(szBuffer),
|
||||
L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer");
|
||||
if (FAILED_UNEXPECTEDLY(StringCbCatW(szBuffer, sizeof(szBuffer), L"\\")))
|
||||
return FALSE;
|
||||
if (FAILED_UNEXPECTEDLY(StringCbCat(szBuffer, sizeof(szBuffer),
|
||||
lpSubKey)))
|
||||
if (FAILED_UNEXPECTEDLY(StringCbCatW(szBuffer, sizeof(szBuffer), lpSubKey)))
|
||||
return FALSE;
|
||||
|
||||
dwSize = sizeof(szBuffer);
|
||||
if (RegOpenKeyEx(hKey,
|
||||
szBuffer,
|
||||
0,
|
||||
KEY_QUERY_VALUE,
|
||||
&hkSubKey) == ERROR_SUCCESS)
|
||||
if (RegOpenKeyExW(hKey,
|
||||
szBuffer,
|
||||
0,
|
||||
KEY_QUERY_VALUE,
|
||||
&hkSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
ZeroMemory(szBuffer,
|
||||
sizeof(szBuffer));
|
||||
ZeroMemory(szBuffer, sizeof(szBuffer));
|
||||
|
||||
if (RegQueryValueEx(hkSubKey,
|
||||
lpValue,
|
||||
0,
|
||||
&dwType,
|
||||
(LPBYTE) szBuffer,
|
||||
&dwSize) == ERROR_SUCCESS)
|
||||
if (RegQueryValueExW(hkSubKey,
|
||||
lpValue,
|
||||
0,
|
||||
&dwType,
|
||||
(LPBYTE)szBuffer,
|
||||
&dwSize) == ERROR_SUCCESS)
|
||||
{
|
||||
if (dwType == REG_DWORD && dwSize == sizeof(DWORD))
|
||||
Ret = *((PDWORD) szBuffer) != 0;
|
||||
if ((dwType == REG_DWORD) && (dwSize == sizeof(DWORD)))
|
||||
Ret = *((PDWORD)szBuffer) != 0;
|
||||
else if (dwSize > 0)
|
||||
Ret = *((PCHAR) szBuffer) != 0;
|
||||
Ret = *((PWCHAR)szBuffer) != 0;
|
||||
}
|
||||
|
||||
RegCloseKey(hkSubKey);
|
||||
|
@ -204,10 +185,10 @@ GetExplorerRegValueSet(IN HKEY hKey,
|
|||
}
|
||||
|
||||
BOOL
|
||||
GetVersionInfoString(IN WCHAR *szFileName,
|
||||
IN WCHAR *szVersionInfo,
|
||||
OUT WCHAR *szBuffer,
|
||||
IN UINT cbBufLen)
|
||||
GetVersionInfoString(IN LPCWSTR szFileName,
|
||||
IN LPCWSTR szVersionInfo,
|
||||
OUT LPWSTR szBuffer,
|
||||
IN UINT cbBufLen)
|
||||
{
|
||||
LPVOID lpData = NULL;
|
||||
WCHAR szSubBlock[128];
|
||||
|
@ -219,9 +200,9 @@ IN UINT cbBufLen)
|
|||
UINT cbTranslate;
|
||||
UINT cbLen;
|
||||
BOOL bRet = FALSE;
|
||||
unsigned int i;
|
||||
UINT i;
|
||||
|
||||
dwLen = GetFileVersionInfoSize(szFileName, &dwHandle);
|
||||
dwLen = GetFileVersionInfoSizeW(szFileName, &dwHandle);
|
||||
|
||||
if (dwLen > 0)
|
||||
{
|
||||
|
@ -229,17 +210,17 @@ IN UINT cbBufLen)
|
|||
|
||||
if (lpData != NULL)
|
||||
{
|
||||
if (GetFileVersionInfo(szFileName,
|
||||
0,
|
||||
dwLen,
|
||||
lpData) != 0)
|
||||
if (GetFileVersionInfoW(szFileName,
|
||||
0,
|
||||
dwLen,
|
||||
lpData) != 0)
|
||||
{
|
||||
UserLangId = GetUserDefaultLangID();
|
||||
|
||||
VerQueryValue(lpData,
|
||||
TEXT("\\VarFileInfo\\Translation"),
|
||||
(LPVOID *) &lpTranslate,
|
||||
&cbTranslate);
|
||||
VerQueryValueW(lpData,
|
||||
L"\\VarFileInfo\\Translation",
|
||||
(LPVOID*)&lpTranslate,
|
||||
&cbTranslate);
|
||||
|
||||
for (i = 0; i < cbTranslate / sizeof(LANGCODEPAGE); i++)
|
||||
{
|
||||
|
@ -247,22 +228,21 @@ IN UINT cbBufLen)
|
|||
match, use this version information (since this
|
||||
means that the version information and the users
|
||||
default language are the same). */
|
||||
if ((lpTranslate[i].wLanguage & 0xFF) ==
|
||||
(UserLangId & 0xFF))
|
||||
if (LOBYTE(lpTranslate[i].wLanguage) == LOBYTE(UserLangId))
|
||||
{
|
||||
wnsprintf(szSubBlock,
|
||||
sizeof(szSubBlock) / sizeof(szSubBlock[0]),
|
||||
TEXT("\\StringFileInfo\\%04X%04X\\%s"),
|
||||
_countof(szSubBlock),
|
||||
L"\\StringFileInfo\\%04X%04X\\%s",
|
||||
lpTranslate[i].wLanguage,
|
||||
lpTranslate[i].wCodePage,
|
||||
szVersionInfo);
|
||||
|
||||
if (VerQueryValue(lpData,
|
||||
szSubBlock,
|
||||
(LPVOID *) &lpszLocalBuf,
|
||||
&cbLen) != 0)
|
||||
if (VerQueryValueW(lpData,
|
||||
szSubBlock,
|
||||
(LPVOID*)&lpszLocalBuf,
|
||||
&cbLen) != 0)
|
||||
{
|
||||
_tcsncpy(szBuffer, lpszLocalBuf, cbBufLen / sizeof(*szBuffer));
|
||||
wcsncpy(szBuffer, lpszLocalBuf, cbBufLen / sizeof(*szBuffer));
|
||||
|
||||
bRet = TRUE;
|
||||
break;
|
||||
|
@ -270,6 +250,7 @@ IN UINT cbBufLen)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
HeapFree(hProcessHeap, 0, lpData);
|
||||
lpData = NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue