| 
	
		|  Autor | Tema: Enviar mensaje a la consola  (Leído 11,962 veces) |  
	| 
			| 
					
						| CH4ØZ 
								
								 Desconectado 
								Mensajes: 108
								
								   | 
 
bueno tengo un problema usando FindWindow, ya que al parecer estoy cometiendo algun error que se me pasa por alto.
 despues de leer un poco y escribir varias veces el codigo no logro enviar un mensaje a la consola (DOS windows), desde mi programa.
 
 alguien me puede dar una mano por favor?
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 no me juzguen si no me conocen |  |  |  | 
			| 
					
						| [D4N93R] 
								Wiki  Desconectado 
								Mensajes: 1.646
								
								 
								My software never has bugs. Its just features!
								
								
								
								
								
								     | 
 
Puedes replantear tu pregunta por favor? No entiendo qué tiene que ver FindWindow con la consola? O también postea esa parte del código a ver si vemos el error.
 Un saludo!
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| CH4ØZ 
								
								 Desconectado 
								Mensajes: 108
								
								   | 
 
estuve leyendo sobre como enviar un texto a una aplicacion externa a la mia, y encontre que se hace con FindWindow, FindWindowEx y SendMessage o PostMessage. Tube la idea de enviar un mensaje a la consola de comandos de windows para ver si podia, pero al intentarlo no logre nada. aca algunos de los codigos con los que intente (ya que no recuerdo todos):         Dim hWnd As Long, tmp As Long        'forma 1:        For Each P As Process In Process.GetProcesses            If P.ProcessName = "Símbolo del sistema" Then                hWnd = P.MainWindowHandle            End If        Next        SendMessage(hWnd, WM_SETTEXT, 0, "texto")        'forma 2:        For Each P As Process In Process.GetProcesses            If P.ProcessName = "Símbolo del sistema" Then                tmp = P.MainWindowHandle            End If        Next        hWnd = GetWindow(tmp, 5)        SendMessage(hWnd, WM_SETTEXT, 0, "texto")        'forma 3:        hWnd = FindWindow(vbNullString, "Símbolo del sistema")        SendMessage(hWnd, WM_SETTEXT, 0, "texto")        'forma 4:        tmp = FindWindow(vbNullString, "Símbolo del sistema")        hWnd = GetWindow(tmp, 5)        SendMessage(hWnd, WM_SETTEXT, 0, "texto") 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 no me juzguen si no me conocen |  |  |  | 
			| 
					
						| CH4ØZ 
								
								 Desconectado 
								Mensajes: 108
								
								   | 
 
nadie sabe como puedo hacer esto? |  
						| 
								|  |  
								|  |  En línea | 
 
 no me juzguen si no me conocen |  |  |  | 
			| 
					
						| [D4N93R] 
								Wiki  Desconectado 
								Mensajes: 1.646
								
								 
								My software never has bugs. Its just features!
								
								
								
								
								
								     | 
 
Hay una forma más fácil, no se si te funcione, es algo así: [DllImport("user32.dll", EntryPoint = "FindWindow")]private static extern IntPtr FindWindow(string lp1, string lp2); [DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)][return: MarshalAs(UnmanagedType.Bool)]private static extern bool SetForegroundWindow(IntPtr hWnd); private void Test(){     //Una prueba con el notepad     IntPtr handle = FindWindow("Notepad", "Untitled - Notepad");     if (!handle.Equals(IntPtr.Zero))     {          if (SetForegroundWindow(handle))          {                SendKeys.Send("Hello World!");                SendKeys.Send("{ENTER}");           }                 }} 
 Lo que hace es activar a esa ventana, y enviar texto como si fuese del teclado. Si no, la forma en que tu lo planteas es algo así: private const int WM_SETTEXT = 0x000C;[DllImport("user32.dll")]private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("User32.dll")]private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindows);[DllImport("User32.dll")]private static extern Int32 SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, StringBuilder lParam); private void Test(){    IntPtr hWnd = FindWindow("Notepad", "Untitled - Notepad");    if (!hWnd.Equals(IntPtr.Zero))    {        IntPtr edithWnd = FindWindowEx(hWnd, IntPtr.Zero, "Edit", null);        if (!edithWnd.Equals(IntPtr.Zero))            SendMessage( edithWnd, WM_SETTEXT, IntPtr.Zero , new  StringBuilder("Hello World!"));    }} 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| CH4ØZ 
								
								 Desconectado 
								Mensajes: 108
								
								   | 
 
mira perdon que no sea tan bueno, pero no logro que el codigo funcione. lo pase a vb.net asi y no anda: Public Sub test()    Dim hWnd As Long    hWnd = FindWindow("Notepad", "Untitled - Notepad")    If hWnd.Equals(IntPtr.Zero) <> 0 Then        Dim edithWnd As Long = FindWindowEx(hWnd, IntPtr.Zero, "Edit", vbNull)        If edithWnd.Equals(IntPtr.Zero) <> 0 Then SendMessage(edithWnd, WM_SETTEXT, IntPtr.Zero, "Hello World!")    End IfEnd Sub 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 no me juzguen si no me conocen |  |  |  | 
			| 
					
						| [D4N93R] 
								Wiki  Desconectado 
								Mensajes: 1.646
								
								 
								My software never has bugs. Its just features!
								
								
								
								
								
								     | 
 
Te da algún mensaje de error o algo? |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| CH4ØZ 
								
								 Desconectado 
								Mensajes: 108
								
								   | 
 
puse un try aver si podia tener mas info, pero no.simplemente no envia el mensaje, compila perfecto :S
 |  
						| 
								|  |  
								|  |  En línea | 
 
 no me juzguen si no me conocen |  |  |  | 
			| 
					
						| [D4N93R] 
								Wiki  Desconectado 
								Mensajes: 1.646
								
								 
								My software never has bugs. Its just features!
								
								
								
								
								
								     | 
 
Con cualquier aplicación funciona bien, pero con la consola no, al parecer Windows no deja hacer eso.  Tiene los mensajes Protegidos, aún no le he encontrado solución   |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| CH4ØZ 
								
								 Desconectado 
								Mensajes: 108
								
								   | 
 
de ultima si no agregame al msn asi podriamos hablar mejor. mi idea era enviar un texto X a la consola, no importaba la forma, pero no logro hayar la solucion. mi msn es the_chaoz92@hotmail.com |  
						| 
								|  |  
								|  |  En línea | 
 
 no me juzguen si no me conocen |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | [c++]Code mensaje en consola vertical [Arreglado] Programación C/C++
 | anonimo12121 | 2 | 6,778 |  1 Marzo 2011, 16:33 pm por anonimo12121
 |  
						|   |   | Enviar mensaje sockets Programación C/C++
 | Stereo | 0 | 2,629 |  19 Noviembre 2011, 12:20 pm por Stereo
 |  
						|   |   | Validar ingreso correcto con mensaje en consola... .NET (C#, VB.NET, ASP)
 | DanielPy | 3 | 4,420 |  13 Mayo 2013, 19:37 pm por DanielPy
 |  
						|   |   | Mensaje personalizado modo consola en c# .NET (C#, VB.NET, ASP)
 | DanielPy | 2 | 2,879 |  18 Julio 2013, 17:58 pm por DanielPy
 |  
						|   |   | ¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola? .NET (C#, VB.NET, ASP)
 | Meta | 1 | 5,146 |  12 Junio 2019, 06:58 am por Meta
 |    |