Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 16.08.2009
Сообщений: 56

Открыть файл!ы! с помощью...?

21.12.2009, 15:12. Показов 3933. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Воя могу сделать так, что бы кликнув по файлу - открывалась моя прога и в ней открывался мой файл.
C++
1
2
3
4
if(ParamStr(1)!="")
  {
    LoaD(ParamStr(1));
  }
Но как получить путь из эн-ное количество файлов (когда пытаешься открыть несколько файлов одновременно)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2009, 15:12
Ответы с готовыми решениями:

Как открыть bat файл с помощью ShellExecute в RAD Studio?
Можно ли с помощью ShellExecute открыть bat файл?если можно то как это сделать?так и не могу разобраться в этом

Открыть папку и выделить файл/открыть файл в Excel
Привет, как программно открыть папку и выделить файл ? также как заставить Excel открыть файл ? в Delphi делал это так: ...

С помощью кнопки в экселе открыть вордовский файл или пдф файл для просмотра
1й раз сталкиваюсь, не знаю возможно ли вообще так сделать. С помощью кнопки в экселе открыть вордовский файл или пдф файл для...

8
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
22.12.2009, 02:21
ParamStr(2), ParamStr(3) и т.д.
ParamCount() - количество переданных параметров.
0
0 / 0 / 0
Регистрация: 16.08.2009
Сообщений: 56
22.12.2009, 12:50  [ТС]
Пробовал - ничего не получ. ParamStr(2) - он пустой, хоть ты 100 файлов выделяй.
Тем более оно открывает каждый файл по отдельности))) Тоесть вот выбрал я 2 файла, кликнул открыть с помощью..., выбрал прогу а оно отрывает сначала первый рас программу и пишет путь первого файла, потом открывает еще туже прогу и пишет адрес второго файла) А нажмешь на 10 файлов - откроет 10 прог). Так что надо как-то отслеживать копии программ...
0
 Аватар для MrAndrey_ka
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1
22.12.2009, 12:56
а это уже в реестре пропиши проге по дркгому, тут уже DDE использовать нужно посмотри как прописан например блокнот и фотошоп.
ParamStr(),и ParamCount() всего лишь позволяют узнать параметры передаваемые командной строке, а уж передаются ли они программе это уже вопросы к ОСи.
0
0 / 0 / 0
Регистрация: 16.08.2009
Сообщений: 56
23.12.2009, 12:24  [ТС]
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
а это уже в реестре пропиши проге по дркгому, тут уже DDE использовать нужно посмотри как прописан например блокнот и фотошоп.
ParamStr(),и ParamCount() всего лишь позволяют узнать параметры передаваемые командной строке, а уж передаются ли они программе это уже вопросы к ОСи.
Вот блокнот и фотошоп, и то и то исползуют DDE. А вот в действия у них разные, только их там несколько, вот собственно так и не понял, какое действие озачает за открытие сразу нескольких файлов... Хотя моя программа должна открывать файлы, которые уже прописаны в реестре и которые уже открываются другими прогшраммами.
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
23.12.2009, 15:45
ну у меня возникли по этой задаче сразу 2 идеи:
1. например, я реализовывал перенос одновременно нескольких файлов(картинок) из эксплорера драг-н-дропом в свою программу. при чем писал я как будто для одного файла, а дальше, видать уже с подачи винды, действие распространялось по очереди на все выбранные файлы. таким образом здесь упираемся в то как узнать у винды этот список выделенных файлов.
2. вторая идея в том чтобы прописать в своей проге слудующее:
- запускаемся
- ищем себя в процессах (это решенная задача о запуске одного экземпляра программы)
- если оказывается что такая прога уже сидит в памяти, сообщаем ей(здесь много вариантов) имя файла, который собирались открыть. и закрываемся.
- если нет, т.е. если наша программа первая из запускаемых, то открываем свой файл и начинаем ждать "сообщения" с другими путями от других пытающихся запуститься процессов.

в общем надо еще думать.
0
0 / 0 / 0
Регистрация: 16.08.2009
Сообщений: 56
23.12.2009, 17:55  [ТС]
Цитата Сообщение от AntonChik Посмотреть сообщение
ну у меня возникли по этой задаче сразу 2 идеи:
1. например, я реализовывал перенос одновременно нескольких файлов(картинок) из эксплорера драг-н-дропом в свою программу. при чем писал я как будто для одного файла, а дальше, видать уже с подачи винды, действие распространялось по очереди на все выбранные файлы. таким образом здесь упираемся в то как узнать у винды этот список выделенных файлов.
2. вторая идея в том чтобы прописать в своей проге слудующее:
- запускаемся
- ищем себя в процессах (это решенная задача о запуске одного экземпляра программы)
- если оказывается что такая прога уже сидит в памяти, сообщаем ей(здесь много вариантов) имя файла, который собирались открыть. и закрываемся.
- если нет, т.е. если наша программа первая из запускаемых, то открываем свой файл и начинаем ждать "сообщения" с другими путями от других пытающихся запуститься процессов.

