crossplatform.ru

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


  Ответ в Как ассоциировать файлы
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Sokoloff Дата 27.10.2011, 17:35
  В линухе это делается через утилиту xdg-mime
Например:
$ xdg-mime default feh.desktop image/jpeg
теперь jpeg-и будут открываться в feh.

Проверим:
$ xdg-mime query default image/jpeg
feh.desktop

Реально пользовательские ассоциации хранятся в ~/.local/share/applications/defaults.list. Это обычный инишник вида
[Default Applications]                                                                                       
text/html=chromium-browser.desktop                                                                          
application/lrf=calibre-lrfviewer.desktop                                                                    
application/x-directory=kde4/dolphin.desktop                                                                
audio/mpeg=vlc.desktop                                                                                      
image/jpeg=feh.desktop
При желании его можно править ручками.

P.S. В некоторых случаях путь к defaults.list может отличатся от ~/.local/share/. Поэтому если кто будет писать реальный код, то прочтите XDG Base Directory Specification.
Strikevld Дата 27.10.2011, 15:50
  Для вин 7 часто оказывается бесполезным править реестр, файл всё равно открывается в старом приложении!
т.е. для Vista и выше нужно пользовать функцию SetAppAsDefault
Эта функция на MSDN...
Litkevich Yuriy Дата 23.6.2011, 9:51
 
Цитата(ruzik @ 22.6.2011, 20:55) *
как зарегестировать программу в системе, что бы все работало
посмотри, например, как реализован .cpp

Обычно структура такая:
-Расширение
-- Название типа файла
...
-Название типа файла
-- Имя команды
--- Путь к приложению
ruzik Дата 22.6.2011, 17:55
  Попробовал это сделать:
    QSettings settings("HKEY_CLASSES_ROOT\\.qss",
        QSettings::NativeFormat);
    settings.setValue("", "Rizek_Qss_Editor");

Файл ассоциировался, только вот при открытии выдает диалог что не знает чем открыть, как зарегестировать программу в системе, что бы все работало
RazrFalcon Дата 25.5.2011, 21:23
 
Цитата(Алексей1153 @ 25.5.2011, 8:13) *
RazrFalcon, это только для винды )

А мы не про винду?

Цитата
Я думаю что в Linuxe и Mace такое то же есть, только вот там как это сделать

Тут или через гуй, или через консоль. Через гуй вообще не реально, так как валом DE.
Проще всего: создать *.desktop файл, бросить его в /usr/share/applications и в нем прописать свою прогу к конкретному mime-type'у и все.
;)
ruzik Дата 25.5.2011, 21:08
  Я думаю что в Linuxe и Mace такое то же есть, только вот там как это сделать
ruzik Дата 25.5.2011, 18:49
  А в Linuxe и Мac'e вообще есть такая функция как ассоциирование и как там это дело решается

Я нашел первую ветку реестра с ассоциациями, но там в основном записи типа имени программы(см аттач), то есть как я понимаю для того что бы все работало программу нужно где-то зарегистрировать что бы система знала на какой exe ссылаться как написано только название программы
Алексей1153 Дата 25.5.2011, 8:13
  RazrFalcon, это только для винды )
RazrFalcon Дата 25.5.2011, 7:23
  Легко. В гугле находится быстро. Это все правится через реестр. Если не ошибаюсь, то при открытие реестра, первая ветка, в ней все разрешения. Создаешь свое и по аналогии прописываешь свою прогу.
Litkevich Yuriy Дата 25.5.2011, 5:43
  В Qt это ни как не решается.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 3:22