Меню, иконка из приложения

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Меню, иконка из приложения

Сообщение Sirik » 07.03.2005 (Пн) 9:59

есть запущеные программы (в Панели задач).
как получить меню приложения (клик на пиктограмме) ?

как получить иконку (большую и маленькую, особенно последнее) приложения зная его путь?

Серый
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 06.11.2004 (Сб) 10:51

Сообщение Серый » 07.03.2005 (Пн) 11:43

2
как вытащить иконку я знаю, вот только беда, получается вытащить только большую иконку, а мне надо маленькую

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Меню, иконка из приложения

Сообщение tyomitch » 07.03.2005 (Пн) 15:16

Sirik писал(а):есть запущеные программы (в Панели задач).
как получить меню приложения (клик на пиктограмме) ?

GetSystemMenu
Изображение

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.03.2005 (Ср) 10:05

Ок, для получения меню я использую сл. код:
Код: Выделить всё
Const MF_CHECKED = &H8&
Const MF_APPEND = &H100&
Const TPM_LEFTALIGN = &H0&
Const MF_DISABLED = &H2&
Const MF_GRAYED = &H1&
Const MF_SEPARATOR = &H800&
Const MF_STRING = &H0&

Const TPM_LEFTBUTTON = &H0&
Const TPM_RIGHTBUTTON = &H2&

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Declare Function TrackPopupMenu Lib "user32" _
            (ByVal hMenu As Long, _
            ByVal wFlags As Long, _
            ByVal x As Long, _
            ByVal y As Long, _
            ByVal nReserved As Long, _
            ByVal hwnd As Long, _
            ByVal lprc As Any) As Long

Private Declare Function GetSystemMenu Lib "user32" _
            (ByVal hwnd As Long, _
            ByVal bRevert As Long) As Long

Private Declare Function GetCursorPos Lib "user32" _
            (lpPoint As POINTAPI) As Long


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim Pt As POINTAPI
    GetCursorPos Pt
    If Button = 2 Then
        TrackPopupMenu GetSystemMenu(459554, False), TPM_LEFTALIGN + TPM_LEFTBUTTON, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
    End If
End Sub

где, 459554- hwnd какого-то окна.

как теперь, после выбора пункта меню, передать значение выбранного пункта?
думаю что копать надо в сторону PostMessage но что именно ???

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.03.2005 (Ср) 10:46

шли WM_SYSCOMMAND
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 12

    TopList