Страница: 1 |
Страница: 1 |
Вопрос: Выход из проги
Добавлено: 24.05.05 20:46
Автор вопроса: Morpheus | Web-сайт:
Короче мне надо, чтобы при клике по кнопке моя прога завершала работу, я вообще не знаю как !!!
Вот я всегда делал так:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Const WM_CLOSE = &H10
Dim H As Long
Private Sub cmdExit_Click()
H = GetForegroundWindow
SendMessage H, WM_CLOSE, &O0, &O0
End Sub
Потом решил, что так будет удобнее:
(прога то завершает работу, но если она не откомпилирована, то и ВБ сам тоже вырубается!!!)
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Dim h As Long
Dim ec As Long
Private Sub cmdExit_Click()
h = GetCurrentProcess
GetExitCodeProcess h, ec
TerminateProcess h, ec
End Sub
Но мне кажется, что есть метод и попроще, чтобы завершить работу своей собственной проги! Ума не приложу! никто не знает????
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 24.05.05 21:31
Private Sub cmdExit_Click()
End
End Sub
Номер ответа: 2
Автор ответа:
Илья
ICQ: 251647191
Вопросов: 37
Ответов: 167
Web-сайт:
Профиль | | #2
Добавлено: 24.05.05 22:48
пооригинальней:
Unload me
End Sub
Номер ответа: 3
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #3
Добавлено: 24.05.05 23:02
Хи-хи, оч смешно...
вот в чью программу надо добавить условие проверки раздела форума ))))))))
Номер ответа: 4
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #4
Добавлено: 26.05.05 11:39
А зачем ее выгружать? пускай работает!
Номер ответа: 5
Автор ответа:
SyavX
Вопросов: 25
Ответов: 149
Профиль | | #5
Добавлено: 29.05.05 16:47
А я всегда так пишу:
Dim ctrl As Control
On Error Resume Next
For Each ctrl In Me.Controls
SendMessage ctrl.hWnd, WM_CLOSE, 0&, 0&
Next ctrl
SendMessage Me.hWnd, WM_CLOSE, 0&, 0&
End Sub