У меня есть программа на C ++, которая запускает различные базы данных MS Access (файлы .mdb), к некоторым из которых применяются ограничения на запуск.
Сейчас я знаю, что единственный способ отключить эти ограничения - удерживать клавишу Shift до тех пор, пока база данных не завершит загрузку.
Я хочу, чтобы моя программа имитировала тот же конечный результат открытия базы данных с отключенными этими ограничениями, но я не хочу заставлять пользователя удерживать клавишу Shift, и я не хочусмоделировать клавишу Shift самостоятельно в программе.По моему опыту вы должны удерживать клавишу Shift до тех пор, пока база данных не завершит загрузку, а это не всегда занимает одинаковое количество времени (в любом случае, в моей среде).Так что я не считаю это очень надежным вариантом.
Кто-нибудь знает другой подход, который я мог бы использовать, кроме моделирования клавиши Shift?
Я изучил свойство AllowBypassKey
в Access , но даже если вы установите для него значение true, пользователю все равно потребуется удерживать клавишу Shift, чтобы отключить запускопции.
В настоящее время я использую ShellExecute()
для запуска базы данных, но я открыт для использования другого метода.
Примечание: Решение должно работать в Access 2000, 2003, 2007 и 2010