|
|
|
новичок
      
участник
Last Login: 19.04.2000 20:59
Сообщ.: 1,
Visits: 12
|
|
Проблема следующая:
При помощи API могу получить handle окна уже запущенного приложения (FindWindow). Как теперь сделать так, чтобы кнопка "Close"("X" которая)работала на сворачивание окна или делала что-то вроде Hide(еще лучше), но не закрывая самого приложения.
Очень прошу - помогите! И если кто знает - подскажите, где надыбать доку по win32api, желательно по-русски и с примерами.
|
|
|
|
|
Forum Guru
      
участник
Last Login: 25.02.2000 8:07
Сообщ.: 59,
Visits: 661
|
|
Вот пример с фунцией EnumWindows.
-----------------
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
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 SendMessageStr Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As String) As Long
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
Private Sub FindIt()
Dim lCalc&, lTextbox&, lLen&, strBuffer$
lCalc = FindWindowEx(0, 0, "NotePad", vbNullString)
lTextbox = FindWindowEx(lCalc, 0, "Static", vbNullString)
lLen = SendMessage(lTextbox, WM_GETTEXTLENGTH, 0, 0)
strBuffer = Space(lLen)
Call SendMessageStr(lTextbox, WM_GETTEXT, lLen, ByVal strBuffer)
MsgBox "Text in NotePad: " & strBuffer
End Sub
|
|
|
|
|
Forum Guru
      
участник
Last Login: 25.02.2000 8:07
Сообщ.: 59,
Visits: 661
|
|
-------------
Как теперь сделать так, чтобы кнопка "Close"("X" которая)работала на сворачивание окна или делала что-то вроде Hide(еще лучше), но не закрывая самого приложения.
-------------
А вот про это я что-то так и не нашел, хотя должно быть, наверно, элементарно. А сейчас вот потребовалось самому и не знаю как. ;(
?!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.06.2000 2:39
Сообщ.: 257,
Visits: 2 861
|
|
Сомневаюсь, но можно попробовать: заблокировать крестик ("Х" который) в событии Form_Unload, а потом вручную скрывать или сворачивать:
'Скроем форму:
Private Sub Form_Unload(Cancel as Integer)
Cancel = 1
Me.Hide
End Sub
|
|
|
|