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...
¿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! :P
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
api FindWindow()
Por cierto, este no es el foro de .NET... Te has confundido. :silbar:
DoEvetns! :P
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