Kindly
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору А ну-ка, уважаемые знатоки Паскаля, подсобите. Не могу справится со следующей задачей: procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var res: Integer; begin case CurUninstallStep of usPostUninstall: begin If DirExists(ExpandConstant('{app}')+'') then if MsgBox('В папке "'+ExpandConstant('{app}')+'" после удаления остались файлы.' #13#13 'Да - безвозвратное удаление всей папки с незадействованными файлами.' #13#13 'Нет - открыть папку в проводнике.', mbInformation, MB_YESNO)=IDYES then begin DelTree(ExpandConstant('{app}'), True, True, True); end else begin ShellExec('open', ExpandConstant('{app}')+'', '', '', SW_SHOWMAXIMIZED, ewNoWait, res) end; end; end; end; Этот код выполняется после процесса деинсталляции. В нем проверяется, осталась ли после удаления папка, и если осталась, выводится сообщение с возможностью выполнения указанных действий. У меня все правильно, но хотелось бы вывести сообщение с третьей кнопкой "Отмена", при нажатии которой не выполнялось действий с полным удалением и открытием папки, т.е. "ничего не делать". Но вот беда - я не могу присвоить каждой кнопке в отдельности выполняемое действие. С этим примером понятно, но вот если кнопка MB_YESNOCANCEL, то как назначить действие каждой кнопке по отдельности? Т.е. в данной случае нужно сообщение MB_YESNOCANCEL, чтобы при IDYES полностью удалялась папка, при IDNO открывалась папка в проводнике, и при IDCANCEL эти действия не выполнялись. |