Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как открыть файл во внешней программе? Добавлено: 01.07.02 19:29  

Автор вопроса:  Alan

Как открыть файл во внешней программе?

Типа как это делает виндусовый эксплорер. Т.е. дано только имя файла произвольного типа, нужно открыть его в ассоциированном с его расширением приложении. Типа doc - в ворде, xls - в экселе, psd - в фотошопе и т.д.

Заранее спасибо за подсказку.

Алексей.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Игорь



Вопросов: 0
Ответов: 23
 Web-сайт: www.sharonov.ru
 Профиль | | #1
Добавлено: 01.07.02 23:04
Смотрите "БиблиотекуКодов"  - "РаботаСпрограммой"

Ответить

Номер ответа: 2
Автор ответа:
 Ян



ICQ: 816105 

Вопросов: 38
Ответов: 198
 Web-сайт: www.yan.net.ru
 Профиль | | #2
Добавлено: 02.07.02 19:48

' Функции для запуска файла.

Public Declare Function ShellExecute Lib "shell32.dll" Alias _
                        "ShellExecuteA" (ByVal hwnd As Long, _
                         ByVal lpOperation As String, _
                         ByVal lpFile As String, _
                         ByVal lpParameters As String, _

                         ByVal lpDirectory As String, _

                         ByVal nShowCmd As Long) As Long

Public Const SW_SHOWMAXIMIZED = 3

'Использование

Call ShellExecute(0, "open", "Имя и путь к файлу","", "", SW_SHOWMAXIMIZED)

Ответить

Номер ответа: 3
Автор ответа:
 Alan



Вопросов: 2
Ответов: 2
 Профиль | | #3 Добавлено: 02.07.02 20:52

Я пробую сделать так, как написано выше, но не всегда получается.

Всмысле, на машине, на которой я работаю, программа запускает файл - все нормально.

Но если я переношу программу на другой комп - внешне ничего не происходит. Указанный в функции ShellExecute файл не запускается.

Никак не могу понять в чем дело...

Ответить

Номер ответа: 4
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 03.07.02 00:25

Чтобы это работало на компьютере, нужно, чтобы Windows знали что делать с файлом с таким расширением. Если в реестре необходимой информации нету, то плохи твои дела.

Кстати, на разных компьютерах могут запускаться различные приложения для обработки фалов, например xls... я, к примеру, может быть Excel-ский файл юзаю в блокноте - вот блокнот и запустится.

Чтобы избежать этой путаницы, нужно открывать файл непосредственно в нужном приложении... Например, чтобы загрузить Excel, нужно создать объект типа Excel.Application с помощью функции CreateObject, затем с помощью OLE Automation открыть в нем нужный файл... Вот так-то

Ну а если Excel нет на машине клиента? Что делать? Черт его знает.

Ответить

Номер ответа: 5
Автор ответа:
 Keith Flint



Вопросов: 29
Ответов: 74
 Web-сайт: www.flint7.nm.ru
 Профиль | | #5
Добавлено: 06.07.02 22:16

Private Declare Function ShellExecute& Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal _
lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long)
Private Declare Function GetDesktopWindow Lib "User32" () As Long
Const SW_SHOWNORMAL = 1

Call ShellExecute(GetDesktopWindow, "Open", Left(App.Path, 3), "", "c:\", SW_SHOWNORMAL)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам