SendMessage

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

oskolok_vatbI
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 07.07.2007 (Сб) 16:13
Откуда: г. Казань

SendMessage

Сообщение oskolok_vatbI » 22.04.2008 (Вт) 13:28

Для отправки текста в другое окно использую SendMessage:
Код: Выделить всё
SendMessage(hWin, &HC, 0, sText)

В VB6 вроде можно было просто выставить нужный текст в последний параметр, в VB2008 это не работает.
Правильно ли я понял, что текст надо преобразовать в Byte ? И если да то как это сделать ? Спасибо.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 22.04.2008 (Вт) 14:03

Правильно ли я понял, что текст надо преобразовать в Byte ?
Нет, ты понял не правильно.

Код: Выделить всё
  Declare Auto Function SendMessage Lib "user32" ( _
  ByVal hWnd As IntPtr, _
  ByVal Msg As Integer, _
  ByVal WParam As Integer, _
  ByVal LParam As String) As Integer

  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    SendMessage(Me.Handle, &HC, 0, "AnyText")
  End Sub
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

ACiD
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 261
Зарегистрирован: 10.12.2005 (Сб) 2:29
Откуда: г. Санкт - Петербург

Сообщение ACiD » 22.04.2008 (Вт) 14:10

Код: Выделить всё
com.ms.win32.User32.SendMessage(hWin, sText, &HC, 0)

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 22.04.2008 (Вт) 14:36

ACiDXX писал(а):com.ms.win32.User32.SendMessage(hWin, sText, &HC, 0)
Интересно... А что, в 2008 студии это уже открытая функция?

И ты перепутал параметры.
MSDN писал(а):
Код: Выделить всё
lResult = SendMessage(    // returns LRESULT in lResult
(HWND) hWndControl,       // handle to destination control
(UINT) WM_SETTEXT,        // message ID     
(WPARAM) wParam,          // = (WPARAM) () wParam;   
(LPARAM) lParam           // = (LPARAM) () lParam; );


wParam
This parameter is not used.
lParam
Pointer to a null-terminated string that is the window text.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

oskolok_vatbI
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 07.07.2007 (Сб) 16:13
Откуда: г. Казань

Сообщение oskolok_vatbI » 22.04.2008 (Вт) 14:55

Nord777
Не работает. У тебя объявление как для VB2008, а использование точно такое же как и в VB6. Я так и пытался, не нравится ему просто текст в кавычках.

ACiDXX
Я даже не понял как этим пользоватся.

oskolok_vatbI
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 07.07.2007 (Сб) 16:13
Откуда: г. Казань

Сообщение oskolok_vatbI » 22.04.2008 (Вт) 18:30

Nord777 приношу извинения. Всему виной моя невнимательность, код прекрасно работает, большое спасибо.


Вернуться в Visual Basic .NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 113

    TopList