none
Cambiar nombre de ventana de windows

    Question

  • Buenas.

     

    Cómo puedo hacer, que en un proceso, por ejemplo del click del un boton, cambiarle el nombre a una ventana de windows?

     

    Tengo algo parecido en C++ pero lo necesito en VB.net.

    1. #include <windows>  
    2. #include <iostream>  
    3.  
    4. using namespace std;  
    5.  
    6. int main(int argc, char *argv[])  
    7. {  
    8.     HWND Proceso;  
    9.     char aux[1000];  
    10.     cout << "Introduce nombre de ventana a modificar: ";  
    11.     cin.getline(aux,1000);  
    12.     Proceso = FindWindow(NULL, aux);  
    13.     cout << "Introduce nuevo nombre de la ventana: ";  
    14.     cin.getline(aux,1000);  
    15.     SetWindowText(Proceso, aux); // Cambiar nombre de la ventana  
    16.     Proceso = 0;  
    17.     return 0;  
    18. }  

     

    Saturday, November 19, 2011 11:13 PM

Answers

  • Buenas.

     

    Cómo puedo hacer, que en un proceso, por ejemplo del click del un boton, cambiarle el nombre a una ventana de windows?

     

    Tengo algo parecido en C++ pero lo necesito en VB.net.

     

    1. #include <windows>  
    2. #include <iostream>  
    3.  
    4. using namespace std;  
    5.  
    6. int main(int argc, char *argv[])  
    7. {  
    8.     HWND Proceso;  
    9.     char aux[1000];  
    10.     cout << "Introduce nombre de ventana a modificar: ";  
    11.     cin.getline(aux,1000);  
    12.     Proceso = FindWindow(NULL, aux);  
    13.     cout << "Introduce nuevo nombre de la ventana: ";  
    14.     cin.getline(aux,1000);  
    15.     SetWindowText(Proceso, aux); // Cambiar nombre de la ventana  
    16.     Proceso = 0;  
    17.     return 0;  
    18. }  

     

     

    bueno!!!... yo no programo en C++ pero si he aprendido a leer código y según el ejemplo que pasas yo lo veo bien claro... tienes que usar las funciones de windows FindWindow y SetWindowText

    ejemplo:

    Imports System.Runtime.InteropServices
    
    Public Class Form1
    
        <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Private Shared Function SetWindowText(ByVal hwnd As IntPtr, ByVal lpString As String) As Boolean
        End Function
        <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
        End Function
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim HWND As IntPtr = FindWindow(Nothing, "Calculator")
            If Not HWND = IntPtr.Zero Then
                If SetWindowText(HWND, "Prueba") Then
                    MessageBox.Show("Texto cambiado")
                End If
            End If
        End Sub
    End Class
    


    create un formulario, agregas un boton y en el evento Click del boton agregas el codigo que esta dentro de Button1_Click, pero primero deberas de abrir la calculadora de windows y!!!!... si tu windows es en español tendras que colocar el titulo de la ventana a buscar en español "Calculadora"

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    Sunday, November 20, 2011 12:41 AM
    Moderator

All replies

  • pero c++ que tiene que ver con .net

    en vb.net tienes un formulario al cual acceder directo

     

    Private Sub button1_Click(..)

       Me.Text = "Nombre de la ventana"

    End Sub

     

    ademas ese codigo que has puesto correesponde a una aplciacion de consola, no una winforms

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Saturday, November 19, 2011 11:31 PM
  • Me explico mejor Leandro:

     

    Tengo la aplicación "calc.exe".

    El título de la ventana es"Calculadora".

    Mediante el ejemplo que te mostré (se que es en consola), se me pide a qué aplicación se le quiere cambiar el nombre y qué nombre se le quiere poner.

     

    Quiero hacer algo parecido en VB.NET.

    Saturday, November 19, 2011 11:48 PM
  • Buenas.

     

    Cómo puedo hacer, que en un proceso, por ejemplo del click del un boton, cambiarle el nombre a una ventana de windows?

     

    Tengo algo parecido en C++ pero lo necesito en VB.net.

     

    1. #include <windows>  
    2. #include <iostream>  
    3.  
    4. using namespace std;  
    5.  
    6. int main(int argc, char *argv[])  
    7. {  
    8.     HWND Proceso;  
    9.     char aux[1000];  
    10.     cout << "Introduce nombre de ventana a modificar: ";  
    11.     cin.getline(aux,1000);  
    12.     Proceso = FindWindow(NULL, aux);  
    13.     cout << "Introduce nuevo nombre de la ventana: ";  
    14.     cin.getline(aux,1000);  
    15.     SetWindowText(Proceso, aux); // Cambiar nombre de la ventana  
    16.     Proceso = 0;  
    17.     return 0;  
    18. }  

     

     

    bueno!!!... yo no programo en C++ pero si he aprendido a leer código y según el ejemplo que pasas yo lo veo bien claro... tienes que usar las funciones de windows FindWindow y SetWindowText

    ejemplo:

    Imports System.Runtime.InteropServices
    
    Public Class Form1
    
        <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Private Shared Function SetWindowText(ByVal hwnd As IntPtr, ByVal lpString As String) As Boolean
        End Function
        <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
        End Function
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim HWND As IntPtr = FindWindow(Nothing, "Calculator")
            If Not HWND = IntPtr.Zero Then
                If SetWindowText(HWND, "Prueba") Then
                    MessageBox.Show("Texto cambiado")
                End If
            End If
        End Sub
    End Class
    


    create un formulario, agregas un boton y en el evento Click del boton agregas el codigo que esta dentro de Button1_Click, pero primero deberas de abrir la calculadora de windows y!!!!... si tu windows es en español tendras que colocar el titulo de la ventana a buscar en español "Calculadora"

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    Sunday, November 20, 2011 12:41 AM
    Moderator
  • Listo! Gracias Marvin.
    Sunday, November 20, 2011 12:57 AM