Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: СРОЧНО ! ПОМОГИТЕ ПЛИЗ ! ОЧЕНЬ ВАЖНО ! Добавлено: 23.06.04 11:49  

Автор вопроса:  Magres | ICQ: 112326552 

ВОТ ЕСТЬ У МЕНЯ file.htm ВМЕСТЕ С ПАПКОЙ ПРОГИ ! ЭТО ТИПО ХЕЛПА ! КАК НАКОДИТЬ ЧТОБЫ ОНА ЗАПУСКАЛА ?

 

SHELL (app.path+"\file.htm",1) НЕ РАБОТАЕТ !!!!!!!

 

ЧТО ДЕЛАТЬ ??? ПОМОГИТЕ ПЛИЗ !!!!

Ответить

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

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 23.06.04 12:14
' Это запихнуть в самый верх формы/модуля/класса:

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) As Long

' Это, где вызывается справка:
Call ShellExecute(0&, "open", app.path & "\file.htm", vbnullstring, vbnullstring, vbnull)

Ответить

Номер ответа: 2
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 23.06.04 23:19

Вариант немного сложнее:

Shell("C:\Program files\Internet Explorer\IEXPLORE.EXE " & App.Path & "\file.htm",1)

Ответить

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



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 23.06.04 23:33
2Noviks, рискуешь вызвать гнев админов!

(я про стиль ника и т.п. ерунды ;)

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 23.06.04 23:34
а, кстати, не всегда IEXPLORE.EXE там есть!

поэтому можно замето него использовать просто explorer.exe file.htm

но это все по-кривому :(

Ответить

Номер ответа: 5
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #5
Добавлено: 25.06.04 02:46
 Заместо эксплорера тоже может стоять какая нибудь дрянь. ;)

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 25.06.04 05:13
Если надо именно через shell, то можно использовать start file.htm

Ответить

Номер ответа: 7
Автор ответа:
 Павел



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

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #7
Добавлено: 25.06.04 08:38
Автору темы предупреждение! Учитесь сетевому этикету.

Ответить

Номер ответа: 8
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #8 Добавлено: 25.06.04 11:57
В любом случае расширению .htm соответствует что-то, не правда ли? Вот и находи через FindExecutable программу ассоциированную с расширением .htm и запускай её, передавая имя своего файла как командную строку

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 25.06.04 12:24
2cresta, это уже сложнее :) Думаю вопрос говорит сам за себя нужно ли человеку хитрющее решение с пом. нескольких вызовов АПИ функций...

Ответить

Номер ответа: 10
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #10
Добавлено: 25.06.04 12:27
 Если API-GUIDE у тебя нет, то вот тебе код с него:

Const MAX_FILENAME_LEN = 260
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
   ;Dim i As Integer, s2 As String
   Const sFile = "C:\Windows\Readme.txt"

   'Check if the file exists
   If Dir(sFile) = "" Or sFile = "" Then
        MsgBox "File not found!", vbCritical
        Exit Sub
   End If
   'Create a buffer
   s2 = String(MAX_FILENAME_LEN, 32)
   'Retrieve the name and handle of the executable, associated with this file
   i = FindExecutable(sFile, vbNullString, s2)
   If i > 32 Then
      MsgBox Left$(s2, InStr(s2, Chr$(0)) - 1)
   Else
      MsgBox "No association found !"
   End If
End Sub

Ответить

Номер ответа: 11
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #11 Добавлено: 25.06.04 17:47
Ну если не пытаться что-либо сложное осилить, то навсегда и застрянешь на простейшем

Ответить

Номер ответа: 12
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #12
Добавлено: 25.06.04 18:17
хе, не думаю что ради этого стоит эдакое осиливать ;)

А вообщше, чтобы оценить красоту какого-либо короткого решения, необходимо знать более долгий путь реализации этого действия...

Ответить

Страница: 1 |

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



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