CLASSNAME DETETAR

USUARIO.EXCLUIDOS 09/12/2006 22:42:48
#189064
Boas!
Estou fazendo um programa para gerir aplicações externas (janelas) de um engine.


Eu fiz o codigo para obter a className das janelas onde o cursor para.
Mas eu gostaria de usar esse codigo para detetar se existe alguma janela com a className de "engine11", não sendo preciso passar com o cursor sobre a janela.

Resumindo, o meu objectivo é detetar se ha alguma janela com o nome de "engine11" e se houver, quero que o meu programa tome determinada atitude.
Nota:Quem diz nome diz ClassName

Obrigado!! ;)

O codigo que estou a usar para ver as APIs abaixo do cursor é:

  
'This program tracks on wich program the cursor is located



Private Declare Function CloseWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, _
ByVal yPoint As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _
(ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
Private gStop As Boolean


[c]Private Sub Command1_Click()
Dim mousePT As POINTAPI
Dim prevWindow As Long
Dim curWindow As Long
Dim X As Long
Dim Y As Long
Dim className As String
Dim retValue As Long
If Command1.Caption = "Start" Then
Command1.Caption = "Stop"
gStop = False
prevWindow = 0
Do
If gStop = True Then Exit Do
Call GetCursorPos(mousePT)
X = mousePT.X
Y = mousePT.Y
curWindow = WindowFromPoint(X, Y)
If X = 0 And Y = 0 Then
''IGNORE THIS LINE, NOT USEDCloseWindow curWindow 'Disable this of you don't want the window to be minimized
End If
If curWindow <> prevWindow Then
className = String$(256, " ")
prevWindow = curWindow
retValue = GetClassName(curWindow, className, 255)
className = Left$(className, InStr(className, vbNullChar) - 1)
If className = "SysListView32" Then
Label1.Caption = "The mouse is over the desktop."
Else
Label1.Caption = "The mouse is over " & className
End If
End If
DoEvents
Loop
Else
Command1.Caption = "Start"
gStop = True
End If
End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
gStop = True
End Sub


Private Sub Form_Resize()
Command1_Click
End Sub


Private Sub Label1_Click()
End
End Sub

[/c]
LCSD 10/12/2006 19:07:07
#189137
Rotina também utilizada para rastrear SENHAS de bancos via TECLADO VIRTUAL.

2 Tópicos seus podem ser classificados como suspeitos, favor não continuar neste caminho
Tópico encerrado , respostas não são mais permitidas