Нужно самым простым образом с правами гостя проверить, есть ли в приводе диск и доступен ли он на чтение. Как это сделать? Я пытаюсь сделать FindFirstFile(drive:\*.*) + FindClose и если что-то найдено, значит доступно. Можно ли как-то проще в одну апишку?
Код (Text): .DATA CD_ROM_PATH DB "E:",0 ... invoke GetDiskFreeSpace, OFFSET CD_ROM_PATH, ADDR i1, ADDR i2, ADDR i3, ADDR i4 .if EAX ; диск есть .else ; диска нет .endif в начале программы надо сделать Код (Text): invoke SetErrorMode, SEM_FAILCRITICALERRORS чтобы не вылетало окно о недоступности диска.
После проверки доступности диска, как написал K10, как я понял нужно проверить ещё и доступность диска на чтение для текущей учётки без всплытия UAC. А это намного веселее. Вот готовое решение http://blog.aaronballman.com/2011/08/how-to-check-access-rights/.