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 - Eleкtro

#941
Cita de: Machacador en 24 Mayo 2018, 13:26 PM
Malvados padres americanos que desde los 18 años expulsan a sus muchachos de la casa como lo hacen los pájaros con sus polluelos que apenas les salen las plumas y medio pueden volar los echan del nido... por eso es que ese país está en decadencia y se dirige a la ruina desde su fundación... como puede tener progreso una sociedad con esa actitud hacia sus hijos???...

:rolleyes: :o :rolleyes:

Saludos.

¿En serio ese es tu argumento para defender la mierd@ de sociedad yankee?. No se si como amante de los animales sabrás que de cada 10 pájaros con suerte sobrevive 1 o 2 cuando su madre les hecha del nido y se empiezan a tirar todos desde el precipicio de la montaña en caida libre para que aprendan a "volar"... por no decir que se tiran en plancha y si tienen la suerte de caer con la panza para amortiguar el impacto, viven, y sino pos se rebientan la cabeza... por que su buena madre les ha enviado a todos a un destino que para muchos será mortal. ¡qué próspera "sociedad" la de las aves!.

Si, sin duda lo de los pájaros es todo un buen ejemplo a seguir para crear una sociedad perfecta para la humanidad, enviar a nuestros hijos a la muerte casi segura o a un futuro muy negro para ellos... aunque podamos ayudarle mejor no hacerlo, que se busquen la vida, ¿a que padre le debería importar el futuro de su hijo y sentirse algo responsable?. en fin Machacador...

Los humanos tenemos dinero por alas, es lo que nos permite sobrevivir a esa caida en picado desde el pico de la montaña, y con $1.000 dudo mucho que ese muchacho yankee vaya a sobrevivir en las calles de NY... sus padres probablemente sean conscientes de ello, así que malos padres por que saben que su hijo va a sufrir sin poder encontrar trabajo y encima sin tener un sitio al que poder llamar hogar... por que ellos le han hechado.

PD: ya en serio, tengo mucha curiosidad por que este tipo de comentarios/argumentos tan frecuentes no me parece algo normal y acabo algo irritado de ver como "los americanos lo hacen todo bien", permíteme preguntarte: ¿por qué leches admiras tanto a los estadounidenses?, ¿qué han hecho ellos por ti?, es que no entiendo tanta admiración desmesurada, de verdad.

Saludos
#942
GENERAR UNA FECHA ALEATORIA, EN UN RANGO ESPECÍFICO.

Sencillos pero prácticos miembros para generar fechas aleatorias. Le encontrarán alguna utilidad.

