求求真心的你case WM_SIZE:引起程序运行报错 shell32.exe错误,这个是怎么了呢?
case WM_SIZE:
我开发手机桌面界面 //MoveWindow(g_hWnd, 40, 40, 100, 100, TRUE);ESULT CALLBACK WndProc (HWND hWnd, UINT uimessage, WPARAM wParam, LPARAM lParam) 
{
char debText[128] = {0};
wchar_t debTextTemp[128] = {0}; switch (uimessage)
{   
case WM_TODAYCUSTOM_QUERYREFRESHCACHE: 
{
TODAYLISTITEM *ptli = (TODAYLISTITEM *)wParam;

if (NULL == ptli)
break;

if (0 == ptli->cyp)
{
ptli->cyp = 2*PLUG_HEIGHT;
return TRUE;
}
}
break;

case WM_CREATE: 
break;

case WM_LBUTTONUP: 
{
g_bSelected = TRUE;
//g_nSelectedItem = 1;
PostMessage(GetParent(hWnd), TODAYM_TOOKSELECTION, (WPARAM)hWnd, 0);  // 1 判断是否在 有效区域,2 查询注册表, 得到程序路径, 3 启动程序
RECT rect;
POINT point; //MessageBox(NULL, _T("WM_LBUTTONUP DllMain"), _T("DllMain"), MB_OK); point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
::GetClientRect(hWnd, &rect);
if(PtInRect(&rect, point))
{
HKEY hOpenKey;
long lResult  = 0;
DWORD iValueType = 0;
DWORD iLen  = 0;
PROCESS_INFORMATION  procInfo; TCHAR szPath[MAX_PATH] = {'\0'}; 
LPCTSTR keyName  = _T("Software\\Microsoft\\Today\\Items\\\"无线城市\"");  //此注册表存放你应用程序的执行路径
LPCTSTR csAppPath = _T("AppPath");

//MessageBox(hWnd, _T("1"), _T("提示"), MB_OK); lResult = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyName, 0, 0, &hOpenKey); ASSERT(lResult == ERROR_SUCCESS);
if(lResult != ERROR_SUCCESS)
{
//MessageBox(hWnd, _T("读注册表失败"), _T("提示"), MB_OK);
break;
} //MessageBox(hWnd, keyName, _T("提示"), MB_OK); iLen = MAX_PATH * sizeof(TCHAR);
lResult = ::RegQueryValueEx(hOpenKey, csAppPath, 0, &iValueType, (BYTE*)szPath, &iLen);
if(lResult != ERROR_SUCCESS)
{
//MessageBox(hWnd, _T("读注册表失败"), _T("提示"), MB_OK);
::RegCloseKey(hOpenKey);
break;
}

//MessageBox(hWnd, csAppPath, _T("提示"), MB_OK);
//MessageBox(hWnd, szPath, _T("提示"), MB_OK); ::RegCloseKey(hOpenKey); BOOL bSuc  = ::CreateProcess(szPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &procInfo);
if(bSuc)
{
::CloseHandle(procInfo.hThread);
::CloseHandle(procInfo.hProcess);
}
else

//MessageBox(hWnd, _T("启动程序失败"), _T("提示"), MB_OK);
}
}
}
break;   

case WM_PAINT: 
{
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);
PaintAll(hWnd, hdc);
EndPaint(hWnd, &ps);
}
break;

case WM_ERASEBKGND:
return TRUE; case WM_TODAYCUSTOM_RECEIVEDSELECTION:
{
g_bSelected = TRUE;
//g_nSelectedItem = 1;
}
return TRUE; case WM_TODAYCUSTOM_USERNAVIGATION:
//InvalidateRect(hWnd, NULL, FALSE); //if (wParam == VK_UP)   
// g_nSelectedItem--;
//if (wParam == VK_DOWN)
// g_nSelectedItem++;
//if (g_nSelectedItem < 0 || g_nSelectedItem >= MAX_ITEMS)
//{
// return FALSE; // go to the next plug-in
//}
//else
//{
// return FALSE;  // stay in this plug-in
//} break;

case WM_TODAYCUSTOM_ACTION:
// 1 判断是否在 有效区域,2 查询注册表, 得到程序路径, 3 启动程序
RECT rect;
POINT point; //MessageBox(NULL, _T("WM_LBUTTONUP DllMain"), _T("DllMain"), MB_OK); point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
::GetClientRect(hWnd, &rect);
if(PtInRect(&rect, point))
{
HKEY hOpenKey;
long lResult  = 0;
DWORD iValueType = 0;
DWORD iLen  = 0;
PROCESS_INFORMATION  procInfo; TCHAR szPath[MAX_PATH] = {'\0'}; 
LPCTSTR keyName  = _T("Software\\Microsoft\\Today\\Items\\\"无线城市\"");  //此注册表存放你应用程序的执行路径
LPCTSTR csAppPath = _T("AppPath");

//MessageBox(hWnd, _T("1"), _T("提示"), MB_OK); lResult = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyName, 0, 0, &hOpenKey); ASSERT(lResult == ERROR_SUCCESS);
if(lResult != ERROR_SUCCESS)
{
//MessageBox(hWnd, _T("读注册表失败"), _T("提示"), MB_OK);
break;
} //MessageBox(hWnd, keyName, _T("提示"), MB_OK); iLen = MAX_PATH * sizeof(TCHAR);
lResult = ::RegQueryValueEx(hOpenKey, csAppPath, 0, &iValueType, (BYTE*)szPath, &iLen);
if(lResult != ERROR_SUCCESS)
{
//MessageBox(hWnd, _T("读注册表失败"), _T("提示"), MB_OK);
::RegCloseKey(hOpenKey);
break;
}

//MessageBox(hWnd, csAppPath, _T("提示"), MB_OK);
//MessageBox(hWnd, szPath, _T("提示"), MB_OK); ::RegCloseKey(hOpenKey); BOOL bSuc  = ::CreateProcess(szPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &procInfo);
if(bSuc)
{
::CloseHandle(procInfo.hThread);
::CloseHandle(procInfo.hProcess);
}
else

//MessageBox(hWnd, _T("启动程序失败"), _T("提示"), MB_OK);
}
}
break;
case WM_TODAYCUSTOM_LOSTSELECTION:
g_bSelected = FALSE;
break;
//case WM_SIZE:
//MoveWindow(g_hWnd, 40, 40, 100, 100, TRUE);