в общем надо еще думать.
Да, хорошие идеи, особенно первая... Если бы ее можно было бы организовать...
Но поскольку вторая идея более реализуемая (и к сожалению, более долгая в исполнении) - думаю ее лучше развивать, я уже даже недавно начал это делать... Только вот вопросик есть...
- если оказывается что такая прога уже сидит в памяти, сообщаем ей(здесь много вариантов) имя файла, который собирались открыть. и закрываемся.
Я думал сделать это по ламерски. Сначала прописать так, что если прога запустилась второй рас - то она записывает в специальный файл путь к файлу. Потом поставить таймер и пусть он проверяет тот файл, который лежит в корне проги. Если в нем появилась строка - то значит есть новый путь к файлу... Да план не очень...
Но если кто-то знает как сделать что бы вторая прога, передавала путь к файлу по другому, я буду очень признателен!
0
 Аватар для MrAndrey_ka
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1
24.12.2009, 17:44
Сообщение от AntonChik
ну у меня возникли по этой задаче сразу 2 идеи:
1. например, я реализовывал перенос одновременно нескольких файлов(картинок) из эксплорера драг-н-дропом в свою программу. при чем писал я как будто для одного файла, а дальше, видать уже с подачи винды, действие распространялось по очереди на все выбранные файлы. таким образом здесь упираемся в то как узнать у винды этот список выделенных файлов.
2. вторая идея в том чтобы прописать в своей проге слудующее:
- запускаемся
- ищем себя в процессах (это решенная задача о запуске одного экземпляра программы)
- если оказывается что такая прога уже сидит в памяти, сообщаем ей(здесь много вариантов) имя файла, который собирались открыть. и закрываемся.
- если нет, т.е. если наша программа первая из запускаемых, то открываем свой файл и начинаем ждать "сообщения" с другими путями от других пытающихся запуститься процессов.

в общем надо еще думать.
по поводу 1 идеи: помоему это глупо, а если файлик добавить не из explorera, а из командера например что тогда?
по поводу драг-н-дропа, все очень просто передаются все выдуленные файла, и даже перед этим можно узнать их кол-во, а затем и отсортировать, это не сложно!
а вот по поводу второго пункта это да, и реализовать это можно по разному:
1. Mutex-файлы (файлы в памяти).
2 Запись в реестре!
и др способы связи двух процессов

только организовывать их нужно как можно раньше, чтобы когда запустится второй прецес он мог определить первый и передать ему инфу, а на это много времени может не быть!
0
0 / 0 / 0
Регистрация: 16.08.2009
Сообщений: 56
28.12.2009, 20:34  [ТС]
Ничего не выходит!
Если я буду использовать DDE - то файлы одного и того же формата просто не будут открыватся по отдельности. Значить тот второй наш вариант может подождать, потому что люди как-то таки получают путы к файлам, путем "не открыванием каждого файла по отдельности". Тем более однозначно надо решить задачу по другому, ведь я работаю не со своими файлами, а с теми, которые уже используют DDE.

Добавлено через 1 минуту
Помогите!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2009, 20:34
Помогаю со студенческими работами здесь

Как открыть файл с помощью OpenFileDialog?
Объясните пожалуйста как открыть файл с помощью OpenFileDialog. Что подключить и т.п.:)

С помощью чего открыть файл *.mdbf?
Добрый день. После выполнения "быстрого мини описания БД" создается файл с расширением "mdbf". Как его открыть? С помощью...

Открыть файл с помощью своей программы
Допустим есть .mp3 , вот нажал по ней правой кнопкой мыши , открыть с помощью - вот там, как можно добавить свою программу ?

Открыть файл с помощью WinInet.dll
Приветствую. Долго уже мучаюсь, не могу понять в чём моя ошибка. Ситуация следующая: В проект C# .NET CF 3.5 импортирую библиотеку...

Как получить в программе адрес файла, при попытке открыть его с помощью функции "открыть с помощью"
Доброго времени суток. Второй день ищу ответ на вопрос: как получить в программе адрес файла, при попытке открыть его с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru