Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите что возвращает эти строчки 
:(
    Опции темы
transparent
Дата 10.6.2011, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.5.2011

Репутация: нет
Всего: нет



Сначала подумал что заголовки окон...Но в листбокс попадают и не понятные строки, окна какие то о коих и не знал
Код

 Declare Auto Function GetWindowText Lib "user32.dll" Alias "GetWindowTextW" (ByVal hwnd As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer
    Declare Auto Function EnumWindows Lib "user32" (ByVal lpEnumFunc As EWProc, ByVal lParam As Integer) As Integer
    Delegate Function EWProc(ByVal hwnd As Integer, ByVal lParam As Integer) As Boolean


    Function EnumWindowsProc(ByVal hwnd As Integer, ByVal lParam As Integer) As Boolean
        Dim capt As New String(New Char, 255)
        Dim lenC As Integer
        lenC = GetWindowText(hwnd, capt, 255)
        If capt.Equals(Nothing) = False Then
            ListBox1.Items.Add(capt)
        End If
        EnumWindowsProc = True
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.EnumWindows(AddressOf EnumWindowsProc, 0)
    End Sub


Добавлено через 1 минуту и 39 секунд
и как правильно? так 
Код

Alias "GetWindowTextA"


или 
Код

Alias "GetWindowTextW"

PM MAIL   Вверх
transparent
Дата 10.6.2011, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.5.2011

Репутация: нет
Всего: нет



Если окончание на А то какие то сплошные каретки или что это не понятно...Если W то нормально, а в инете все декларации с А..странно, даже если убрать вовсе последнюю букву то тоже норм...Почему так?

Добавлено через 4 минуты и 32 секунды
тупо но можно альяс и вовсе убрать, но как то не безопасно, да?
Код

Declare Auto Function GetWindowText Lib "user32.dll" (ByVal hwnd As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer


Добавлено через 7 минут и 56 секунд
Видимо для этих дел тут и стоит ключевое слово Авто
PM MAIL   Вверх
transparent
Дата 10.6.2011, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.5.2011

Репутация: нет
Всего: нет



а вот так все нормалек(по старинке наверно)
Код

Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer

а если вставить W  то закорюки

Добавлено через 50 секунд
видать есть 2 такие функции в этой библе, одна с а другая с даблю

Добавлено через 5 минут и 27 секунд
сори есть флужу, вот последний раз выложу свои выводы smile

Код

 'Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer
    'Declare Auto Function GetWindowTextW Lib "user32.dll" (ByVal hwnd As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer
    Declare Function GetWindowTextA Lib "user32.dll" (ByVal hwnd As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer

    Declare Auto Function EnumWindows Lib "user32" (ByVal lpEnumFunc As EWProc, ByVal lParam As Integer) As Integer
    Delegate Function EWProc(ByVal hwnd As Integer, ByVal lParam As Integer) As Boolean

    Function EnumWindowsProc(ByVal hwnd As Integer, ByVal lParam As Integer) As Boolean
        Dim capt As New String(New Char, 255)
        Dim lenC As Integer
        lenC = GetWindowTextA(hwnd, capt, 255) 'A 'W
        If capt.Equals(Nothing) = False Then
            ListBox1.Items.Add(capt)
        End If
        EnumWindowsProc = True
    End Function

    Dim listbox1 As New ListBox

    Public Sub New()
        ' Этот вызов необходим конструктору форм Windows.
        InitializeComponent()
        listbox1.Dock = DockStyle.Fill
        Me.Controls.Add(listbox1)
        ' Добавьте все инициализирующие действия после вызова InitializeComponent().
        Form1.EnumWindows(AddressOf EnumWindowsProc, 0)

    End Sub

Так сказать свои способы ....



Но все таки жду объяснений, а то я плох понимаю в этом

Добавлено через 7 минут и 8 секунд
а, да, а про что возвращает вопрос и забылsmile так что он возвращает подскажите
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0720 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.