|
|
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
Какой командой в VB можно открыть файл: 1) Программой заданной в Windows по-умолчанию (команда открыть в проводнике) 2) С помощью другой программы (путь к программе). И как передать еще программе параметры при этом? Прошу не судить меня строго - я не волшебник, я только учусь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 23:59 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
Поищи по словам SHELL и SHELLEXEQUTE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2007, 08:57 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
Прошу прощения налажал.... SHELLEXECUTE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2007, 09:09 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
peremenaya = Shell("File ZagruZhaemyy_file") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2007, 11:54 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
Спасибо за совет. Воспользовался ShellExecute. Но появился новый вопрос. Как дождаться завершение программы. (Например: пока WinRAR закончит распаковывать файлы). А то файлы ещё распаковываются, а я следующей командой в программе хочу их использовать. Я это делал так: Я использовал API функции Process32First, Process32Next. Если WinRAR был в списке процессов то ждал (Sleep 100) и опять проверял. Наверняка все как нибудь проще можно было сделать. Но я не знаю как? Может вы мне подскажите. Я запустил программу с параметрами с помощью ShellExecute Как определить закрылась ли она (выполнилась ли команда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2007, 21:43 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
Поиск по "ожидание завершения процесса" даст очень много полезного :) Гугл рулит. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2007, 23:18 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
wizardnnСпасибо за совет. Воспользовался ShellExecute. Но появился новый вопрос. Как дождаться завершение программы. (Например: пока WinRAR закончит распаковывать файлы). А то файлы ещё распаковываются, а я следующей командой в программе хочу их использовать. Я это делал так: Я использовал API функции Process32First, Process32Next. Если WinRAR был в списке процессов то ждал (Sleep 100) и опять проверял. Наверняка все как нибудь проще можно было сделать. Но я не знаю как? Может вы мне подскажите. Я запустил программу с параметрами с помощью ShellExecute Как определить закрылась ли она (выполнилась ли команда). Рекомендую хорошую процедуру DoEvent, которая передаёт управление операционке для завершения всех процессов, более важных, чем твоя прога ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 08:11 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
DoEvent s :) И в данном случае ИМХО она не из той оперы. Человеку нужно дождаться завершение работы конкретного процесса и потом работать с файлами полученными в результате выполнения этого процесса например с распаковаными. DoEvents же позволяет форме реагировать на события нажатия нопок и мыши если выполняется очень большой цикл например Код: plaintext 1. 2. Форма повиснет и пока весь цикл не пройдет закрыть ее вряд ли удастся... однако остальные процессы будут работать Если же сделать Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 09:37 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
gjghjcDoEvent s :) И в данном случае ИМХО она не из той оперы. Человеку нужно дождаться завершение работы конкретного процесса и потом работать с файлами полученными в результате выполнения этого процесса например с распаковаными. DoEvents же позволяет форме реагировать на события нажатия нопок и мыши если выполняется очень большой цикл например Код: plaintext 1. 2. Форма повиснет и пока весь цикл не пройдет закрыть ее вряд ли удастся... однако остальные процессы будут работать Если же сделать Код: plaintext 1. 2. 3. Тогда рекомендую посетить сайт MSDN, там есть очень полезная функшн типа ДуЕвента, надеюсь хоть она окажется полезной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 09:48 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
Ладно фиг с ним (с окончанием выполнения) С Api ф-ями Process32First, Process32Next тоже работает :). Возникла новая проблема при использовании ф-ии ShellExecute. Если программа уже открыта, то выполнении фии ShellExecute приводит к открытию файла в новом экземпляре программы Вместо того чтобы открыть файл в окне этой программы. При запуске из проводника например не загружается же каждый раз новая программа. Как добится такого же эффекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 21:27 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
wizardnnЛадно фиг с ним (с окончанием выполнения) С Api ф-ями Process32First, Process32Next тоже работает :).А надо было всего-лишь воспользоваться парой функций CreateProcess и WaitForSingleObject.... wizardnnПри запуске из проводника например не загружается же каждый раз новая программа.Это зависит от программы. Проще всего, этого эффекат добиться через OLE. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2007, 21:56 |
|
||
|
Какой командой в VB можно открыть файл?
|
|||
|---|---|---|---|
|
#18+
wizardnnПри запуске из проводника например не загружается же каждый раз новая программа. Как добится такого же эффекта? Так может теми же функциями API воспользоваться и предотвращать вызов нового экземпляра. А передавать всю инфу уже открытой проге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2007, 08:30 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34538414&tid=2163993]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
120ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 406ms |

| 0 / 0 |
