Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Собственно, вообще интересует, где, в каком месте реестра, прописываются пути к программам, выбранным по умолчанию на компьютере пользователя (чтобы пути к ним считать). Обыскался, не нашел... Или используемые по умолчанию программы возможно узнать только по каждому зарегистрированному расширению файла - с какой прогой он ассоциирован?
Смысл в том, чтобы скриптом узнать этот путь к внешней проге и отправить по нему соответствующий файл на открытие, к примеру, командой:
DropFile "путь к программе" "путь к файлу"
или
Run "путь к программе" "путь к файлу" "Normal" "" ""
Конкретная задача сейчас двойная:
1) нужно реализовать открытие-для-просмотра (т.е. файл .png должен открыться в просмотрщике, используемом по умолчанию);
2) нужно реализовать открытие-для-редактирования (т.е. файл .png должен открыться в редакторе изображений, используемом по умолчанию).
Или я перемудрил и можно как-то простой командой (типа OpenFile, сочиняю конечно) запустить файл на открытие, а какой-то командой на редактирование?
И (связанный вопрос):
Как вызвать из проекта NB системный диалог "Открыть с помощью..."? Чтобы пользователь мог сам выбрать программу для открытия файла.
Собственно, вообще интересует, где, в каком месте реестра, прописываются пути к программам, выбранным по умолчанию на компьютере пользователя (чтобы пути к ним считать). Обыскался, не нашел...
Это возможно сделать.
Quote (Вадим)
Или используемые по умолчанию программы возможно узнать только по каждому зарегистрированному расширению файла - с какой прогой он ассоциирован?
И это тоже.
Quote (Вадим)
1) нужно реализовать открытие-для-просмотра (т.е. файл .png должен открыться в просмотрщике, используемом по умолчанию); 2) нужно реализовать открытие-для-редактирования (т.е. файл .png должен открыться в редакторе изображений, используемом по умолчанию).
А это нет. Программа "по-умолчанию" для каждого типа файлов только одна. В зависимости от того какая (просмотрщик или редактор), и будет выполнено соответствующее действие. Можно как вариант указать программы из стандартного набора винды для каждого из действий вручную.
---------------------------------------------
Quote (Вадим)
Как вызвать из проекта NB системный диалог "Открыть с помощью..."?
Вернемся к разговору о RunDLL32 - вызовем эту функцию из системной библиотеки shell32.dll где хранятся все функции оболочки:
Это радует! Только не знаю где искать. Ассоциации, если я правильно понимаю, надо смотреть в HKEY CLASSES ROOT, а вот где найти дефолты, подставляемые для сходных типов файлов?
Quote (DEMBEL)
А это нет. Программа "по-умолчанию" для каждого типа файлов только одна.
Я думаю, что и это можно, но для этого придется обработать результаты сканирования реестра и иметь два заранее заготовленных списка Просмотрщиков и Редакторов для сравнения. К примеру, если полученное из реестра значение совпадает с одним из значений списка Просмотрщиков, а нужен Редактор, то тогда определяем наличие в системе Редактора (тоже по списку, от простого к сложному) и открываем файл в нем. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Сообщение отредактировано Вадим - Пн, 01 Февраля 2010, 19:47
Я думаю, что и это можно, но для этого придется обработать результаты сканирования реестра и иметь два заранее заготовленных списка Просмотрщиков и Редакторов для сравнения.
нет так делать ненада. Во-первых, в реестре не написано ЧТО это за программа просмотрщик или редактор, их бывают десятки разных.
Quote (Вадим)
олько не знаю где искать. Ассоцииации, если я правильно понимаю надо смотреть в HKEY CLASSES ROOT, а вот где найти дефолты, подставляемые для сходных типов файлов?
да там же в подразделах, попозже скажу точно, или еще кто нибудь ответит
Quote (Вадим)
А есть информация на предмет вызова диалога "Открыть с помощью..."?
Я на форуме (в разделе MMB) видел список функций этой проги, но вывода диалога "Открыть с помощью" там нет. У тебя есть полный список функций/команд?
Quote (DEMBEL)
нет так делать ненада. Во-первых, в реестре не написано ЧТО это за программа просмотрщик или редактор, их бывают десятки разных.
Я имел ввиду, что я сам их разнесу по спискам - что просмотрщик, а что редактор. Но ты прав, конечно, это слабое решение, не стоит так делать. Не универсально.
Наверное для целей редактирования надо предложить пользователю выбрать прогу диалогом "Открыть с помощью" (тем более, что для разных целей он может пожелать воспользоваться разными программами), а для целей просмотра достаточно будет вызвать обычную программу просмотра изображений и факсов. Наверное есть такая команда в Run? Тогда и реестр парсить даже не придется.
Добавлено (01 Февраль 2010, 20:04) --------------------------------------------- А, дошло! Вот почему у меня не получалось. Я запятую ставил перед путем к файлу.
Вот решение для открытия в просмотрщике:
Run "Rundll32.exe" "shimgvw.DLL,ImageView_Fullscreen [путь к файлу]" "Normal" "" ""
Это не список команд RunDLL32, это метод запуска функций библиотек. Библиотеки любые могут быть, в системе их тьма, а функций еще больше, смысла в таком полном списке нет, есть только наиболее употребительные (для библ USER32.DLL, SHELL32.DLL, PRINTUI.DLL и еще нескольких) и 100% рабочие... будем искать в зависимости от надобности. Как задавать вопросы
Вроде здесь: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
Спасибо! Похоже, что здесь. И за ссылку спасибо - любопытная инфа! Особенно для случаев, когда надо сделать свои специфичные файлы для проги.
Правильно ли я понял, что параметры а, b, c, d, e - это порядок подстановки (в случае если нужной проги нет) ассоциированных с данным файлом программ (указанных как значения)?
Только я малость запутался. Все-таки можно любой из этих двух ключей использовать или только оба сразу, или какой-то конкретный? Или для разных случаев разные?
Вариант 1. HKEY_CLASSES_ROOT\
Вариант 2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
?
P.S.: и мне кажется, что в статье какая-то шкодливая опечатка - разве может существовать корневой ключ с именем HKEY_CLASSES_ROOTDIZ ?
Добавлено (03 Февраль 2010, 07:53) --------------------------------------------- С реестром вопрос повис, однако, необходимо отметить в этой теме, что касается возможности открыть файл в программе по умолчанию (на компьютере пользователя), то исчерпывающее решение создал Peter, добавив соответствующую команду к своему плагину zmFunctions.
У меня аж мозг весь вспотел, но я так и не понял - ДЛЯ ЧЕГО?
Подавляющее большинство пользовательских файлов и редактируется в тех программах, в которых открывается. Исключения составляют файлы мультимедиа и картинки, если ничего не забыл... В общем, Вадим, попробуй "это" в прикреплении. Если нормально заработает, то хорошо, а не заработает - ещё лучше!
Только программа для редактирования должна быть НАЗНАЧЕНА, а если её нет, то ничего не откроется.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
У меня аж мозг весь вспотел, но я так и не понял - ДЛЯ ЧЕГО?
Да, верно, я не очень удачно выразился. Но суть такая - есть проги ориентированные на Просмотр (просмотрщики - айсидиси, просмотр изображений и факсов и море других), а есть Редакторы (всяческие пайнты, фотошопы энд корелы и т.д.). И чтобы просмотреть фотографию грузить фотошоп как-то, мягко говоря, странно...
Quote (Peter)
Исключения составляют файлы мультимедиа и картинки
Вот я о ".png" в первом посте и писал. Хотя я бы к этой категории и просто аудио добавил (плеер не всегда редактор).
Открылось!! :) Более того, "Открывает" в просмотрщике изображений и факсов, а на "Редактирование" открывает в Paint.NET. Так что работает! Интересно, что именно работает? Как реализовано? Просто выбраны две стандартные программы или используются значения по умолчанию? Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Просто выбраны две стандартные программы или используются значения по умолчанию?
Ну да, делать мне больше нечего, чтобы вычислять какие там у тебя программы установлены!
По умолчанию.
Но больше всего интригует вот это:
Quote (Вадим)
И чтобы просмотреть фотографию грузить фотошоп как-то, мягко говоря, странно...
А что, у тебя упорно грузится фотошоп?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Не поверишь, но именно так и было однажды. Не помню уже почему, возможно я в самом Фотошопе что-то не так установил, но все файлы изображений открывались у меня именно в Фотошопе, если не выбрать другую прогу. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
после установки ps cs3/4 все картинки по умолчанию открывает именно он, в предыдущих версиях был диалог выбора расширений, а щас он сразу себе все забирает. Как задавать вопросы
Гм... И вот из-за этого весь сыр-бор, и вся эта тема?
Шторм в рюмке! Подобные "неувязки" устраняются самим пользователем максимум за минуту!
И главное - причем тут проекты NeoBook?
Quote (DEMBEL)
щас он сразу себе все забирает
А вот это уже полнейшее свинство! Мое убеждение, что никакие программы не должны иметь права менять что-либо в настройках пользователя без его ведома. Подобные проги я сношу со своего компа моментально и навсегда.
Но зачем фотошопу творить подобные нелюбезности?
P.S. Кстати, вот вроде бы понял зачем Вадиму так нужно было "редактирование" в NeoBook. Есть смысл...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
после установки ps cs3/4 все картинки по умолчанию открывает именно он
У меня cs4 стоит. Так ни чего он под себя не забирает Даже не припомню что б какая ни будь вообще ассациация с файлами предлагалась. Единственный формат, который он под себя забрал, psd. и фсе. Не хочешь читать хелп?
У меня cs4 стоит. Так ни чего он под себя не забирает он под себя забрал, psd. и фсе
Именно так и должно быть по логике вещей. Возможно тут дело в разных версиях, точнее инсталляторах - бывают оригинальные (от разработчиков), а бывают - переделанные дистрибутивы и инсталляторы разными нашими деятелями, и вот от этих "сборок" можно ожидать любых сюрпризов! Последнее - самое расхожее на наших "просторах". И это не только к фотошопу относится. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Да я не думаю, что фотошоп в чем-то виноват или разного рода сборки. Просто я, при его установке, скорее всего, в диалоге выбора ассоциированных расширений выбрал "все". Думаю именно так и было. Но дело не в этом.
Делаю, так сказать, "инструмент тестера" - чтобы человек мог быстро и без затей сделать скриншот и отправить его мне. И в зависимости от целей нужно дать тестеру возможность открыть изображение для просмотра (убедиться, что сделано то, что надо) или для редактирования (если умеет и хочет) - например, чтобы в созданном скриншоте можно было сделать пометки или убрать лишнее. Т.е. задача сугубо практическая. Да и в других случаях, предполагаю, что возможность открытия файла в "просмотрщике" или "редакторе" (условные термины, конечно) может весьма пригодится (в работе с рисунками, аудио и видео всех форматов).