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

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

как такое реализовать?
Спасибо
...
Рейтинг: 0 / 0
28.10.2010, 17:46
    #36926327
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
вызвать bat-файл с вызовом call winword.exe
...
Рейтинг: 0 / 0
28.10.2010, 17:51
    #36926340
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
ну в принципе нашёл через 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
28.10.2010, 21:29
    #36926699
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
michael RShell не работает
Как не работает!?!?!?!?!
Кто запретил?!?!?!?
Почему не работает?
...
Рейтинг: 0 / 0
28.10.2010, 21:33
    #36926703
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
После недоуменного вскрика Игоря сам вчитался в топик повнимательней.

Может подойдет shellexecute ?
можно выполнить .doc-файл, который откроется в проассоциированном ворде (к которому не требуется искать путь), после чего VB-прогу можно спокойно закрывать.
...
Рейтинг: 0 / 0
28.10.2010, 22:09
    #36926732
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
А я так же не понимаю, чем 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
29.10.2010, 00:03
    #36926815
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
спасибо всем за советы
ну в принципе я уже сделал
...
Рейтинг: 0 / 0
29.10.2010, 11:52
    #36927417
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
Игорь Горбоносmichael RShell не работает
Как не работает!?!?!?!?!
Кто запретил?!?!?!?
Почему не работает?Потому что shell активирует уже запущенный экземпляр ворда.
...
Рейтинг: 0 / 0
29.10.2010, 12:09
    #36927480
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустит Winword.exe файл в VB6 как новый процесс?
> Автор: Antonariy
> Потому что shell активирует уже запущенный экземпляр ворда.


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

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


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