Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: s_azazel en 24 Mayo 2012, 19:40 pm



Título: problema con EnumWindows
Publicado por: s_azazel en 24 Mayo 2012, 19:40 pm
Estoy intentando numerar las ventanas que tengo activas...

Este es el codigo que tengo:

Código
  1. Option Explicit On
  2. Public Class Form1
  3.  
  4.    Public Declare Function EnumWindows Lib "user32" _
  5.    (ByVal lpEnumFunc As Long, _
  6.     ByVal lParam As Long) As Long
  7.  
  8.  
  9.  
  10.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  11.  
  12.        Call EnumWindows(AddressOf EnumWindowProc, &H0)
  13.  
  14.    End Sub
  15.  
  16.  Public Function EnumWindowProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
  17.  
  18. EnumWindowProc=1
  19.  
  20.  
  21. End function
  22.  
  23. End Class

Pero la linea de la llamada a EnumWindows me da este error

"Una expresión 'AddressOf' no se puede convertir en 'Long' debido a que 'Long' no es un tipo delegado"


Sabeis a que se puede deber???
 Muchas gracias me estoy volviendo loco :(


Título: Re: problema con EnumWindows
Publicado por: raul338 en 24 Mayo 2012, 20:01 pm
Eso es porque estas usando visual basic .net, e intentas aplicar codigo que corresponde a visual basic 6.

O usas visual basic 6, o usas la API con delegados y de forma administrada

pInvoke - EnunWindows (http://www.pinvoke.net/default.aspx/user32.enumwindows) en .net