mirror of
https://github.com/reactos/reactos.git
synced 2025-06-12 02:58:28 +00:00
[SHELL32]
- Use StringCbCopyW [PROGMAN] - Use StringCbCopyW: CID #1363712. - Don't read registry values in a registry key if we failed to open it. CID #514350. svn path=/trunk/; revision=71912
This commit is contained in:
parent
4ef92827aa
commit
a5b76eb779
2 changed files with 36 additions and 30 deletions
|
@ -516,7 +516,7 @@ EnumPickIconResourceProc(HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszName, LON
|
||||||
if (IS_INTRESOURCE(lpszName))
|
if (IS_INTRESOURCE(lpszName))
|
||||||
swprintf(szName, L"%u", lpszName);
|
swprintf(szName, L"%u", lpszName);
|
||||||
else
|
else
|
||||||
wcscpy(szName, lpszName);
|
StringCbCopyW(szName, sizeof(szName), lpszName);
|
||||||
|
|
||||||
hIcon = (HICON)LoadImageW(hModule, lpszName, IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
|
hIcon = (HICON)LoadImageW(hModule, lpszName, IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
|
||||||
if (hIcon == NULL)
|
if (hIcon == NULL)
|
||||||
|
@ -1026,6 +1026,9 @@ VOID DIALOG_Execute(VOID)
|
||||||
DWORD dwSize;
|
DWORD dwSize;
|
||||||
DWORD dwType;
|
DWORD dwType;
|
||||||
|
|
||||||
|
ExecuteContext.hKeyPMRecentFilesList = NULL;
|
||||||
|
ExecuteContext.bCheckBinaryType = TRUE;
|
||||||
|
|
||||||
lRet = RegCreateKeyExW(Globals.hKeyProgMan,
|
lRet = RegCreateKeyExW(Globals.hKeyProgMan,
|
||||||
L"Recent File List",
|
L"Recent File List",
|
||||||
0,
|
0,
|
||||||
|
@ -1035,39 +1038,42 @@ VOID DIALOG_Execute(VOID)
|
||||||
NULL,
|
NULL,
|
||||||
&ExecuteContext.hKeyPMRecentFilesList,
|
&ExecuteContext.hKeyPMRecentFilesList,
|
||||||
NULL);
|
NULL);
|
||||||
|
if (lRet == ERROR_SUCCESS)
|
||||||
dwSize = sizeof(ExecuteContext.dwMaxFiles);
|
|
||||||
lRet = RegQueryValueExW(ExecuteContext.hKeyPMRecentFilesList,
|
|
||||||
L"Max Files",
|
|
||||||
NULL,
|
|
||||||
&dwType,
|
|
||||||
(LPBYTE)&ExecuteContext.dwMaxFiles,
|
|
||||||
&dwSize);
|
|
||||||
if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
|
|
||||||
{
|
{
|
||||||
ExecuteContext.dwMaxFiles = 4;
|
|
||||||
dwSize = sizeof(ExecuteContext.dwMaxFiles);
|
dwSize = sizeof(ExecuteContext.dwMaxFiles);
|
||||||
lRet = RegSetValueExW(ExecuteContext.hKeyPMRecentFilesList,
|
lRet = RegQueryValueExW(ExecuteContext.hKeyPMRecentFilesList,
|
||||||
L"Max Files",
|
L"Max Files",
|
||||||
0,
|
NULL,
|
||||||
REG_DWORD,
|
&dwType,
|
||||||
(LPBYTE)&ExecuteContext.dwMaxFiles,
|
(LPBYTE)&ExecuteContext.dwMaxFiles,
|
||||||
sizeof(ExecuteContext.dwMaxFiles));
|
&dwSize);
|
||||||
}
|
if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
|
||||||
|
{
|
||||||
|
ExecuteContext.dwMaxFiles = 4;
|
||||||
|
dwSize = sizeof(ExecuteContext.dwMaxFiles);
|
||||||
|
lRet = RegSetValueExW(ExecuteContext.hKeyPMRecentFilesList,
|
||||||
|
L"Max Files",
|
||||||
|
0,
|
||||||
|
REG_DWORD,
|
||||||
|
(LPBYTE)&ExecuteContext.dwMaxFiles,
|
||||||
|
sizeof(ExecuteContext.dwMaxFiles));
|
||||||
|
}
|
||||||
|
|
||||||
dwSize = sizeof(ExecuteContext.bCheckBinaryType);
|
dwSize = sizeof(ExecuteContext.bCheckBinaryType);
|
||||||
lRet = RegQueryValueExW(Globals.hKeyPMSettings,
|
lRet = RegQueryValueExW(Globals.hKeyPMSettings,
|
||||||
L"CheckBinaryType",
|
L"CheckBinaryType",
|
||||||
NULL,
|
NULL,
|
||||||
&dwType,
|
&dwType,
|
||||||
(LPBYTE)&ExecuteContext.bCheckBinaryType,
|
(LPBYTE)&ExecuteContext.bCheckBinaryType,
|
||||||
&dwSize);
|
&dwSize);
|
||||||
if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
|
if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
|
||||||
{
|
{
|
||||||
ExecuteContext.bCheckBinaryType = TRUE;
|
ExecuteContext.bCheckBinaryType = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DialogBoxParamW(Globals.hInstance, MAKEINTRESOURCEW(IDD_EXECUTE), Globals.hMainWnd, DIALOG_EXECUTE_DlgProc, (LPARAM)&ExecuteContext);
|
DialogBoxParamW(Globals.hInstance, MAKEINTRESOURCEW(IDD_EXECUTE), Globals.hMainWnd, DIALOG_EXECUTE_DlgProc, (LPARAM)&ExecuteContext);
|
||||||
|
|
||||||
RegCloseKey(ExecuteContext.hKeyPMRecentFilesList);
|
if (ExecuteContext.hKeyPMRecentFilesList)
|
||||||
|
RegCloseKey(ExecuteContext.hKeyPMRecentFilesList);
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ BOOL CALLBACK EnumPickIconResourceProc(HMODULE hModule,
|
||||||
if (IS_INTRESOURCE(lpszName))
|
if (IS_INTRESOURCE(lpszName))
|
||||||
swprintf(szName, L"%u", (DWORD)lpszName);
|
swprintf(szName, L"%u", (DWORD)lpszName);
|
||||||
else
|
else
|
||||||
wcscpy(szName, (WCHAR*)lpszName);
|
StringCbCopyW(szName, sizeof(szName), lpszName);
|
||||||
|
|
||||||
hIcon = LoadIconW(hModule, lpszName);
|
hIcon = LoadIconW(hModule, lpszName);
|
||||||
if (hIcon == NULL)
|
if (hIcon == NULL)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue