Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MANULOMM

#151
Mira hay algo que se llaman los DELEGADOS.
los delegados son como formatos de firmas de metodos (o funciones en VB).

Threadstart es un delegado que pide como parametro un metodo que retorne void y no pida ningun parametro.

entonces cuando creas un Thread el pide en el constructor un ThreadStart o un ParametrizedThreadStar que es otro tipo de delegado el cual retorna void y pide un Object como parametro, delegados en .net hay muchos, es mas el control de eventos se basa en los delegados EventHandler<T>, cuando haces thdListener.Start() lo que ocurre es la ejecucion del delegado la cual APUNTA al metodo que le pasas como parametro al delegado (que no es mas que un apuntador a un metodo que cumple con la firma).
asi el objecto Thread no conoce el metodo que ejecuta (No conce la implementacion) pero si conoce la firma (parametros, retorno, nombre) lo cual es suficiente para ejecutarlo dinamicamente.

Los delegados son muy utilizados en .net.
Eventos,
Threading,
Lambda - Linq...

Espero te sirva.
Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#152
NO SE HACEN TAREAS.
Muestra algo de código. >:( >:( >:( >:(


Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#153
ps no conozco una clase en el framework que haga eso, yo croe que te toca buscar en la api del windows que con seguridad ahi si se encuentra e implementar tu propia clase para saberlo; pero desconozco cual api del win hace eso.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#154
.NET (C#, VB.NET, ASP) / Re: usar 2 treeview
3 Octubre 2009, 00:06 AM
es web o windows?
si es web es uy sencillo con un SQLDatasource que tome como parametro el objecto selccionado y realize la consulta.

si es windows yo lo haria con un Bindingsource y mendiante el FK (relacion) de la bd se llenaria automaticamente.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#155
para tu informacion el crystal reports no es de microsoft, las librerias vienen pero tienes que adicionarlas al toolbox, por que no utilizar el microsoft report viewer, este funciona local o conetado a un servidor de Reporting Services, si lo haces local lo unico que haces es adicionar al proyecto un rdpl y allli haces tu informe, los datos los puedes llevar de un DataSet. ;)

Atentamente,

Juan Manuel Lombana
Medellìn - Colombia
#156
.NET (C#, VB.NET, ASP) / Re: Crear Excell con C#
28 Septiembre 2009, 16:02 PM
tambien puedes consultar sobre OpenXML para office...

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#157
Cita de: raul338 en 18 Septiembre 2009, 01:44 AM
Cita de: Morph.C en 18 Septiembre 2009, 01:23 AM
En VB:

Código (vb) [Seleccionar]
Private Const PAGE_READWRITE As Long = &H4
Private Const MEM_RELEASE As Long = &H8000
Private Const MEM_COMMIT As Long = &H1000
Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
Private Const SYNCHRONIZE As Long = &H100000
Private Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
Private Const INFINITE As Long = &HFFFFFF

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long


Public Function Inyecta(RutaDll As String, Pid As Long) As Integer
Dim proc As Long
Dim nload As Long
Dim rems As Long
Dim longi As Long
Dim RemThread As Long
Dim Tid As Long

On Error GoTo Error
proc = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
rems = VirtualAllocEx(proc, 0, Len(RutaDll), MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory proc, ByVal rems, ByVal RutaDll, Len(RutaDll), longi
CreateRemoteThread proc, ByVal 0, 0, ByVal nload, ByVal rems, 0, Tid
WaitForSingleObject rems, INFINITE
CloseHandle proc
CloseHandle rems
Inyecta = 0
Exit Function
Error:
Inyecta = 1
End Function

'----------------------------------------------------------------------------------'

Private Sub Form_Load()
Dim ruta As Long
Dim resultado As Integer

ruta = Shell("notepad.exe")
resultado = Inyecta("C:\ladll.dll", ruta)

If resultado = 0 Then
MsgBox "Dll Inyectada con éxito!!!", , "Información"
Else
MsgBox "A ocurrido un error", vbCritical, "Información"
End If
End
End Sub


Wowww! en todos los lenguajes que se pueden no :P?

Pero y en C#  :-\?

Alguien tiene alguno  :xD?

Hasta luego :P.

ejem. Si lo tienes en vb, es facilmente convertible a .net (sea vb.net o C#), si sabes y usas un poquito de logica, lo sacas en seguida. Total, en vb.net un 90% del codigo seguira intacto ^^

EDIT: Para usar las APIs, busca la declaracion en www.pInvoke.net

como te atreves a decir eso.....


El framework te cambia radiclamente todo, que puedas hacer lo mismo de antes de forma parecida es algo muy diferente, pero hasta la administracion de memoria es toalemente diferente en .net, lo que debes hacer es  er que clases son las que te sirven para las tareas en vez de usar la APIS, ese es el objetivo del framewrok.


Atentamente,


Juan Manuel Lombana
Medellín - Colombia
#158
Si
C# Nivel 9


Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#159
.NET (C#, VB.NET, ASP) / Re: Simular click de raton
10 Septiembre 2009, 17:07 PM
para hacer el click debes invocar la API desafortunadamente, el metodo es SendInput de la dll user32.dll.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
#160
.NET (C#, VB.NET, ASP) / Re: Simular click de raton
10 Septiembre 2009, 17:03 PM
bueno para moverlo en el namespace System.Windows.Forms tienes la clase Cursor y la propiedad Position alli asignas un nuevo Point y le pasas las cordenadas, eso te lo mueve a cualquier parte de la pantalla para lo del click no lo he visto pero debe estar por ahi....

Código (csharp) [Seleccionar]


Cursor.Position = new Point(10,10);




Atentamente,

Juan Manuel Lombana
Medellín - Colombia