Cambiar el Nombre de una Ventana en VB

Iniciado por Hendrix, 2 Mayo 2006, 21:52 PM

0 Miembros y 1 Visitante están viendo este tema.

Hendrix

Weno, supongamos que quiero cambiar el nombre de una ventana actica del Mozilla en VB.....existe alfuna API para ahcere esto???

Salu2

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

.:CorTeX:.

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
Orgullosamente Colombiano



Robokop

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



NYlOn

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).-

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Hendrix

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... ;) ;)

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

NYlOn


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.-