powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как запустит Winword.exe файл в VB6 как новый процесс?
9 сообщений из 9, страница 1 из 1
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926276
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно говоря операция следующая
в VB6 работает некий код
после запускается Winword.exe с заданным файлом (прога а не обьект )
и VB6 прекращает работу (выход)
Winword.exe продолжает работать открытый

Shell не работает
делать обьект word через With Event тоже не желательно
прога должна завершиться

как такое реализовать?
Спасибо
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926327
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вызвать bat-файл с вызовом call winword.exe
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926340
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну в принципе нашёл через API вызоз процесса


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
 Private Type PROCESS_INFORMATION
         hProcess As Long
         hThread As Long
         dwProcessId As Long
         dwThreadId As Long
      End Type

      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 Declare Function CreateProcess Lib "kernel32" _
         Alias "CreateProcessA" _
         (ByVal lpApplicationName As String, _
         ByVal lpCommandLine As String, _
         lpProcessAttributes As Any, _
         lpThreadAttributes As Any, _
         ByVal bInheritHandles As Long, _
         ByVal dwCreationFlags As Long, _
         lpEnvironment As Any, _
         ByVal lpCurrentDriectory As String, _
         lpStartupInfo As STARTUPINFO, _
         lpProcessInformation As PROCESS_INFORMATION) As Long

      Private Declare Function OpenProcess Lib "kernel32.dll" _
         (ByVal dwAccess As Long, _
         ByVal fInherit As Integer, _
         ByVal hObject As Long) As Long

      Private Declare Function TerminateProcess Lib "kernel32" _
         (ByVal hProcess As Long, _
         ByVal uExitCode As Long) As Long

      Private Declare Function CloseHandle Lib "kernel32" _
         (ByVal hObject As Long) As Long

      Const SYNCHRONIZE =  1048576 
      Const NORMAL_PRIORITY_CLASS = &H20&


         Dim pInfo As PROCESS_INFORMATION
         Dim sInfo As STARTUPINFO
         Dim sNull As String
         Dim lSuccess As Long
         Dim lRetValue As Long

         sInfo.cb = Len(sInfo)
         lSuccess = CreateProcess(sNull, _
                                 "Calc.exe", _
                                 ByVal  0 &, _
                                 ByVal  0 &, _
                                  1 &, _
                                 NORMAL_PRIORITY_CLASS, _
                                 ByVal  0 &, _
                                 sNull, _
                                 sInfo, _
                                 pInfo)


теперь только нужно определять правильный путь для windord.exe
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926699
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael RShell не работает
Как не работает!?!?!?!?!
Кто запретил?!?!?!?
Почему не работает?
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926703
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После недоуменного вскрика Игоря сам вчитался в топик повнимательней.

Может подойдет shellexecute ?
можно выполнить .doc-файл, который откроется в проассоциированном ворде (к которому не требуется искать путь), после чего VB-прогу можно спокойно закрывать.
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926732
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я так же не понимаю, чем CreateObject не угодил.

Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Command_Click()
Dim oWordApp As Object
Set oWordApp = CreateObject("Word.Application")
oWordApp.Documents.Open "C:\1.doc": oWordApp.Visible = True
Set oWordApp = Nothing
Unload Me
End Sub

приложение выгружается - Word работает. Или я не так чего-то понял?
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36926815
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо всем за советы
ну в принципе я уже сделал
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36927417
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбоносmichael RShell не работает
Как не работает!?!?!?!?!
Кто запретил?!?!?!?
Почему не работает?Потому что shell активирует уже запущенный экземпляр ворда.
...
Рейтинг: 0 / 0
как запустит Winword.exe файл в VB6 как новый процесс?
    #36927480
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Antonariy
> Потому что shell активирует уже запущенный экземпляр ворда.


Ну и ладно, зато не будет сообщений о том что Personal.xls занят. :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как запустит Winword.exe файл в VB6 как новый процесс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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