powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как поднять окно "Открыть с помощью"
12 сообщений из 12, страница 1 из 1
Как поднять окно "Открыть с помощью"
    #32103128
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как программно вызвать окно "Открыть с помощью" (ну как бы из контестного меню файла)
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32103140
Фотография Jozo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см
http://mdelphi.far.ru/docs/view/commands.htm
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32103151
Фотография Dim Grishin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
под Win 2000 большенство функций не работает...
а где можно взять описание для win 2000?
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32103335
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jozo
БОЛЬШОЕ СПАСИБО!
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32104320
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Jozo за ссылку!

1. Определил с помощью каких приложений открывался файл с заданным расширением (хранится в
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xml\OpenWithList
для файлов с расширением .xml, например)
И нашел что открывался такой файл приложением EDITPLUS.EXE

2. далее сомтрю в
HKEY_CLASSES_ROOT\Applications\EDITPLUS.EXE
и вижу там
HKEY_CLASSES_ROOT\Applications\EDITPLUS.EXE\shell\open\command="c:\editplus\editplus.exe %1"

А теперь, собственно, вопрос:
как с помощью этой информации открыть документ С:\Example.xml с помощью приложения EDITPLUS.EXE?

Надеюсь на помощь ...
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32104321
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитать значение переменнной из реестра, и запустить процесс через CreateProcess()
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32104325
Фотография Jozo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не ошибаюсь можно и
if winexec(Pchar('EDITPLUS.EXE С:\Example.xml'), sw_Show);
тока лучше указывать с порлным путем до него
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32104349
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WINEXEC, ShellExecute, CreateProccess - это все конечно хорошо
но в реестре-то записано "c:\editplus\editplus.exe %1"
т.е. ShelLExecute(Handle, 'open', 'c:\editplus\editplus.exe %', 'c:\Example.xml', '', SW_SHOWNORMAL) - не прокатит (проверено)
равно как и
winexec(Pchar('EDITPLUS.EXE С:\Example.xml'), sw_Show), так как путь к EDITPLUS.EXE системе неизвестен
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32104353
Фотография Jozo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну дык и напиши
winexec(Pchar('трам-пам-пам\EDITPLUS.EXE С:\Example.xml')
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32104430
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну то есть из вот этой фигни "c:\editplus\editplus.exe %1" вырезать :(
Это первое что мне и пришло в голову, но вот не хотелось...
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32111863
sergasd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати о птичках!
как запустить файл с параметрами никто не знает???
Что то типа этого:
ShellExecute(Application.Handle,'open','route.exe','route -p add 192.168.3.0 mask 255.255.255.0 192.168.3.1 metric 2',nil,SW_HIDE);
Эта команда нормально отрабатывает,но результата почему то нет (не появляется маршрут).

Пришлось из батника запускать, что не очень удобно, потому что их много:
ShellExecute(Application.Handle,'open','1.bat',nil,nil,SW_HIDE);
...
Рейтинг: 0 / 0
Как поднять окно "Открыть с помощью"
    #32111949
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShellExecute(Application.Handle,
'open',
'route.exe',
'route -p add 192.168.3.0 mask 255.255.255.0 192.168.3.1 metric 2',
nil,
SW_SHOWNORMAL {SW_HIDE - скрывает окно!}
);

Окно будет видно. Но по завершении работы закроется. Поэтому лучше, наверное, CreateProccess и WaitForSingleObject
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как поднять окно "Открыть с помощью"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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