Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: RHL en Noviembre 08, 2011, 02:56:29 pm

Título: Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: RHL en Noviembre 08, 2011, 02:56:29 pm
buenas tengo ese problema :/ no se como obtener el titulo de una ventana en japones
ya e probado con varios codigo obtengo los caracteres asi :  ????? ( el emoticono es ? x 3 )
y quiero obtener o hacer que mi aplicacion pueda leer y escribir caracteres de todos tipos
´pues  e probado tambien con GetWindowTextW y crei que me los devolveria pero mi resultado fue este:
 ? ? ? ? ?

como puedo hacer amigos?  :-\
Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: coco en Noviembre 08, 2011, 03:16:38 pm
en efecto, tenes que usar GetWindowTextW. pero para poder displayarlo, tambien necesitas apis Wide.
Usar un string te puede servir (tenes que usar el doble de caracteres de lo que realmente son), pero igualmente no lo podes mostrar en VB tan facil
Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: RHL en Noviembre 08, 2011, 03:59:58 pm
si, lo hago asi, pero los caracteres sigen asi  ? ? ? ? ? ?

Código: (vb) [Seleccionar]
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextW" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Sub Form_Load()
Dim CAD         As String

CAD = Space$(200)
Debug.Print GetWindowText(WHANDLE, CAD, 200)
End Sub
Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: seba123neo en Noviembre 08, 2011, 04:10:08 pm
son caracteres unicode por eso no los ves, para eso podes usar algo asi, fijate esta pregunta:

Caracteres Especiales en TextBox [Ayuda] (http://foro.elhacker.net/programacion_visual_basic/caracteres_especiales_en_textbox_ayuda-t300836.0.html)

Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: RHL en Noviembre 08, 2011, 05:26:58 pm
tiene algo rollo :/ bueno gracias ya vere como me arreglo con el codigo :)
Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: raul338 en Noviembre 08, 2011, 06:21:34 pm
Lo puedes obtener bien, pero no puedes imprimirlo sobre una ventana que es ANSI :P trata de copiarlo al portapapeles y pegalo en el Notepad++ y te saldra :P
Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: LeandroA en Noviembre 08, 2011, 08:48:23 pm
hola Otra codigo por si te interesa con el caption de formulario.

Código: (Vb) [Seleccionar]
Private Declare Function DefWindowProc Lib "USER32" Alias "DefWindowProcW" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Const WM_SETTEXT        As Long = &HC
Private Const WM_GETTEXT        As Long = &HD
Private Const WM_GETTEXTLENGTH  As Long = &HE

Public Property Let CaptionW(ByVal NewValue As String)
    DefWindowProc Me.hwnd, WM_SETTEXT, 0, ByVal StrPtr(NewValue)
End Property

Public Property Get CaptionW() As String
    Dim strLen As Long
    strLen = DefWindowProc(Me.hwnd, WM_GETTEXTLENGTH, 0, ByVal 0)
    CaptionW = Space(strLen)
    DefWindowProc Me.hwnd, WM_GETTEXT, Len(CaptionW) + 1, ByVal StrPtr(CaptionW)
End Property
Título: Re:Como Obtener el Texto de una Ventana en Japones? :P
Publicado por: RHL en Noviembre 09, 2011, 06:13:25 pm
Mil gracias lo guardo ;)