Código (vbnet) [Seleccionar]
   
   ''' ----------------------------------------------------------------------------------------------------
   ''' <summary>
   ''' Contains date and time related utilities.
   ''' </summary>
   ''' ----------------------------------------------------------------------------------------------------
   <ImmutableObject(True)>
   Public NotInheritable Class DateTimeUtil

#Region " Private Fields "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' A <see cref="Random"/> instance to generate random secuences of numbers.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       Private Shared rng As Random

#End Region

#Region " Constructors "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Prevents a default instance of the <see cref="DateTimeUtil"/> class from being created.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerNonUserCode>
       Private Sub New()
       End Sub

#End Region

#Region " Public Methods "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets a random <see cref="Date"/> in range between the specified two dates.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim minDate As Date = Date.MinValue
       ''' Dim maxDate As Date = Date.MaxValue
       ''' Dim ramdomDate As Date = GetRandomDateTime(minDate, maxDate)
       '''
       ''' Console.WriteLine(randomDate.ToString())
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <param name="dateMin">
       ''' The minimum <see cref="Date"/>.
       ''' </param>
       '''
       ''' <param name="dateMax">
       ''' The maximum <see cref="Date"/>.
       ''' </param>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <returns>
       ''' The resulting <see cref="Date"/>.
       ''' </returns>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Function GetRandomDateTime(ByVal dateMin As Date, ByVal dateMax As Date) As Date

           If (DateTimeUtil.rng Is Nothing) Then
               DateTimeUtil.rng = New Random(Seed:=Environment.TickCount)
           End If

           ' Generate random date with 00:00:00 time.
           Dim daysRange As Integer = dateMax.Subtract(dateMin).Days
           Dim dt As Date = dateMin.AddDays(DateTimeUtil.rng.Next(daysRange))

           ' Generate random time.
           Dim hours As Integer = DateTimeUtil.rng.Next(dateMax.TimeOfDay.Hours + 1)
           Dim minutes As Integer = DateTimeUtil.rng.Next(dateMax.TimeOfDay.Minutes + 1)
           Dim seconds As Integer = DateTimeUtil.rng.Next(dateMax.TimeOfDay.Seconds + 1)
           Dim milliseconds As Integer = DateTimeUtil.rng.Next(dateMax.TimeOfDay.Milliseconds + 1)

           ' Return the resulting date.
           Return New Date(dt.Year, dt.Month, dt.Day, hours, minutes, seconds, milliseconds, dt.Kind)

       End Function

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets a random <see cref="Date"/> in range between <see cref="DateTime.MinValue"/> and the specified date.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim maxDate As Date = Date.MaxValue
       ''' Dim ramdomDate As Date = GetRandomDateTime(maxDate)
       '''
       ''' Console.WriteLine(randomDate.ToString())
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <param name="dateMax">
       ''' The maximum <see cref="Date"/>.
       ''' </param>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <returns>
       ''' The resulting <see cref="Date"/>.
       ''' </returns>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Function GetRandomDateTime(ByVal dateMax As Date) As Date
           Return DateTimeUtil.GetRandomDateTime(Date.MinValue, dateMax)
       End Function

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets a random <see cref="Date"/> in range between <see cref="DateTime.MinValue"/> and <see cref="DateTime.MaxValue"/>.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim ramdomDate As Date = GetRandomDateTime()
       '''
       ''' Console.WriteLine(randomDate.ToString())
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <returns>
       ''' The resulting <see cref="Date"/>.
       ''' </returns>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Function GetRandomDateTime() As Date
           Return DateTimeUtil.GetRandomDateTime(Date.MinValue, Date.MaxValue)
       End Function

#End Region

   End Class
#943
Foro Libre / Re: CCleaner
24 Mayo 2018, 03:30 AM
Cita de: El_Andaluz en 24 Mayo 2018, 02:32 AM
Yo tengo el CLleaner la versión 5.26 64BIT y de momento me va bien no me ha salido nada raro que habéis comentado en otro post y me funciona.

Normal, es que el supuesto error ocurre a partir de la versión 5.42. :P

De todas formas el error no le ocurre a todo el mundo, yo por ejemplo no sufro ningún error extraño con la versión 5.42, y la 5.43 no la he instalado, todavía.

Por si sirve de algo, diré que utilizo la versión 5.42 de 64 bits en Windows 10 (Fall Creators Update) y la misma versión pero de 32 bits en una máquina virtual con Windows 7 x86.

saludos!
#944
Cita de: okik en 24 Mayo 2018, 01:31 AM
yo vaticino un futuro muy negro para Catalunya. Ya van a multar por quitar lazos amarillos o símbolos a favor del movimiento independentista.

No estoy seguro pero yo diría que no pueden multar por que eso iría contra la ley, o contra la libertad, el derecho de expresión. Vamos a ver, lo que está claro es que la calle es de todos los ciudadanos, si un retrasado separatista catalán pone un lazito amarillo o un cartel de pressos politics en una farola, pues vale, está en su derecho, pero otro ciudadano tiene el mismo derecho de quitar esa basura separatista si le sale de las narices, otra cosa bien distinta es que a dicho ciudadano le acosen, insulten y apaleen los subnormales separatas por quitar lazitos y etc... como ocurre siempre que aparece algún valiente héroe anónimo que les planta cara de forma pacífica, y acaba agredido o acosado de forma violenta por la intolerancia de los indepententistas.

