powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Закрепление в Windows за программой расширения
17 сообщений из 17, страница 1 из 1
Закрепление в Windows за программой расширения
    #33804082
Лёлик2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно реализовать обычную функцию:
При двойном щелчке по файлу с определённым разрешением в проводнике Windows запускается моя программа с открытым этим файлом.
Проблема: я даже не знаю как это по литературному называется (что в Яндексе вводить?), ну а если вы уже готовую ссылочку подскажите то это будет вообще прекрасно!
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33804099
Tov. Drujba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой компьютер - сервис - свойства папки - типы файлов - создать. Потом изменить. Все.
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33804197
a_s_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tov. Drujba
Имхо. Человеку програмно нужно, а не ручками.

Инфа о том, Что чем запускается, храниться в реестре.
Нашёл 2 места где хранится инфа о расширениях:
HKEY_CLASSES_ROOT\*
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\*

Что в них писать сам разбирайся, я не знаю.
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33804615
Лёлик2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_s_dTov. Drujba
Имхо. Человеку програмно нужно, а не ручками.

Инфа о том, Что чем запускается, храниться в реестре.
Нашёл 2 места где хранится инфа о расширениях:
HKEY_CLASSES_ROOT\*
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\*

Что в них писать сам разбирайся, я не знаю.

Так то оно так. Но мне кажется и программа должна разрабатыватся по каким-то стандартам. Например, Windows нашла программу за которой числится расширение файла, но как она знает где у моей программы функция которая отвечает за открытие файла?! А если у программы вообще не предусмотено открытие файлов, что она будет делать тогда?!!!
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33804638
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Винда не должна вдаваться в такие подробности.
Стандарт - использовать API ShellExecute() для открытия документа (а там уже вызывается то, что доктор прописал в реестре(то есть Вы в данном случае))
и FindExecutable - для нахождения исполняемого файла, ассоциированного с расширением
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33806190
Лёлик2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--null--Винда не должна вдаваться в такие подробности.
Стандарт - использовать API ShellExecute() для открытия документа (а там уже вызывается то, что доктор прописал в реестре(то есть Вы в данном случае))
и FindExecutable - для нахождения исполняемого файла, ассоциированного с расширением

Вы меня, наверно, не поняли. Смотрите, делаем приложение из ОДНОЙ ТОЛЬКО ФОРМЫ (т.е. просто запустили Билдер и дали команду Make). Теперь зарегестрируем за этой программой разрешение doc, и что пустая форма откроет документ Word?! Должна же Windows знать какая функция в моей программе занимается открытием файла, так я и спрашиваю как ей это объяснить.
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33806232
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лёлик2Нужно реализовать обычную функцию:
При двойном щелчке по файлу с определённым разрешением в проводнике Windows запускается моя программа с открытым этим файлом.
Проблема: я даже не знаю как это по литературному называется (что в Яндексе вводить?), ну а если вы уже готовую ссылочку подскажите то это будет вообще прекрасно!

честно говоря щаз не помню механизации...но она точно описывается у Круглинского в книге про юзанье MFC. Там должно быть до смешного просто. Если щаз память не подводит - прям в текстовой строчке "заголовка" фрэймворка... Это та, что звучит как

IDR_MAINFRAME

во...
вспомнил...
в данной строчке после четвёртого слэш эн, пишите точка и любимое Ваше расширение...
например...
Код: plaintext
1.
\n.xru
приведён фрагмент строки...

далее в методе

Код: plaintext
1.
::InitInstance()

вашего апликэйшн... рисуете следующие строки...

Код: plaintext
1.
2.
3.
4.
		// Enable DDE Execute open

		EnableShellOpen();
		RegisterShellFileTypes(TRUE);

далее компилите..запускаете...отгружаетесь...
создаёте файл с нужным расширением и дабл клик на нём - спасёт отца русской демократии..


с уважением
(круглый)
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33806240
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лёлик2...Должна же Windows знать какая функция в моей программе занимается открытием файла, так я и спрашиваю как ей это объяснить.

а стандартная мессага на опен документ пробежит - вот её и обрабатывайте...

(круглый)
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33807050
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
Лёлик2
...Должна же Windows знать какая функция в моей программе занимается открытием файла, так я и спрашиваю как ей это объяснить.


а стандартная мессага на опен документ пробежит - вот её и обрабатывайте...

(круглый)

Неа..
Винда просто передаст полный путь файла ка параметр командной строки - дальше прога может делать с ней что угодно.
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33807179
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyCool I> Винда просто передаст полный путь файла ка параметр
I> командной строки - дальше прога может делать с ней что
I> угодно
А это уж как настроишь
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33807353
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас БарабасА это уж как настроишь
А разве это где-то настраивается? Как?
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33807359
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IcyCoolА разве это где-то настраивается? Как?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33807362
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HKEY_CLASSES_ROOT\Applications\WINWORD.EXE\shell\edit\ddeexec
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33809114
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Век живи - век учись....
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33810202
Лёлик2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolobok0[quot Лёлик2]Нужно реализовать обычную функцию:
При двойном щелчке по файлу с определённым разрешением в проводнике Windows запускается моя программа с открытым этим файлом.
Проблема: я даже не знаю как это по литературному называется (что в Яндексе вводить?), ну а если вы уже готовую ссылочку подскажите то это будет вообще прекрасно!

честно говоря щаз не помню механизации...но она точно описывается у Круглинского в книге про юзанье MFC. Там должно быть до смешного просто. Если щаз память не подводит - прям в текстовой строчке "заголовка" фрэймворка... Это та, что звучит как

IDR_MAINFRAME

во...
вспомнил...
в данной строчке после четвёртого слэш эн, пишите точка и любимое Ваше расширение...
например...
Код: plaintext
1.
\n.xru
приведён фрагмент строки...

далее в методе

Код: plaintext
1.
::InitInstance()

вашего апликэйшн... рисуете следующие строки...

Код: plaintext
1.
2.
3.
4.
		// Enable DDE Execute open

		EnableShellOpen();
		RegisterShellFileTypes(TRUE);

далее компилите..запускаете...отгружаетесь...
создаёте файл с нужным расширением и дабл клик на нём - спасёт отца русской демократии..


с уважением
(круглый)

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

//-------------------------

kolobok0а стандартная мессага на опен документ пробежит - вот её и обрабатывайте...

(круглый)

Кому прийдёт это сообщение если программа ещё закрыта?

//-------------------------

IcyCoolНеа..
Винда просто передаст полный путь файла ка параметр командной строки - дальше прога может делать с ней что угодно.

Это предложение мне кажется самым реальным, только как проверить запустилась программа с параметрами или без них, и если с параметами то как их получить?

P.S. Извените забыл назвать среду разработки - C++ Builder 6
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33810248
a_s_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лёлик2

Это предложение мне кажется самым реальным, только как проверить запустилась программа с параметрами или без них, и если с параметами то как их получить?



GetCommandLine
...
Рейтинг: 0 / 0
Закрепление в Windows за программой расширения
    #33812935
Лёлик2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_s_d Лёлик2

Это предложение мне кажется самым реальным, только как проверить запустилась программа с параметрами или без них, и если с параметами то как их получить?



GetCommandLine

Работает! Спасибо за помощь !!!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Закрепление в Windows за программой расширения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]