Declare Function DestroyWindow Lib "user32.dll" (ByVal hWnd As Long) As Long
DestroyWindow уничтожает окно, освобождая отведенную память. Меню, таймеры и дочерние окна уничтожаются автоматически вместе с ним.
' Смотри также пример tooltips.zip ' Заменяем кнопку Пуск на свою (работает в Windows X) ' при запуске проекта и уничтожаем ' новую кнопку при выходе Dim tWnd As Long, bWnd As Long, ncWnd As Long Private Sub Form_Load() Dim R As RECT ' получаем описатель панели задач tWnd = FindWindow("Shell_TrayWnd", vbNullString) ' получаем описатель кнопки Пуск bWnd = FindWindowEx(tWnd, ByVal 0&, "BUTTON", vbNullString) ' получаем координаты кнопки GetWindowRect bWnd, R ' создаем новую кнопку ncWnd = CreateWindowEx(ByVal 0&, "BUTTON", "Basic", WS_CHILD, 0, 0, R.Right - R.Left, R.Bottom - R.Top, tWnd, ByVal 0&, App.hInstance, ByVal 0&) ShowWindow ncWnd, SW_NORMAL ' прячем кнопку Пуск ShowWindow bWnd, SW_HIDE End Sub Private Sub Form_Unload(Cancel As Integer) ' показываем кнопку Пуск ShowWindow bWnd, SW_NORMAL ' уничтожаем нашу кнопку DestroyWindow ncWnd End Sub