Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Господа, помогите!
|
|||
|---|---|---|---|
|
#18+
Как запустить экзешник (.exe файл) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2003, 15:30 |
|
||
|
Господа, помогите!
|
|||
|---|---|---|---|
|
#18+
Очевидно, это оччччень просто, ежели никто из Мастеров не отвечает.... Тогда слово Чайнику. Как я представляю (опробовано не раз) команда Shell запускает указанную далее программу *.exe Shell File, vbNormalFocus Здесь vbNormalFocus - "распахнуть" окно программы File - имя прог. с указанием полного пути (если она "далеко" от Вашей VB_прог). Ежели требуется открыть какой-то файл таким образом, чтобы Винда сама включила соотв. этому файлу программу (если по умолчанию она-Винда это понимает), то вот так: ShellExecute Forma.hwnd, "open", File, 0, 3 File - как и выше, только это уже не *.exe, а какой-то Ваш файлик. Forma.hwnd - здесь Forma - имя формы Вашей прог, откуда идёт обращение. Гуру будут смеяться, поскольку привыкли всё делать через Win_API, но эти примитивненькие примерчики, тем не менее, успешно работают.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2003, 04:15 |
|
||
|
Господа, помогите!
|
|||
|---|---|---|---|
|
#18+
В дополнение.... Всё это взято когда-то где-то из Сети (и успешно опробовано) ================================================== Запуск внешней программы с ожиданием ее завершения. Private Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessID As Long dwThreadID As Long End Type Private Declare Function WaitForSingleObject Lib _ "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds _ As Long) As Long Declare Function CreateProcessA Lib "kernel32" _ (ByVal lpApplicationName As Long, ByVal lpCommandLine As _ String, ByVal lpProcessAttributes As Long, ByVal _ lpThreadAttributes As Long, ByVal bInheritHandles As Long, _ ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, _ ByVal lpCurrentDirectory As String, lpStartupInfo As _ STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) _ As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject _ As Long) As Long Private Const NORMAL_PRIORITY_CLASS = &H20& Private Const INFINITE = -1& Public Sub ExecCmd(cmdline$, ) Dim proc As PROCESS_INFORMATION Dim start As STARTUPINFO ' Initialize the STARTUPINFO structure: Dim ret& start.cb = Len(start) ' Start the shelled application: ret& = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, _ NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc) ' Wait for the shelled application to finish: ret& = WaitForSingleObject(proc.hProcess, INFINITE) ret& = CloseHandle(proc.hProcess) End Sub ============================================ Запустить приложение, ассоциированное с расширением файла 'ВАРИАНТ1 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 Private Declare Function GetDesktopWindow Lib "user32" () As Long Function startdoc(DocName As String) Dim Scr_hDC As Long Scr_hDC = GetDesktopWindow() startdoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", 1) End Function Private Sub Command1_Click() Dim r As Long 'укажите путь к вашему файлу r = startdoc("D:\garbage\garik.xls") End Sub 'ВАРИАНТ2 Предположим, у вас есть файл в формате htm. Вам необходимо открыть его в программе по умолчанию (у большинства это ИнтернетЭксплорер). Данный код запустит Эксплорер и откроет в своем окне указанный вами htm-файл. 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 Const SW_SHOWMAXIMIZED = 3 'использование ShellExecute 0, "open", "D:\Basic\htm\api01.htm", "", "", SW_SHOWMAXIMIZED 'или 'ShellExecute 0, "open", "api01.htm", "", "", SW_SHOWMAXIMIZED ======================================= Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2003, 05:21 |
|
||
|
Господа, помогите!
|
|||
|---|---|---|---|
|
#18+
А в первом ответе - Гуру действительно будут смеяться... потому что забыл добавить совсем чуть-чуть: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2003, 05:26 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32363923&tid=2170303]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 311ms |

| 0 / 0 |
