вопрос по зарегистрированному мной типу файлов
От: Baskak Россия  
Дата: 29.03.10 10:27
Оценка:
Зарегистрировал собственный тип файлов для своей программы. Со всеми проблемами разобрался, кроме одной.
Я хочу, чтобы
1) мой тип файлов открывался только моей программой (с этим проблем нет);
2) пользователь не мог переопределить программу, которой будет открываться мой тип файлов (тут и вопрос).

Если открыть свойства файла, вкладка "Общие", там будет приложение (моё), открывающее файлы моего типа,
и кнопка "Изменить...", которая позволяет выбрать другую программу, чтобы открыть этот файл.
А например если взять файл .exe, или .bat, или .lnk — то у них этой кнопки нет.

Какие значения в реестре для моего типа файлов нужно установить, чтобы у моего типа файлов не было кнопки
"Изменить..." или чтобы эта кнопка была отключена (disabled)?

Долго копался в реестре, экспериментировал с ключами реестра — до истины так и не добрался.
Может кто с этим разбирался, и пожет помочь?
Re: вопрос по зарегистрированному мной типу файлов
От: Other Sam Россия  
Дата: 29.03.10 10:37
Оценка:
On 03/29/2010 05:27 PM, Baskak wrote:
> 2) пользователь не мог переопределить программу, которой будет
> открываться мой тип файлов (тут и вопрос).

Как насчет уважения вашего пользователя? Разве не пользователь решает
какой программой какой тип файлов он хочет открывать в своей системе?
Posted via RSDN NNTP Server 2.1 beta
Re[2]: вопрос по зарегистрированному мной типу файлов
От: Baskak Россия  
Дата: 29.03.10 10:50
Оценка:
OS>Как насчет уважения вашего пользователя? Разве не пользователь решает
OS>какой программой какой тип файлов он хочет открывать в своей системе?

Этот тип файлов не имеет смысла открывать другими программами, т.к. они понятия
не имеют (и не должны иметь) о структуре файла. Он относится только к моей программе.

Как раз наоборот, пользователь может по незнанию изменить ассоциацию этого типа
файлов, и программа будет работать некорректно.
И нужно как раз оградить пользователя от нечаянного изменения ассоциации, для его
же блага.
Re[3]: вопрос по зарегистрированному мной типу файлов
От: Аноним  
Дата: 29.03.10 15:53
Оценка:
B>Этот тип файлов не имеет смысла открывать другими программами, т.к. они понятия
B>не имеют (и не должны иметь) о структуре файла. Он относится только к моей программе.

А если у какого-то формата такое же расширение какое вы выбрали. И ваша поставленная по ошибке много лет назад программа не даст ни за что его открыть по умолчанию?
Re[3]: вопрос по зарегистрированному мной типу файлов
От: wildwind Россия  
Дата: 29.03.10 16:08
Оценка: 3 (2)
Здравствуйте, Baskak, Вы писали:

B>Как раз наоборот, пользователь может по незнанию изменить ассоциацию этого типа

B>файлов, и программа будет работать некорректно.
B>И нужно как раз оградить пользователя от нечаянного изменения ассоциации, для его
B>же блага.

Проверять ассоциацию при запуске, как это делают, например, браузеры. И опционально восстанавливать, после подтверждения пользователем. Именно опционально, уважать пользователя все-таки надо.

Если ты через несколько лет забьешь на свою программу и на ее пользователей, напишут open-source аналог, работающий с твоим супер-пупер форматом.
Re[4]: вопрос по зарегистрированному мной типу файлов
От: Baskak Россия  
Дата: 29.03.10 17:13
Оценка:
Формат не супер-пупер, просто такая задача передо мной поставлена. Если пользователю
программа не нравится, он может просто удалить ее и забыть о ней.

По-вашему получается, что Microsoft своих пользователей не уважает совсем. Вот захочет
кто-то, чтобы его тип файлов имел расширение .bat, а перетянуть ассоциацию на себя
не получится. Как по-вашему, MS очень неуважительно к пользователям относится?

Но хорошо, прислушиваясь к вашим советам (допустим вы правы), я хочу сделать опциональную
возможность запрещения изменения ассоциации, с возможностью отключения этой опции в настройках.
Это будет уважительно по отношению к пользователю, и удобно для него же в случае отсутствия
конфликтов по расширению.

Раз для .exe, .bat, .cmd, .pif, .lnk и прочих это сделано, можно предположить, что теоретически это
сделать возможно.

Вопрос все же звучал так: не знает ли кто, как это можно сделать практически?
Хотелось бы получить ответ на этот вопрос.
Re[5]: вопрос по зарегистрированному мной типу файлов
От: ambel-vlad Беларусь  
Дата: 29.03.10 17:26
Оценка:
Здравствуйте, Baskak, Вы писали:

B>Формат не супер-пупер, просто такая задача передо мной поставлена. Если пользователю

B>программа не нравится, он может просто удалить ее и забыть о ней.

