crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Открытие своего файла в своей программе
RazrFalcon
  опции профиля:
сообщение 1.6.2010, 19:53
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Прога сохраняет к примеру .prm и по нажатии на него открывается моя прога и в ней открывается сразу же и файл.
Как это сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 2.6.2010, 17:58
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(RazrFalcon @ 2.6.2010, 21:31) *
Без командных строк и тп
на самом деле всё работает через командную строку

Цитата(RazrFalcon @ 2.6.2010, 21:31) *
КАК он узнал какой файл открыть?
в реестре записано
HKEY_CLASSES_ROOT\.txt
-- (по умолчанию) = txtfile

HKEY_CLASSES_ROOT\txtfile
-- (по умолчанию) = Текстовый документ

HKEY_CLASSES_ROOT\txtfile\shell\open\command
-- (по умолчанию) = %SystemRoot%\system32\NOTEPAD.EXE %1

И, как видишь, командная строка, аргумент командной строки - шаблон, вместо которого подставится имя файла
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.6.2010, 18:24
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Хмммм... Весьма странно но теперь работает :huh:
QSettings reg("HKEY_CLASSES_ROOT", QSettings::NativeFormat);
QFile file(reg.value("/MyProg.mpf/shell/open/command/.").toString());
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
   return;

MoPDoBoPoT дал полезную ссылку, спасибо.
Только все равно как то странно, по этому пути в реестре пусто ведь, все время, сам проверял.
Но путь пишет и открывает, а мне большего и не нужно.
Все спасибо за еще один шаг вперед.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 0:37