Вы же самое интересное не рассказали.
> } else if ((asLocal.Length > 4) && > !_strnicmp(asLocal.Buffer, "\\??\\", 4)) { > strcpy( asLocal.Buffer, asLocal.Buffer+4); > asLocal.Length -= 4;
Этот код после if выполняется, если вопросительных знаков нет, и длина больше четырех -- то есть в обычном случае. Значит, к выпадению он отношения не имеет. А что же там после else? Падать должно там.
> > А у MB_SERVICE_NOTIFICATION ноги растут потому что дебрях > винды MB_SERVICE_NOTIFICATION месагбокс с эмулируется через > NtRaiseHardError :)) > > Помнится NT убивал нижеследующий код. Вот что называется > перенесли кривоподелие user32 в ядро... > HMENU hMenu = CreatePopupMenu(); > HMENU hMenu1 = CreatePopupMenu(); > AppendMenu(hMenu1,MF_STRING, 1, "1"); > AppendMenu(hMenu1,MF_STRING, 2, "2"); > AppendMenu(hMenu1,MF_STRING, 3, "3"); > InsertMenu(hMenu,1,MF_POPUP|MF_STRING,(UINT)hMenu1,"1"); > InsertMenu(hMenu,2,MF_POPUP|MF_STRING,(UINT)hMenu1,"2"); > InsertMenu(hMenu,3,MF_POPUP|MF_STRING,(UINT)hMenu1,"3"); > InsertMenu(hMenu,4,MF_POPUP|MF_STRING,(UINT)hMenu1,"4"); > InsertMenu(hMenu,5,MF_POPUP|MF_STRING,(UINT)hMenu1,"5"); > InsertMenu(hMenu,6,MF_POPUP|MF_STRING,(UINT)hMenu1,"6");
|