Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Vlad_Ginz
-
- Новичок

-
-
- Сообщения: 41
- Зарегистрирован: 17.04.2004 (Сб) 0:19
Vlad_Ginz » 29.05.2004 (Сб) 1:34
Как при закрытии своего приложения, закрыть другие программы с известными названиями ?
Если требуется API, просьба расписать подробнее с Declare.
-
Tamahawk
-
- Обычный пользователь

-
-
- Сообщения: 78
- Зарегистрирован: 03.02.2004 (Вт) 22:11
Tamahawk » 29.05.2004 (Сб) 2:28
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
посылаеш WM_CLOSE
-
Vlad_Ginz
-
- Новичок

-
-
- Сообщения: 41
- Зарегистрирован: 17.04.2004 (Сб) 0:19
Vlad_Ginz » 01.06.2004 (Вт) 15:22
Есть несколько работающих EXE.
Как их закрыть из своей программы ?
Просьба вариант кода.
-
A.A.Z.
-
- Член-корреспондент академии VBStreets

-
-
- Сообщения: 3035
- Зарегистрирован: 30.06.2003 (Пн) 13:38
-
A.A.Z. » 01.06.2004 (Вт) 15:46
Можно через FindWindow:
Положи на форму кнопку и вставь этот код:
- Код: Выделить всё
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CLOSE = &H10
Sub TerminateEXE(ByVal EXEName As String)
Dim S As String, Wnd As Long
S = EXEName
If LCase(Right(S, 4)) = ".exe" Then S = VBA.Left(S, Len(S) - 4)
Wnd = FindWindow(vbNullString, S)
If Wnd > 0 Then
PostMessage Wnd, WM_CLOSE, 0&, 0&
Else
MsgBox "Не найдено!"
End If
End Sub
Private Sub Command1_Click()
TerminateEXE InputBox("Введите имя exe файла, можно без "".exe"", вообще, нужно только без него, но в коде уже поставлено его отслеживание")
End Sub
Private Sub Form_Load()
Command1.Caption = "Закрыть EXE"
End Sub
Нет меня больше
-
Vlad_Ginz
-
- Новичок

-
-
- Сообщения: 41
- Зарегистрирован: 17.04.2004 (Сб) 0:19
Vlad_Ginz » 02.06.2004 (Ср) 1:26
Ну и порадовали Вы меня г.г. Sirik и Kofeinik !
Отлично работают оба варианта !
Тема закрыта. Большое спасибо !
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, PetalBot, Yandex-бот и гости: 12