DWORD dwType, dwSize;
BOOL Ret = FALSE;
- _tcscpy(szBuffer,
+ StringCbCopy(szBuffer, sizeof(szBuffer),
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"));
- _tcscat(szBuffer,
- _T("\\"));
- _tcscat(szBuffer,
- lpSubKey);
+ if (FAILED(StringCbCat(szBuffer, sizeof(szBuffer),
+ _T("\\"))))
+ return FALSE;
+ if (FAILED(StringCbCat(szBuffer, sizeof(szBuffer),
+ lpSubKey)))
+ return FALSE;
dwSize = sizeof(szBuffer);
if (RegOpenKeyEx(hKey,
BOOL LaunchCPanel(HWND hwnd, LPCTSTR applet)
{
TCHAR szParams[MAX_PATH];
- _tcscpy(szParams, TEXT("shell32.dll,Control_RunDLL "));
- _tcscat(szParams, applet);
+
+ StringCbCopy(szParams, sizeof(szParams),
+ TEXT("shell32.dll,Control_RunDLL "));
+ if (FAILED(StringCbCat(szParams, sizeof(szParams),
+ applet)))
+ return FALSE;
+
return (ShellExecute(hwnd, TEXT("open"), TEXT("rundll32.exe"), szParams, NULL, SW_SHOWDEFAULT) > (HINSTANCE)32);
}