powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Какой командой в VB можно открыть файл?
12 сообщений из 12, страница 1 из 1
Какой командой в VB можно открыть файл?
    #34537821
wizardnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой командой в VB можно открыть файл:

1) Программой заданной в Windows по-умолчанию (команда открыть в проводнике)
2) С помощью другой программы (путь к программе).

И как передать еще программе параметры при этом?
Прошу не судить меня строго - я не волшебник, я только учусь :)
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34537907
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищи по словам SHELL и SHELLEXEQUTE
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34537915
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения налажал.... SHELLEXECUTE
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34537989
Gorr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peremenaya = Shell("File ZagruZhaemyy_file")
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34538414
wizardnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за совет. Воспользовался ShellExecute.
Но появился новый вопрос.

Как дождаться завершение программы. (Например: пока WinRAR закончит распаковывать файлы).
А то файлы ещё распаковываются, а я следующей командой в программе хочу их использовать.

Я это делал так:
Я использовал API функции Process32First, Process32Next.
Если WinRAR был в списке процессов то ждал (Sleep 100) и опять проверял.

Наверняка все как нибудь проще можно было сделать.
Но я не знаю как?
Может вы мне подскажите.

Я запустил программу с параметрами с помощью ShellExecute
Как определить закрылась ли она (выполнилась ли команда).
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34538490
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск по "ожидание завершения процесса" даст очень много полезного :)
Гугл рулит. :)
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34538648
Диса
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wizardnnСпасибо за совет. Воспользовался ShellExecute.
Но появился новый вопрос.

Как дождаться завершение программы. (Например: пока WinRAR закончит распаковывать файлы).
А то файлы ещё распаковываются, а я следующей командой в программе хочу их использовать.

Я это делал так:
Я использовал API функции Process32First, Process32Next.
Если WinRAR был в списке процессов то ждал (Sleep 100) и опять проверял.

Наверняка все как нибудь проще можно было сделать.
Но я не знаю как?
Может вы мне подскажите.

Я запустил программу с параметрами с помощью ShellExecute
Как определить закрылась ли она (выполнилась ли команда).

Рекомендую хорошую процедуру DoEvent, которая передаёт управление операционке для завершения всех процессов, более важных, чем твоя прога
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34538771
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoEvent s :)
И в данном случае ИМХО она не из той оперы.
Человеку нужно дождаться завершение работы конкретного процесса и потом работать с файлами полученными в результате выполнения этого процесса например с распаковаными.
DoEvents же позволяет форме реагировать на события нажатия нопок и мыши если выполняется очень большой цикл

например
Код: plaintext
1.
2.
For i =  0  To  10000000000 #
Next i

Форма повиснет и пока весь цикл не пройдет закрыть ее вряд ли удастся... однако остальные процессы будут работать

Если же сделать
Код: plaintext
1.
2.
3.
For i =  0  To  10000000000 #
DoEvents
Next i
То форма спокойно закрывается однако и время выполнения данной процедуры увеличивается.
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34538798
Диса
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gjghjcDoEvent s :)
И в данном случае ИМХО она не из той оперы.
Человеку нужно дождаться завершение работы конкретного процесса и потом работать с файлами полученными в результате выполнения этого процесса например с распаковаными.
DoEvents же позволяет форме реагировать на события нажатия нопок и мыши если выполняется очень большой цикл

например
Код: plaintext
1.
2.
For i =  0  To  10000000000 #
Next i

Форма повиснет и пока весь цикл не пройдет закрыть ее вряд ли удастся... однако остальные процессы будут работать

Если же сделать
Код: plaintext
1.
2.
3.
For i =  0  To  10000000000 #
DoEvents
Next i
То форма спокойно закрывается однако и время выполнения данной процедуры увеличивается.


Тогда рекомендую посетить сайт MSDN, там есть очень полезная функшн типа ДуЕвента, надеюсь хоть она окажется полезной
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34540829
wizardnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно фиг с ним (с окончанием выполнения)
С Api ф-ями Process32First, Process32Next тоже работает :).

Возникла новая проблема при использовании ф-ии ShellExecute.
Если программа уже открыта, то выполнении фии ShellExecute
приводит к открытию файла в новом экземпляре программы
Вместо того чтобы открыть файл в окне этой программы.

При запуске из проводника например не загружается же каждый раз новая программа.
Как добится такого же эффекта?
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34540872
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wizardnnЛадно фиг с ним (с окончанием выполнения)
С Api ф-ями Process32First, Process32Next тоже работает :).А надо было всего-лишь воспользоваться парой функций CreateProcess и WaitForSingleObject....

wizardnnПри запуске из проводника например не загружается же каждый раз новая программа.Это зависит от программы. Проще всего, этого эффекат добиться через OLE.
Код: plaintext
1.
Dim oExcelWorkbook
Set oExcelWorkbook = GetObject("c:\somedir\somefile.xls")
...
Рейтинг: 0 / 0
Какой командой в VB можно открыть файл?
    #34541218
Диса
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wizardnnПри запуске из проводника например не загружается же каждый раз новая программа.
Как добится такого же эффекта?

Так может теми же функциями API воспользоваться и предотвращать вызов нового экземпляра.
А передавать всю инфу уже открытой проге
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Какой командой в VB можно открыть файл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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