Weno, supongamos que quiero cambiar el nombre de una ventana actica del Mozilla en VB.....existe alfuna API para ahcere esto???
Salu2
Hendrix
Mira estas Apis:
Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Pero primero, tienes que obtener el Handle de la Ventana a modificar, para hacer esto, usa esta Apis:
Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
Esta buena la idea de cambiar el nombre ala ventana.
Te ayudo con la api de setwindowtext
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Sub Form_Activate()
Dim MyStr As String
MyStr = String(100, Chr$(0))
GetWindowText Me.hwnd, MyStr, 100
MyStr = Left$(MyStr, InStr(MyStr, Chr$(0)) - 1)
MyStr = MyStr + MyStr + MyStr
SetWindowText Me.hwnd, MyStr
End Sub
Suponiendo que la ventana que queremos cambiar se llama MSN Messenger (el msn...) podrias usar este
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Sub Command1_Click()
Dim Ret As Long
Ret = FindWindow(vbNullString, "MSN Messenger")
SetWindowText Ret, "Prueba"
End Sub
Espero que te sirva, saludos.
(esta provado).-
Me va de P.M.... ;) ;) ;)
Salu2 y Gracias ;) ;)
Una ultima kosa...komo kapturo el nombre de la ventana activa???
Tengo un kode...pero para lso nombre que kontienen guieon ( - ) no funciona.... :-\ :-\ :-\
Salu2 y gracias... ;) ;)
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private sub Command1_Click ()
Dim Ret As Long
Dim Titulo As String
Titulo = String(100, Chr(0))
Ret = GetForegroundWindow
GetWindowText Ret, Titulo, 100
MsgBox Titulo
end sub
Saludos.-