Private Const WM_SYSCOMMAND = &H112
RetVal = SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0)
XairOn писал(а):Раз уж разговор зашел о WinAPI, то не подскажите как правильно функцию ExitWindowsEx использовать, т.к. у меня почему-то она не выключает комп (и не перезагружает), а только завершает текущий сеанс. В чём дело?
Декларирую вот так: Private Declare Function ExitWindowsEx Lib "user32.dll" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
а вызов функции вот так выглядит: r = ExitWindowsEx(EWX_SHUTDOWN Or EWX_FORCE, 0&)
Dim hWnd as Long
hWnd=FindWindow(0,"Имя окна")
Так я пробовал, говорю же, функция работает, но закрывает не любое окно, некоторые окна на неё вообще не реагируют!ahill писал(а):Используй FindWindow
- Код: Выделить всё
Dim hWnd as Long
hWnd=FindWindow(0,"Имя окна")
Конкретно - это Notepad, Visual Basic, Rar, Zip и т.д список можно долго продолжать.ahill писал(а):А какие конкретно окна не закрываются?
Dim hWnd As Long
hWnd = FindWindow("Notepad", vbNullString)
SendMessage hWnd, WM_SYSCOMMAND, SC_CLOSE, 0
Dim hWnd As Long
hWnd = FindWindow("Notepad", vbNullString)
PostMessage hWnd, WM_SYSCOMMAND, SC_CLOSE, 0
ahill писал(а):Но под XP не знаю, возможно надо передавать дополнительный параметр в SendMessage
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3