B>По-вашему получается, что Microsoft своих пользователей не уважает совсем. Вот захочет

B>кто-то, чтобы его тип файлов имел расширение .bat, а перетянуть ассоциацию на себя
B>не получится.

Дык без проблем. Достаточно небольшого изменения в реестре и .bat файлы открываются твоей программой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: вопрос по зарегистрированному мной типу файлов
От: Baskak Россия  
Дата: 29.03.10 17:54
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Дык без проблем. Достаточно небольшого изменения в реестре и .bat файлы открываются твоей программой.


Вот, уже ближе.
Осталось выяснить, какие именно небольшие изменения в реестре нужны, и попробовать проделать противоположные
изменения с моим типом файлов.

Так может кто-нибудь все-таки уточнить, какие изменения нужно сделать в реестре, конкретно, чтобы ассоциацию
нельзя было испортить с помощью кнопки "Изменить...", или, другими словами, чтобы запрещено было вызывать
окно "Открыть с помощью..." для заданного типа файлов.
Re[7]: вопрос по зарегистрированному мной типу файлов
От: ambel-vlad Беларусь  
Дата: 29.03.10 20:41
Оценка: 2 (1)
Здравствуйте, Baskak, Вы писали:

AV>>Дык без проблем. Достаточно небольшого изменения в реестре и .bat файлы открываются твоей программой.


B>Вот, уже ближе.

B>Осталось выяснить, какие именно небольшие изменения в реестре нужны, и попробовать проделать противоположные
B>изменения с моим типом файлов.

Открываешь ветку HKCR\.<ext> и смотришь. Поподробнее можно посмотреть или в MSDN или в сорцах MFC.

B>Так может кто-нибудь все-таки уточнить, какие изменения нужно сделать в реестре, конкретно, чтобы ассоциацию

B>нельзя было испортить с помощью кнопки "Изменить...", или, другими словами, чтобы запрещено было вызывать
B>окно "Открыть с помощью..." для заданного типа файлов.

Думаю, что скорее всего вряд ли такое возможно. Дело в том, что .exe, .bat и прочии достаточно специфические расширения. В любом случае, другая программа спокойно перебьет твои установки. И я полностью согласен с другими, что абсолютно нет смысла делать подобное. И сделал бы как предложил wildwind

Проверять ассоциацию при запуске, как это делают, например, браузеры. И опционально восстанавливать, после подтверждения пользователем. Именно опционально, уважать пользователя все-таки надо.

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: вопрос по зарегистрированному мной типу файлов
От: Baskak Россия  
Дата: 30.03.10 04:50
Оценка:
AV>Думаю, что скорее всего вряд ли такое возможно. Дело в том, что .exe, .bat и прочии достаточно специфические расширения. В любом случае, другая программа спокойно перебьет твои установки. И я полностью согласен с другими, что абсолютно нет смысла делать подобное. И сделал бы как предложил wildwind
AV>

AV>Проверять ассоциацию при запуске, как это делают, например, браузеры. И опционально восстанавливать, после подтверждения пользователем. Именно опционально, уважать пользователя все-таки надо.


Я видимо соглашусь с вами. Да, так будет корректнее. И смысла запрещать изменение действительно мало, если хорошенько подумать.
Спасибо.
Re[7]: вопрос по зарегистрированному мной типу файлов
От: wildwind Россия  
Дата: 30.03.10 12:47
Оценка:
Здравствуйте, Baskak, Вы писали:

B>Вот, уже ближе.

B>Осталось выяснить, какие именно небольшие изменения в реестре нужны, и попробовать проделать противоположные
B>изменения с моим типом файлов.

Именно такие изменения проделывают вирусы и прочая нечисть. Потом появляются темы на форумах "Помогите, после вируса не запускаются екзешники/батники..." Так что если действительно интересно, можешь поискать/поспрашивать на соответствующих ресурсах
Re: вопрос по зарегистрированному мной типу файлов
От: Eugeny__ Украина  
Дата: 20.05.10 16:23
Оценка:
Здравствуйте, Baskak, Вы писали:

B>Зарегистрировал собственный тип файлов для своей программы. Со всеми проблемами разобрался, кроме одной.

B>Я хочу, чтобы
B>1) мой тип файлов открывался только моей программой (с этим проблем нет);
B>2) пользователь не мог переопределить программу, которой будет открываться мой тип файлов (тут и вопрос).

B>Если открыть свойства файла, вкладка "Общие", там будет приложение (моё), открывающее файлы моего типа,

B>и кнопка "Изменить...", которая позволяет выбрать другую программу, чтобы открыть этот файл.
B>А например если взять файл .exe, или .bat, или .lnk — то у них этой кнопки нет.

B>Какие значения в реестре для моего типа файлов нужно установить, чтобы у моего типа файлов не было кнопки

B>"Изменить..." или чтобы эта кнопка была отключена (disabled)?

Я думаю, что это правило(с отсутствием кнопки "изменить") прибито гвоздями в коде, исполняемые файлы же.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.