На мой взгляд это делается так: в
BROWSEINFO структуре для функции
SHBrowseForFolder определи свой
callback. В этой фукции ты можешь сам проверить все что угодно, включая присутствие или отсутствие определенных файлов в выделеной директории и соответственно разрешить кнопку ОК или послать юзера на фиг