Вы можете попробовать QT.Это кроссплатформенный.Вам не нужно заботиться о различиях операционной системы при работе с файлами.Что вы подразумеваете под «исполняемым», как-то неясно.Если вы говорите о правах доступа к файлам, OT может предоставить такую информацию (просто посмотрите документацию класса QFile).Если вы хотите узнать, можете ли вы на самом деле запустить его или нет, вам нужно иметь какое-то соглашение о расширении файлов.Например, .exe в Windows.Я не знаю, может быть, есть способ посмотреть на начальные биты файла и узнать, является ли он двоичным или нет, но я думаю, что вы не сможете найти библиотечный вызов для этого.Вы должны реализовать некоторые специфичные для платформы подпрограммы для этого.Если я не ошибаюсь, файловые браузеры в основном смотрят на расширение файла, чтобы узнать его тип.Например, если вы измените расширение файла pdf на exe, то проводник Windows увидит этот файл как исполняемый файл.Очевидно, что после предположения о типе файла он может попытаться узнать некоторые другие сведения о файле, например значок исполняемого файла.Но изначально это только смотрит на расширение.В противном случае было бы очень медленно просматривать каталоги, содержащие большое количество файлов.
Надеюсь, я дал здесь соответствующую информацию