![]() |
|
|
![]()
|
|
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Вот так запускаю просмотр документа, но не работает на моей машине. Ставлю своё приложение на другой комп - всё работает.
Причину я выяснил, но озадачен: ShellExecute возвращает SE_ERR_NOASSOC, то есть "There is no application associated with the given file name extension", хотя Acrobat Reader установлен и зарегистрирован в системе и если просто кликнуть по pdf-файлу, то всё стартует как надо. Приложение, вызывающее эту функцию, написано с использованием MFC, но это, видимо, не важно. В чём может быть дело? Попутно возникли мысли: как проверить установлена ли в системе нужная программа, определить путь к ней и в конце-концов попытаться запустить с использованием командной строки. Собственно, интересует выделенное. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Я думаю что это надо в реестре ковырять
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: нет Всего: 10 |
В том, что действие Open определено некорректно, или вообще не определено -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
||||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: нет Всего: 10 |
Конечно, ручками в реестре поправь параметры действия Open. Либо вызывай ShellExecute с другим действием, которое использует проводник
-------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
То есть, если я правильно понял, то такая ситуация - это частный случай отдельной системы и его повторение у других пользователей маловероятно?
Это как раз отпадает, так как мне нужно открыть определённый документ по определённому действию пользователя, а если предложить ему выбирать из списка, то он может открыть что-то не по теме. |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: нет Всего: 10 |
Это частный случай отдельной системы с отдельной программой. -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |