Declare Function CreateWindowEx Lib "user32.dll" Alias "CreateWindowExA" ( _
ByVal dwExStyle As Long, _
ByVal lpClassName As String, _
ByVal lpWindowName As String, _
ByVal dwStyle As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hWndParent As Long, _
ByVal hMenu As Long, _
ByVal hInstance As Long, _
lpParam As Any) As Long
CreateWindowEx создает новое окно. Создаваемое окно может быть перекрывающим, дочерним окном с расширенным стилем, всплывающим окном.
В успешном случае функция возвращает описатель нового созданного окна. В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки).
' Смотри также примеры apiform.zip и tooltips.zip ' Заменяем кнопку Пуск на свою ' при запуске проекта и уничтожаем ' новую кнопку при выходе 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