Autor
|
Tema: hacer lo contrario, jugando con ventanas (Leído 4,205 veces)
|
usuario oculto
|
Dim notepadID As Integer ' Activate a running Notepad process. AppActivate("Untitled - Notepad") ' AppActivate can also use the return value of the Shell function. ' Shell runs a new instance of Notepad. notepadID = Shell("C:\WINNT\NOTEPAD.EXE", AppWinStyle.NormalFocus) ' Activate the new instance of Notepad. AppActivate(notepadID)
Este codigo hace que si no esta abierta esa ventana la ejecuta, quiero saber como hacer lo contrario, si está abierta la ventana por ejemplo "Untitled - Notepad" haga alguna acción que yo quiera como por ejemplo.... webbrowser, shell etc...
|
|
« Última modificación: 7 Abril 2011, 18:19 pm por mansan[a] »
|
En línea
|
Que le jodan a la salud mental! Fecha de registro: 16 Noviembre 2008, 17:38 años atrás users baneados
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
¿Algo así? Option Explicit Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long Private Const HWND_BOTTOM& = 1 Private Const SWP_NOSIZE& = &H1 Private Const SWP_SHOWWINDOW& = &H40 Private Const SWP_NOOWNERZORDER& = &H200 Private Sub Command1_Click() Call SetWindowPos(Me.hwnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOOWNERZORDER Or SWP_NOSIZE Or SWP_SHOWWINDOW) End Sub
DoEvents!
|
|
|
En línea
|
|
|
|
usuario oculto
|
algo mas así Option Explicit On Option Strict On Public Class Form1 Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Pasar el nombre de la ventana a buscar MsgBox(Buscar_Aplicacion("Sin título - bloc de notas", True)) End Sub Public Function Buscar_Aplicacion( _ ByVal titulo_ventana As String, _ ByVal bNombre_Exacto As Boolean) As Boolean ' nuevo objeto Process Dim p As New Process() Dim sName_Titulo As String = String.Empty ' recorrer la lista de procesos abiertos en la colección For Each p In Process.GetProcesses Try ' obtener con la propiedad MainWindowTitle del objeto Process ' el nombre de la ventana asociado a este proceso y comparar sName_Titulo = p.MainWindowTitle.ToLower ' comparar por la cadena completa If bNombre_Exacto Then If sName_Titulo = titulo_ventana.ToLower Then Return True ' Por la cadena parcial Else If sName_Titulo.Contains(titulo_ventana.ToLower) Then Return True End If Catch ex As Exception MsgBox(ex.Message.ToString) End Try Next End Function End Class
Que al ver que la ventana existe no salga msgbox si no por ejemplo.... shell ("lo que quiera) o cualquier otra cosa, lo estuve intentando hace unas semanas no he podido probar mas, no tengo ordenador. seria de gran ayuda
|
|
|
En línea
|
Que le jodan a la salud mental! Fecha de registro: 16 Noviembre 2008, 17:38 años atrás users baneados
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
api FindWindow()Por cierto, este no es el foro de .NET... Te has confundido. DoEvetns!
|
|
|
En línea
|
|
|
|
usuario oculto
|
jaja esque estaba en el ciber y le di copy paste ahi corriendo (igualmente en .net me seriviría pero se que no es el lugar) gracias por la info xD leeré sobre esa api.
Lo malo es que no tengo ordenador :s
|
|
« Última modificación: 7 Abril 2011, 20:30 pm por mansan[a] »
|
En línea
|
Que le jodan a la salud mental! Fecha de registro: 16 Noviembre 2008, 17:38 años atrás users baneados
|
|
|
|
|