Pero bueno, no me extrañaría nada que el gobierno catalán hiciera polémica y amenazas con eso de empezar a poner multas, por que eso es lo que buscan, polémica del independentismo, pero no creo que puedan hacer nada más allá legálmente... aunque estaría bien que alguien con mejor conocimiento de las leyes y la constitución y etc. pudiera confirmarnos si realmente pueden multar por eso, o no. (¿#!drvy?)

saludos
#945
Cita de: #!drvy en 23 Mayo 2018, 01:57 AM
https://www.youtube.com/watch?v=qv5dAqSS0XU

https://www.youtube.com/watch?v=grNHY9MfxLA

xD

Saludos

Vaya, por lo que veo en esos videos Maduro es un manipulador profesional, y además de verdad, profesional; solo un psicópata puede llegar a manipular a masas de personas con esas palabras tan cuidadosamente escogidas y conseguir que algunos le admiren y le aplaudan por ello... en fin, tanta falsedad da asco. Quien piense que solamente se trata de un viejo medio loco que chochea con un mundo de pajaritos que le hablan, es que no tiene demasiadas luces en la cabeza como para ver lo obvio de sus verdaderas intenciones...

Da miedito ver sus intentos de adoctrinamiento, son igual o peor que los de la CUP y todo el resto de bazofia catalanazi de Cataluña, España.

Saludos
#946


Algún día alguien me tendrá que explicar la coña que hay con eso de Maduro y su "pajarito"... aunque me lo puedo imaginar.

saludos!
#947
Cita de: okik en 22 Mayo 2018, 01:09 AMEl mejor programa de Matemáticas que he probado y además está en Castellano (Español)

Bueno, de entrada debo aclarar que yo no tengo experiencia con el uso de este tipo de programas, pero por pura lógica estoy convencido de que existe una ifninidad de herramientas superiores en todos los aspectos al tal Derive, puesto que el tal Derive es un proyecto descontinuado, cuya última versión, Derive 6.1, fue lanzada en el año 2007, y eso supone once años de diferencia contra las prestaciones que puedan aportar las aplicaciones de hoy en día como pueda ser el caso de MatLab, sobre todo en el apartado visual, comodidad de uso, sofisticación a la hora de representar la información en la interfaz de usuario, y una gama más amplia de funcionalidades en general. Honéstamente la imagen que has puesto del programa huele a obsolescencia que tira p'atrás, la interfaz sin estilos de ventana... aunque entiendo que sea tu software favorito y le tengas mucho aprecio, pero siendo realistas está obsoleto.

Quise hacer este comentario para que el usuario decida que software usar, con la cabeza, puesto que un software descontinuado es sinónimo de problemas (bugs) que jamás serán corregidos por el autor, carencia de comunidades oficiales de ayuda y soporte, e inexistencia total de nuevas versiones que añadan mejoras al programa...

saludos!
#948
Vamos por partes...

Primeramente, el flag MOUSEEVENTF_MOVE lo que hace es mover la posición del mouse relativamente desde su posición actual, dicho de otro modo, lo que estás haciendo es deslizar la posición actual mediante los offsets que le especifiques al parámetro dX y dY... por eso se te va a la esquina inferior derecha, no estás usando coordenadas absolutas.

Para realizar un movimiento absoluto debes especificar el flag MOUSEEVENTF_ABSOLUTE, pero para poder usar la función de esa manera primero debes convertir las coordenadas absolutas como indica la documentación:

Cita de: MSDNIf MOUSEEVENTF_ABSOLUTE value is specified, dx and dy contain normalized absolute coordinates between 0 and 65,535. The event procedure maps these coordinates onto the display surface. Coordinate (0,0) maps onto the upper-left corner of the display surface, (65535,65535) maps onto the lower-right corner.

Ejemplo:

Código (vbnet) [Seleccionar]

<Flags>
Public Enum MouseEventFlags As UInteger
   Absolute = &H8000UI
   LeftDown = &H2UI
   LeftUp = &H4UI
   MiddleDown = &H20UI
   MiddleUp = &H40UI
   Move = &H1UI
   RightDown = &H8UI
   RightUp = &H10UI
   XDown = &H80UI
   XUp = &H100UI
   Wheel = &H800UI
   HWheel = &H1000UI
End Enum


Código (vbnet) [Seleccionar]
Friend NotInheritable Class NativeMethods

   <Obsolete>
   <SuppressUnmanagedCodeSecurity>
   <DllImport("User32.dll", EntryPoint:="mouse_event")>
   Friend Shared Sub MouseEvent(
  <MarshalAs(UnmanagedType.U4)> ByVal flags As MouseEventFlags,
                                ByVal x As UInteger,
                                ByVal y As UInteger,
                                ByVal data As UInteger,
                                ByVal extraInfo As UIntPtr)
   End Sub

End Class


Código (vbnet) [Seleccionar]
Dim pt As New Point(100, 100) ' Absolute position.

' Dim currentPosition As NativePoint
' NativeMethods.GetCursorPos(currentPosition)
' Dim scr As Screen = System.Windows.Forms.Screen.FromPoint(currentPosition)
Dim scr = System.Windows.Forms.Screen.PrimaryScreen

pt.X = ((pt.X * 65535) \ scr.Bounds.Width) + 1
pt.Y = ((pt.Y * 65535) \ scr.Bounds.Height) + 1

NativeMethods.MouseEvent(MouseEventFlags.Absolute Or MouseEventFlags.Move, pt.X, pt.Y, 0, UIntPtr.Zero)





Segundo, la función mouse_event lleva siglos marcada como obsoleta tras la aparición de la función SendInput, que es la que deberías usar para todo lo que concierna a la simulación de eventos del teclado y el mouse...

Un ejemplo de uso de SendInput para mover el mouse de forma absoluta, ya asumiendo que tengas todas las estructuras y miembros necesarios declarados en tu código (no voy a mostrar la implementación en .NET puesto que ocupa demasiado espacio para el post):

Código (vbnet) [Seleccionar]
Dim inputList As New List(Of Input)
Dim currentInput As New Input()

Dim pt As New Point(100, 100) ' Absolute position.
' Dim currentPosition As NativePoint
' NativeMethods.GetCursorPos(currentPosition)
' Dim scr As Screen = System.Windows.Forms.Screen.FromPoint(currentPosition)
Dim scr = System.Windows.Forms.Screen.PrimaryScreen

pt.X = ((pt.X * 65535) \ scr.Bounds.Width) + 1
pt.Y = ((pt.Y * 65535) \ scr.Bounds.Height) + 1

With currentInput
   .Type = InputType.Mouse
   .InputInfo.MouseInput.X = pt.X
   .InputInfo.MouseInput.Y = pt.Y
   .InputInfo.MouseInput.Flags = (MouseInputFlags.Absolute Or MouseInputFlags.Move)
   .InputInfo.MouseInput.Time = 0
End With
inputList.Add(currentInput)

Dim count As Integer = NativeMethods.SendInput(inputList.Count, inputList.ToArray(), Marshal.SizeOf(GetType(Input)))





Tercero y último, si tu único propósito es mover el mouse a unas coordenadas relativas o absolutas entonces te estás complicando la vida excesivamente, cuando simplemente puedes usar la función nativa SetCursorPos y de este modo evitar el tener que realizar tediosas transformaciones de coordenadas...

Código (vbnet) [Seleccionar]
<SuppressUnmanagedCodeSecurity>
<DllImport("User32.dll", SetLastError:=True)>
Public Shared Function SetCursorPos(ByVal x As Integer,
                                   ByVal y As Integer
) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function


Pero mucho mejor incluso es sin duda alguna usar diréctamente la propiedad System.Windows.Forms.Cursor.Position, y así evitar el uso de código no administrado por tu parte...
Código (vbnet) [Seleccionar]
Cursor.Position = New Point(100, 100) ' Absolute position.

...puesto que no hay necesidad de hacer lo que estás haciendo, del modo en que lo esás intentando hacer para el fin que quieres conseguir, no en .NET. Deberías usar los miembros que el framework ya expone para manipular la posición del mouse. Para eso están ahí.

Saludos.
#949
Añado:

Siempre puedes crear tus propios portables del programa que quieras (ya sea del MS Office, Fruity Loops, Photoshop, o cualquier otra aplicación por muchos archivos que expanda, drivers que instale y/o modificaciones que haga en el registro), con VMWare ThinApp o aplicaciones similares (como la de portableapps.com).

Saludos
#950
Cita de: rembolso en 19 Mayo 2018, 19:01 PMen caso de procesadores de texto, o en otros software no se puede, solo el texto se puede seleccionar pero no copiar.

Debes enumerar las ventanas de la aplicación (con la función EnumWindows / EnumChildWindows / EnumThreadWindows) para identificar la ventana que contiene el texto que desees copiar, con ello obienes el controlador de dicha ventana (o window handle), y entonces le puedes enviar el mensaje de ventana WM_GETTEXT mediante las funciones de mensajería de ventanas ( SendMessage, SendMessageTimeout o PostMessege) para obtener el texto, y por último utilizar la función (OpenClipboard +)SetClipboardData para establecer el texto del portapapeles de Windows.

Podrías reemplazar los dos últimos pasos enviando diréctamente el mensaje de ventana WM_COPY (en lugar de WM_GETTEXT + llamar a la función SetClipboardData).

Saludos.