elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 [661] 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 ... 1236
6601  Sistemas Operativos / Windows / Re: Windows 8.1 Ayuda en: 26 Septiembre 2014, 01:40 am
Si es que... tanto echar la culpa a Windows y al final era por el cable SATA xD...

PD: Me sabe un poco mal que hayas comprado un LG, ya que al parecer te di esa recomendación y la seguiste, espero que pudieras devolver el dispositivo y recuperar ese dinerillo.

Saludos!
6602  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Ejemplo de un LL-Hook para el Mouse. en: 26 Septiembre 2014, 01:36 am
Hago este doble post (y perdón con antelación) para mostrar un ejemplo de uso, ya que no cabe más arriba.

Código
  1. Public Class Form1
  2.  
  3.    ''' <summary>
  4.    ''' A low level mouse hook that intercepts mouse events.
  5.    ''' </summary>
  6.    Friend WithEvents MouseEvents As New MouseHook(AutoStart:=False) With {.SuppressMouseUpEventWhenDoubleClick = False}
  7.  
  8.    ''' <summary>
  9.    ''' Handles the Load event of the Form1.
  10.    ''' </summary>
  11.    ''' <param name="sender">The source of the event.</param>
  12.    ''' <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
  13.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  14.  
  15.        ' Start the Mouse Hook.
  16.        Me.MouseEvents.[Start]()
  17.  
  18.    End Sub
  19.  
  20.    ''' <summary>
  21.    ''' Handles the FormClosing event of the Form1.
  22.    ''' </summary>
  23.    ''' <param name="sender">The source of the event.</param>
  24.    ''' <param name="e">The <see cref="FormClosingEventArgs"/> instance containing the event data.</param>
  25.    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) _
  26.    Handles MyBase.FormClosing
  27.  
  28.        ' Stop and free the Mouse Hook resources.
  29.        Me.MouseEvents.[Stop]()
  30.  
  31.    End Sub
  32.  
  33.    ''' <summary>
  34.    ''' Handles the 'MouseMove' event of the Mouse Hook.
  35.    ''' </summary>
  36.    ''' <param name="sender">The source of the event.</param>
  37.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  38.    Private Sub MouseEvents_MouseMove(ByVal sender As Object, ByVal MouseLocation As Point) _
  39.    Handles MouseEvents.MouseMove
  40.  
  41.        Debug.WriteLine(String.Format("Mouse Moved To: x={0}, y={1}",
  42.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  43.  
  44.    End Sub
  45.  
  46.    ''' <summary>
  47.    ''' Handles the 'MouseLeftDown' event of the MouseHook.
  48.    ''' </summary>
  49.    ''' <param name="sender">The source of the event.</param>
  50.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  51.    Private Sub MouseEvents_MouseLeftDown(ByVal sender As Object, ByVal MouseLocation As Point) _
  52.    Handles MouseEvents.MouseLeftDown
  53.  
  54.        Debug.WriteLine(String.Format("Mouse Left Down At: x={0}, y={1}",
  55.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  56.  
  57.    End Sub
  58.  
  59.    ''' <summary>
  60.    ''' Handles the 'MouseLeftUp' event of the Mouse Hook.
  61.    ''' </summary>
  62.    ''' <param name="sender">The source of the event.</param>
  63.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  64.    Private Sub MouseEvents_MouseLeftUp(ByVal sender As Object, ByVal MouseLocation As Point) _
  65.    Handles MouseEvents.MouseLeftUp
  66.  
  67.        Debug.WriteLine(String.Format("Mouse Left Up At: x={0}, y={1}",
  68.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  69.  
  70.    End Sub
  71.  
  72.    ''' <summary>
  73.    ''' Handles the 'MouseRightDown' event of the MouseHook.
  74.    ''' </summary>
  75.    ''' <param name="sender">The source of the event.</param>
  76.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  77.    Private Sub MouseEvents_MouseRightDown(ByVal sender As Object, ByVal MouseLocation As Point) _
  78.    Handles MouseEvents.MouseRightDown
  79.  
  80.        Debug.WriteLine(String.Format("Mouse Right Down At: x={0}, y={1}",
  81.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  82.  
  83.    End Sub
  84.  
  85.    ''' <summary>
  86.    ''' Handles the 'MouseRightUp' event of the Mouse Hook.
  87.    ''' </summary>
  88.    ''' <param name="sender">The source of the event.</param>
  89.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  90.    Private Sub MouseEvents_MouseRightUp(ByVal sender As Object, ByVal MouseLocation As Point) _
  91.    Handles MouseEvents.MouseRightUp
  92.  
  93.        Debug.WriteLine(String.Format("Mouse Right Up At: x={0}, y={1}",
  94.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  95.  
  96.    End Sub
  97.  
  98.    ''' <summary>
  99.    ''' Handles the 'MouseMiddleDown' event of the MouseHook.
  100.    ''' </summary>
  101.    ''' <param name="sender">The source of the event.</param>
  102.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  103.    Private Sub MouseEvents_MouseMiddleDown(ByVal sender As Object, ByVal MouseLocation As Point) _
  104.    Handles MouseEvents.MouseMiddleDown
  105.  
  106.        Debug.WriteLine(String.Format("Mouse Middle Down At: x={0}, y={1}",
  107.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  108.  
  109.    End Sub
  110.  
  111.    ''' <summary>
  112.    ''' Handles the 'MouseMiddleUp' event of the Mouse Hook.
  113.    ''' </summary>
  114.    ''' <param name="sender">The source of the event.</param>
  115.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  116.    Private Sub MouseEvents_MouseMiddleUp(ByVal sender As Object, ByVal MouseLocation As Point) _
  117.    Handles MouseEvents.MouseMiddleUp
  118.  
  119.        Debug.WriteLine(String.Format("Mouse Middle Up At: x={0}, y={1}",
  120.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  121.  
  122.    End Sub
  123.  
  124.    ''' <summary>
  125.    ''' Handles the 'MouseLeftDoubleClick' event of the Mouse Hook.
  126.    ''' </summary>
  127.    ''' <param name="sender">The source of the event.</param>
  128.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  129.    Private Sub MouseEvents_MouseLeftDoubleClick(ByVal sender As Object, ByVal MouseLocation As Point) _
  130.    Handles MouseEvents.MouseLeftDoubleClick
  131.  
  132.        Debug.WriteLine(String.Format("Mouse Left Double-Click At: x={0}, y={1}",
  133.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  134.  
  135.    End Sub
  136.  
  137.    ''' <summary>
  138.    ''' Handles the 'MouseRightDoubleClick' event of the Mouse Hook.
  139.    ''' </summary>
  140.    ''' <param name="sender">The source of the event.</param>
  141.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  142.    Private Sub MouseEvents_MouseRightDoubleClick(ByVal sender As Object, ByVal MouseLocation As Point) _
  143.    Handles MouseEvents.MouseRightDoubleClick
  144.  
  145.        Debug.WriteLine(String.Format("Mouse Right Double-Click At: x={0}, y={1}",
  146.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  147.  
  148.    End Sub
  149.  
  150.    ''' <summary>
  151.    ''' Handles the 'MouseMiddleDoubleClick' event of the Mouse Hook.
  152.    ''' </summary>
  153.    ''' <param name="sender">The source of the event.</param>
  154.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  155.    Private Sub MouseEvents_MouseMiddleDoubleClick(ByVal sender As Object, ByVal MouseLocation As Point) _
  156.    Handles MouseEvents.MouseMiddleDoubleClick
  157.  
  158.        Debug.WriteLine(String.Format("Mouse Middle Double-Click At: x={0}, y={1}",
  159.                                      CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  160.  
  161.    End Sub
  162.  
  163.    ''' <summary>
  164.    ''' Handles the 'MouseWheel' event of the Mouse Hook.
  165.    ''' </summary>
  166.    ''' <param name="sender">The source of the event.</param>
  167.    ''' <param name="MouseLocation">Contains the mouse [X,Y] coordinates where the event fired.</param>
  168.    ''' <param name="WheelDirection">Contains the wheel direction (WheelUp or WheelDown).</param>
  169.    Private Sub MouseEvents_MouseWheel(ByVal sender As Object,
  170.                                       ByVal MouseLocation As Point,
  171.                                       ByVal WheelDirection As MouseHook.WheelDirection) _
  172.    Handles MouseEvents.MouseWheel
  173.  
  174.        Debug.WriteLine(String.Format("Mouse Whell ({0}) At: x={1}, y={2}",
  175.                                      WheelDirection.ToString, CStr(MouseLocation.X), CStr(MouseLocation.Y)))
  176.  
  177.    End Sub
  178.  
  179. End Class
  180.  
6603  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Ejemplo de un LL-Hook para el Mouse. en: 26 Septiembre 2014, 01:34 am
El código que posteé hace tiempo (en el primer mensaje de este hilo) tenia unos fallos de los que no me percaté, he estado actualizando y corrigiendo el código ya que va a formar parte de la aplicación que presentaré en el EHN-DEv.

Aquí les dejo el código actualizado, estoy seguro que a alguien le servirá ya que a muchos nos apasiona los global-system hooks para Keyloggers y demás :) :

Código
  1. ' ***********************************************************************
  2. ' Author           : Elektro
  3. ' Last Modified On : 09-25-2014
  4. ' ***********************************************************************
  5. ' <copyright file="MouseHook.vb" company="Elektro Studios">
  6. '     Copyright (c) Elektro Studios. All rights reserved.
  7. ' </copyright>
  8. ' ***********************************************************************
  9.  
  10. #Region " Instructions "
  11.  
  12. ' Go to page:
  13. ' Project > Properties > Debug
  14. '
  15. ' Then uncheck the option:
  16. ' "Enable the Visual Studio Hosting Process"
  17.  
  18. #End Region
  19.  
  20. #Region " Imports "
  21.  
  22. Imports System.ComponentModel
  23. Imports System.Reflection
  24. Imports System.Runtime.InteropServices
  25.  
  26. #End Region
  27.  
  28. #Region " MouseHook "
  29.  
  30. ''' <summary>
  31. ''' A low level mouse hook class that captures mouse events.
  32. ''' </summary>
  33. Friend NotInheritable Class MouseHook : Implements IDisposable
  34.  
  35. #Region " P/Invoke "
  36.  
  37.    ''' <summary>
  38.    ''' Platform Invocation methods (P/Invoke), access unmanaged code.
  39.    ''' This class does not suppress stack walks for unmanaged code permission.
  40.    ''' <see cref="System.Security.SuppressUnmanagedCodeSecurityAttribute"/>  must not be applied to this class.
  41.    ''' This class is for methods that can be used anywhere because a stack walk will be performed.
  42.    ''' MSDN Documentation: http://msdn.microsoft.com/en-us/library/ms182161.aspx
  43.    ''' </summary>
  44.    Protected NotInheritable Class NativeMethods
  45.  
  46. #Region " Methods "
  47.  
  48.        ''' <summary>
  49.        ''' Passes the hook information to the next hook procedure in the current hook chain.
  50.        ''' A hook procedure can call this function either before or after processing the hook information.
  51.        ''' For more info see here:
  52.        ''' http://msdn.microsoft.com/en-us/library/windows/desktop/ms644974%28v=vs.85%29.aspx
  53.        ''' </summary>
  54.        ''' <param name="idHook">
  55.        ''' This parameter is ignored.
  56.        ''' </param>
  57.        ''' <param name="nCode">
  58.        ''' The hook code passed to the current hook procedure.
  59.        ''' The next hook procedure uses this code to determine how to process the hook information.
  60.        ''' </param>
  61.        ''' <param name="wParam">
  62.        ''' The wParam value passed to the current hook procedure.
  63.        ''' The meaning of this parameter depends on the type of hook associated with the current hook chain.
  64.        ''' </param>
  65.        ''' <param name="lParam">
  66.        ''' The lParam value passed to the current hook procedure.
  67.        ''' The meaning of this parameter depends on the type of hook associated with the current hook chain.
  68.        ''' </param>
  69.        ''' <returns>
  70.        ''' This value is returned by the next hook procedure in the chain.
  71.        ''' The current hook procedure must also return this value.
  72.        ''' The meaning of the return value depends on the hook type.
  73.        ''' For more information, see the descriptions of the individual hook procedures.
  74.        ''' </returns>
  75.        <DllImport("user32.dll", CallingConvention:=CallingConvention.StdCall, CharSet:=CharSet.Auto)>
  76.        Friend Shared Function CallNextHookEx(
  77.               ByVal idHook As IntPtr,
  78.               ByVal nCode As Integer,
  79.               ByVal wParam As IntPtr,
  80.               ByVal lParam As IntPtr
  81.        ) As IntPtr
  82.        End Function
  83.  
  84.        ''' <summary>
  85.        ''' Installs an application-defined hook procedure into a hook chain.
  86.        ''' You would install a hook procedure to monitor the system for certain types of events.
  87.        ''' These events are associated either with a specific thread
  88.        ''' or with all threads in the same desktop as the calling thread.
  89.        ''' For more info see here:
  90.        ''' http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990%28v=vs.85%29.aspx
  91.        ''' </summary>
  92.        ''' <param name="idHook">
  93.        ''' The type of hook procedure to be installed.
  94.        ''' </param>
  95.        ''' <param name="lpfn">
  96.        ''' A pointer to the hook procedure.
  97.        ''' If the dwThreadId parameter is zero or specifies the identifier of a thread created by a different process,
  98.        ''' the lpfn parameter must point to a hook procedure in a DLL.
  99.        ''' Otherwise, lpfn can point to a hook procedure in the code associated with the current process.
  100.        ''' </param>
  101.        ''' <param name="hInstance">
  102.        ''' A handle to the DLL containing the hook procedure pointed to by the lpfn parameter.
  103.        ''' The hMod parameter must be set to NULL if the dwThreadId parameter specifies a thread created by
  104.        ''' the current process and if the hook procedure is within the code associated with the current process.
  105.        ''' </param>
  106.        ''' <param name="threadId">
  107.        ''' The identifier of the thread with which the hook procedure is to be associated.
  108.        ''' For desktop apps, if this parameter is zero, the hook procedure is associated
  109.        ''' with all existing threads running in the same desktop as the calling thread.
  110.        ''' </param>
  111.        ''' <returns>
  112.        ''' If the function succeeds, the return value is the handle to the hook procedure.
  113.        ''' If the function fails, the return value is NULL.
  114.        ''' </returns>
  115.        <DllImport("user32.dll", CallingConvention:=CallingConvention.StdCall, CharSet:=CharSet.Auto)>
  116.        Friend Shared Function SetWindowsHookEx(
  117.               ByVal idHook As HookType,
  118.               ByVal lpfn As LowLevelMouseProcDelegate,
  119.               ByVal hInstance As IntPtr,
  120.               ByVal threadId As UInteger
  121.        ) As IntPtr
  122.        End Function
  123.  
  124.        ''' <summary>
  125.        ''' Removes a hook procedure installed in a hook chain by the 'SetWindowsHookEx' function.
  126.        ''' For more info see here:
  127.        ''' http://msdn.microsoft.com/en-us/library/windows/desktop/ms644993%28v=vs.85%29.aspx
  128.        ''' </summary>
  129.        ''' <param name="idHook">
  130.        ''' A handle to the hook to be removed.
  131.        ''' This parameter is a hook handle obtained by a previous call to SetWindowsHookEx.
  132.        ''' </param>
  133.        ''' <returns>
  134.        ''' If the function succeeds, the return value is nonzero.
  135.        ''' If the function fails, the return value is zero.
  136.        ''' </returns>
  137.        <DllImport("user32.dll", CallingConvention:=CallingConvention.StdCall, CharSet:=CharSet.Auto)>
  138.        Friend Shared Function UnhookWindowsHookEx(
  139.               ByVal idHook As IntPtr
  140.        ) As Boolean
  141.        End Function
  142.  
  143.        ''' <summary>
  144.        ''' Retrieves the current double-click time for the mouse.
  145.        ''' A double-click is a series of two clicks of the mouse button,
  146.        ''' the second occurring within a specified time after the first.
  147.        ''' The double-click time is the maximum number of milliseconds that may occur
  148.        ''' between the first and second click of a double-click.
  149.        ''' The maximum double-click time is 5000 milliseconds.
  150.        ''' </summary>
  151.        ''' <returns>
  152.        ''' The return value specifies the current double-click time, in milliseconds.
  153.        ''' The maximum return value is 5000 milliseconds.
  154.        ''' </returns>
  155.        <DllImport("user32.dll", CharSet:=CharSet.Auto)>
  156.        Friend Shared Function GetDoubleClickTime() As Integer
  157.        End Function
  158.  
  159. #End Region
  160.  
  161. #Region " Enumerations "
  162.  
  163.        ''' <summary>
  164.        ''' Indicates a type of Hook procedure to be installed.
  165.        ''' MSDN Documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990%28v=vs.85%29.aspx
  166.        ''' </summary>
  167.        <Description("Enum used in 'idHook' parameter of 'SetWindowsHookEx' function")>
  168.        Friend Enum HookType As Integer
  169.  
  170.            ' **************************************
  171.            ' This enumeration is partially defined.
  172.            ' **************************************
  173.  
  174.            ''' <summary>
  175.            ''' Installs a hook procedure that monitors low-level mouse input events.
  176.            ''' For more information, see the LowLevelMouseProc hook procedure.
  177.            ''' </summary>
  178.            WH_MOUSE_LL = 14I
  179.  
  180.        End Enum
  181.  
  182. #End Region
  183.  
  184. #Region " Structures "
  185.  
  186.        ''' <summary>
  187.        ''' Contains information about a low-level mouse input event.
  188.        ''' MSDN Documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644970%28v=vs.85%29.aspx
  189.        ''' </summary>
  190.        <Description("Structure used in 'lParam' parameter of 'CallNextHookEx' function")>
  191.        Friend Structure MSLLHOOKSTRUCT
  192.  
  193.            ''' <summary>
  194.            ''' The ptThe x- and y-coordinates of the cursor, in screen coordinates.
  195.            ''' </summary>
  196.            Friend pt As Point
  197.  
  198.            ''' <summary>
  199.            ''' If the message is 'WM_MOUSEWHEEL', the high-order word of this member is the wheel delta.
  200.            ''' The low-order word is reserved.
  201.            ''' A positive value indicates that the wheel was rotated forward, away from the user;
  202.            ''' a negative value indicates that the wheel was rotated backward, toward the user.
  203.            ''' One wheel click is defined as 'WHEEL_DELTA', which is '120'.
  204.            ''' </summary>
  205.            Friend mouseData As Integer
  206.  
  207.            ''' <summary>
  208.            ''' The event-injected flag.
  209.            ''' </summary>
  210.            Friend flags As UInteger
  211.  
  212.            ''' <summary>
  213.            ''' The time stamp for this message.
  214.            ''' </summary>
  215.            Friend time As UInteger
  216.  
  217.            ''' <summary>
  218.            ''' Additional information associated with the message.
  219.            ''' </summary>
  220.            Friend dwExtraInfo As IntPtr
  221.  
  222.        End Structure
  223.  
  224. #End Region
  225.  
  226. #Region " Delegates "
  227.  
  228.        ''' <summary>
  229.        ''' Delegate LowLevelMouseProc
  230.        ''' MSDN Documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644986%28v=vs.85%29.aspx
  231.        ''' </summary>
  232.        ''' <returns>
  233.        ''' If nCode is less than zero, the hook procedure must return the value returned by CallNextHookEx.
  234.        ''' If nCode is greater than or equal to zero, and the hook procedure did not process the message,
  235.        ''' it is highly recommended that you call CallNextHookEx and return the value it returns;
  236.        ''' otherwise, other applications that have installed WH_MOUSE_LL hooks will not receive hook notifications
  237.        ''' and may behave incorrectly as a result.
  238.        ''' If the hook procedure processed the message,
  239.        ''' it may return a nonzero value to prevent the system from passing the message to the rest of the hook chain or the target window procedure.
  240.        ''' </returns>
  241.        Friend Delegate Function LowLevelMouseProcDelegate(
  242.                ByVal nCode As IntPtr,
  243.                ByVal wParam As IntPtr,
  244.                ByRef lParam As NativeMethods.MSLLHOOKSTRUCT
  245.        ) As IntPtr
  246.  
  247. #End Region
  248.  
  249. #Region " Hidden Methods "
  250.  
  251.        ''' <summary>
  252.        ''' Determines whether the specified System.Object instances are considered equal.
  253.        ''' </summary>
  254.        <EditorBrowsable(EditorBrowsableState.Never)>
  255.        Public Shadows Sub Equals()
  256.        End Sub
  257.  
  258.        ''' <summary>
  259.        ''' Determines whether the specified System.Object instances are the same instance.
  260.        ''' </summary>
  261.        <EditorBrowsable(EditorBrowsableState.Never)>
  262.        Private Shadows Sub ReferenceEquals()
  263.        End Sub
  264.  
  265. #End Region
  266.  
  267.    End Class
  268.  
  269. #End Region
  270.  
  271. #Region " Objects "
  272.  
  273.    ''' <summary>
  274.    ''' Handle to the hook procedure.
  275.    ''' </summary>
  276.    Private MouseHook As IntPtr
  277.  
  278.    ''' <summary>
  279.    ''' The mouse hook delegate.
  280.    ''' </summary>
  281.    Private MouseHookDelegate As NativeMethods.LowLevelMouseProcDelegate
  282.  
  283. #End Region
  284.  
  285. #Region " Properties "
  286.  
  287.    ''' <summary>
  288.    ''' ** ONLY FOR TESTING PURPOSES **
  289.    ''' Gets or sets a value indicating whether to suppress the last MouseUp event of
  290.    ''' the specified clicked button when a double-click fires.
  291.    '''
  292.    ''' If this value is set to <c>true</c>, the application will send the events in this order for a Double-Click:
  293.    ''' MouseDown, MouseUp, MouseDown, MouseDoubleClick
  294.    '''
  295.    ''' If this value is set to <c>false</c>, the application will send the events in this order for a Double-Click:
  296.    ''' MouseDown, MouseUp, MouseDown, MouseUp, MouseDoubleClick
  297.    '''
  298.    ''' </summary>
  299.    ''' <value><c>true</c> if MouseUp event is suppressed; otherwise <c>false</c>.</value>
  300.    Friend Property SuppressMouseUpEventWhenDoubleClick As Boolean = False
  301.  
  302. #End Region
  303.  
  304. #Region " Enumerations "
  305.  
  306.    ''' <summary>
  307.    ''' Indicates a Windows Message related to a mouse events.
  308.    ''' For more info see here:
  309.    ''' http://msdn.microsoft.com/en-us/library/windows/desktop/ff468877%28v=vs.85%29.aspx
  310.    ''' </summary>
  311.    Private Enum MouseMessages As UInteger
  312.  
  313.        ''' <summary>
  314.        ''' Posted to a window when the cursor moves.
  315.        ''' If the mouse is not captured, the message is posted to the window that contains the cursor.
  316.        ''' Otherwise, the message is posted to the window that has captured the mouse
  317.        ''' </summary>
  318.        WM_MOUSEMOVE = &H200UI
  319.  
  320.        ''' <summary>
  321.        ''' Posted when the user presses the left mouse button while the cursor is in the client area of a window.
  322.        ''' If the mouse is not captured, the message is posted to the window beneath the cursor.
  323.        ''' Otherwise, the message is posted to the window that has captured the mouse
  324.        ''' </summary>
  325.        WM_LBUTTONDOWN = &H201UI
  326.  
  327.        ''' <summary>
  328.        ''' Posted when the user releases the left mouse button while the cursor is in the client area of a window.
  329.        ''' If the mouse is not captured, the message is posted to the window beneath the cursor.
  330.        ''' Otherwise, the message is posted to the window that has captured the mouse
  331.        ''' </summary>
  332.        WM_LBUTTONUP = &H202UI
  333.  
  334.        ''' <summary>
  335.        ''' Posted when the user presses the right mouse button while the cursor is in the client area of a window.
  336.        ''' If the mouse is not captured, the message is posted to the window beneath the cursor.
  337.        ''' Otherwise, the message is posted to the window that has captured the mouse
  338.        ''' </summary>
  339.        WM_RBUTTONDOWN = &H204UI
  340.  
  341.        ''' <summary>
  342.        ''' Posted when the user releases the right mouse button while the cursor is in the client area of a window.
  343.        ''' If the mouse is not captured, the message is posted to the window beneath the cursor.
  344.        ''' Otherwise, the message is posted to the window that has captured the mouse
  345.        ''' </summary>
  346.        WM_RBUTTONUP = &H205UI
  347.  
  348.        ''' <summary>
  349.        ''' Posted when the user presses the middle mouse button while the cursor is in the client area of a window.
  350.        ''' If the mouse is not captured, the message is posted to the window beneath the cursor.
  351.        ''' Otherwise, the message is posted to the window that has captured the mouse
  352.        ''' </summary>
  353.        WM_MBUTTONDOWN = &H207UI
  354.  
  355.        ''' <summary>
  356.        ''' Posted when the user releases the middle mouse button while the cursor is in the client area of a window.
  357.        ''' If the mouse is not captured, the message is posted to the window beneath the cursor.
  358.        ''' Otherwise, the message is posted to the window that has captured the mouse
  359.        ''' </summary>
  360.        WM_MBUTTONUP = &H208UI
  361.  
  362.        ''' <summary>
  363.        ''' Sent to the active window when the mouse's horizontal scroll wheel is tilted or rotated.
  364.        ''' The DefWindowProc function propagates the message to the window's parent.
  365.        ''' There should be no internal forwarding of the message,
  366.        ''' since DefWindowProc propagates it up the parent chain until it finds a window that processes it.
  367.        ''' </summary>
  368.        WM_MOUSEWHEEL = &H20AUI
  369.  
  370.    End Enum
  371.  
  372.    ''' <summary>
  373.    ''' Indicates the whell direction of the mouse.
  374.    ''' </summary>
  375.    Public Enum WheelDirection As Integer
  376.  
  377.        ''' <summary>
  378.        ''' The wheel is moved up.
  379.        ''' </summary>
  380.        WheelUp = 1
  381.  
  382.        ''' <summary>
  383.        ''' The wheel is moved down.
  384.        ''' </summary>
  385.        WheelDown = 2
  386.  
  387.    End Enum
  388.  
  389. #End Region
  390.  
  391. #Region " Events "
  392.  
  393.    ''' <summary>
  394.    ''' Occurs when the mouse moves.
  395.    ''' </summary>
  396.    Friend Event MouseMove(ByVal sender As Object,
  397.                           ByVal MouseLocation As Point)
  398.  
  399.    ''' <summary>
  400.    ''' Occurs when the mouse left button is pressed.
  401.    ''' </summary>
  402.    Friend Event MouseLeftDown(ByVal sender As Object,
  403.                               ByVal MouseLocation As Point)
  404.  
  405.    ''' <summary>
  406.    ''' Occurs when the mouse left button is released.
  407.    ''' </summary>
  408.    Friend Event MouseLeftUp(ByVal sender As Object,
  409.                             ByVal MouseLocation As Point)
  410.  
  411.    ''' <summary>
  412.    ''' Occurs when the mouse left button performs a double-click.
  413.    ''' A double click is considered as: (MouseLeftDown + MouseLeftUp) * 2
  414.    ''' </summary>
  415.    Friend Event MouseLeftDoubleClick(ByVal sender As Object,
  416.                                      ByVal MouseLocation As Point)
  417.  
  418.    ''' <summary>
  419.    ''' Occurs when the mouse right button is pressed.
  420.    ''' </summary>
  421.    Friend Event MouseRightDown(ByVal sender As Object,
  422.                                ByVal MouseLocation As Point)
  423.  
  424.    ''' <summary>
  425.    ''' Occurs when the mouse right button is released.
  426.    ''' </summary>
  427.    Friend Event MouseRightUp(ByVal sender As Object,
  428.                              ByVal MouseLocation As Point)
  429.  
  430.    ''' <summary>
  431.    ''' Occurs when the mouse right button performs a double-click.
  432.    ''' A double click is considered as: (MouseLeftDown + MouseLeftUp) * 2
  433.    ''' </summary>
  434.    Friend Event MouseRightDoubleClick(ByVal sender As Object,
  435.                                       ByVal MouseLocation As Point)
  436.  
  437.    ''' <summary>
  438.    ''' Occurs when the mouse middle button is pressed.
  439.    ''' </summary>
  440.    Friend Event MouseMiddleDown(ByVal sender As Object,
  441.                                 ByVal MouseLocation As Point)
  442.  
  443.    ''' <summary>
  444.    ''' Occurs when the mouse middle button is released.
  445.    ''' </summary>
  446.    Friend Event MouseMiddleUp(ByVal sender As Object,
  447.                               ByVal MouseLocation As Point)
  448.  
  449.    ''' <summary>
  450.    ''' Occurs when the mouse middle button performs a double-click.
  451.    ''' A double click is considered as: (MouseLeftDown + MouseLeftUp) * 2
  452.    ''' </summary>
  453.    Friend Event MouseMiddleDoubleClick(ByVal sender As Object,
  454.                                        ByVal MouseLocation As Point)
  455.  
  456.    ''' <summary>
  457.    ''' Occurs when the mouse wheel is moved up or down.
  458.    ''' </summary>
  459.    Friend Event MouseWheel(ByVal sender As Object,
  460.                            ByVal MouseLocation As Point,
  461.                            ByVal WheelDirection As WheelDirection)
  462.  
  463. #End Region
  464.  
  465. #Region " Constructors "
  466.  
  467.    ''' <summary>
  468.    ''' Prevents a default instance of the <see cref="MouseHook"/> class from being created.
  469.    ''' </summary>
  470.    Private Sub New()
  471.    End Sub
  472.  
  473.    ''' <summary>
  474.    ''' Initializes a new instance of the <see cref="MouseHook"/> class.
  475.    ''' </summary>
  476.    ''' <param name="AutoStart">
  477.    ''' If set to <c>true</c>, the Hook starts instantly for this <see cref="MouseHook"/> instance.
  478.    ''' </param>
  479.    Friend Sub New(Optional ByVal AutoStart As Boolean = False)
  480.  
  481.        If AutoStart Then
  482.            Me.[Start]()
  483.        End If
  484.  
  485.    End Sub
  486.  
  487. #End Region
  488.  
  489. #Region " Public Methods "
  490.  
  491.    ''' <summary>
  492.    ''' Starts the Mouse Hook, then start processing messages to fire events.
  493.    ''' </summary>
  494.    Friend Sub [Start]()
  495.  
  496.        Me.MouseHookDelegate = New NativeMethods.LowLevelMouseProcDelegate(AddressOf LowLevelMouseProc)
  497.  
  498.        Try
  499.            Me.MouseHook = NativeMethods.SetWindowsHookEx(NativeMethods.HookType.WH_MOUSE_LL,
  500.                                                          Me.MouseHookDelegate,
  501.                                                          Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly.GetModules()(0)).ToInt32, 0)
  502.  
  503.        Catch ex As Exception
  504.            Throw
  505.  
  506.        End Try
  507.  
  508.    End Sub
  509.  
  510.    ''' <summary>
  511.    ''' Stops the Mouse Hook and free all resources, then stop processing messages to fire events.
  512.    ''' </summary>
  513.    Friend Sub [Stop]()
  514.  
  515.        Me.Finalize()
  516.  
  517.    End Sub
  518.  
  519. #End Region
  520.  
  521. #Region " Private Methods "
  522.  
  523.    ''' <summary>
  524.    ''' Processes the mouse windows messages and raises it's corresponding events.
  525.    ''' MSDN Documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644986%28v=vs.85%29.aspx
  526.    ''' </summary>
  527.    ''' <param name="nCode">
  528.    ''' A code the hook procedure uses to determine how to process the message.
  529.    ''' If nCode is less than zero, the hook procedure must pass the message to the CallNextHookEx function
  530.    ''' without further processing and should return the value returned by CallNextHookEx.
  531.    ''' </param>
  532.    ''' <param name="wParam">The identifier of the mouse message.</param>
  533.    ''' <param name="lParam"> A pointer to an <see cref="NativeMethods.MSLLHOOKSTRUCT"/> structure.</param>
  534.    ''' <returns>
  535.    ''' If nCode is less than zero, the hook procedure must return the value returned by CallNextHookEx.
  536.    ''' If nCode is greater than or equal to zero, and the hook procedure did not process the message,
  537.    ''' it is highly recommended that you call CallNextHookEx and return the value it returns;
  538.    ''' otherwise, other applications that have installed WH_MOUSE_LL hooks will not receive hook notifications
  539.    ''' and may behave incorrectly as a result.
  540.    ''' If the hook procedure processed the message,
  541.    ''' it may return a nonzero value to prevent the system from passing the
  542.    ''' message to the rest of the hook chain or the target window procedure.
  543.    ''' </returns>
  544.    Private Function LowLevelMouseProc(ByVal nCode As Integer,
  545.                                       ByVal wParam As MouseMessages,
  546.                                       ByRef lParam As NativeMethods.MSLLHOOKSTRUCT) As Integer
  547.  
  548.        Static LeftClickTime As Integer = 0I ' Determines a left button double-click.
  549.        Static RightClickTime As Integer = 0I ' Determines a right button double-click.
  550.        Static MiddleClickTime As Integer = 0I ' Determines a middle button double-click.
  551.  
  552.        If nCode = 0I Then
  553.  
  554.            Select Case wParam
  555.  
  556.                Case MouseMessages.WM_MOUSEMOVE
  557.                    RaiseEvent MouseMove(Me, lParam.pt)
  558.  
  559.                Case MouseMessages.WM_LBUTTONDOWN
  560.                    RaiseEvent MouseLeftDown(Me, lParam.pt)
  561.  
  562.                Case MouseMessages.WM_LBUTTONUP
  563.                    If LeftClickTime <> 0 Then
  564.                        LeftClickTime = Environment.TickCount() - LeftClickTime
  565.                    End If
  566.  
  567.                    If (LeftClickTime <> 0) AndAlso (LeftClickTime < NativeMethods.GetDoubleClickTime()) Then
  568.                        LeftClickTime = 0
  569.                        If Not Me.SuppressMouseUpEventWhenDoubleClick Then
  570.                            RaiseEvent MouseLeftUp(Me, lParam.pt)
  571.                        End If
  572.                        RaiseEvent MouseLeftDoubleClick(Me, lParam.pt)
  573.  
  574.                    Else
  575.                        LeftClickTime = Environment.TickCount()
  576.                        RaiseEvent MouseLeftUp(Me, lParam.pt)
  577.  
  578.                    End If
  579.  
  580.                Case MouseMessages.WM_RBUTTONDOWN
  581.                    RaiseEvent MouseRightDown(Me, lParam.pt)
  582.  
  583.                Case MouseMessages.WM_RBUTTONUP
  584.                    If RightClickTime <> 0 Then
  585.                        RightClickTime = Environment.TickCount() - RightClickTime
  586.                    End If
  587.  
  588.                    If (RightClickTime <> 0) AndAlso (RightClickTime < NativeMethods.GetDoubleClickTime()) Then
  589.                        RightClickTime = 0
  590.                        If Not Me.SuppressMouseUpEventWhenDoubleClick Then
  591.                            RaiseEvent MouseRightUp(Me, lParam.pt)
  592.                        End If
  593.                        RaiseEvent MouseRightDoubleClick(Me, lParam.pt)
  594.  
  595.                    Else
  596.                        RightClickTime = Environment.TickCount()
  597.                        RaiseEvent MouseRightUp(Me, lParam.pt)
  598.  
  599.                    End If
  600.  
  601.                Case MouseMessages.WM_MBUTTONDOWN
  602.                    RaiseEvent MouseMiddleDown(Me, lParam.pt)
  603.  
  604.                Case MouseMessages.WM_MBUTTONUP
  605.                    If MiddleClickTime <> 0 Then
  606.                        MiddleClickTime = Environment.TickCount() - MiddleClickTime
  607.                    End If
  608.  
  609.                    If (MiddleClickTime <> 0) AndAlso (MiddleClickTime < NativeMethods.GetDoubleClickTime()) Then
  610.                        MiddleClickTime = 0
  611.                        If Not Me.SuppressMouseUpEventWhenDoubleClick Then
  612.                            RaiseEvent MouseMiddleUp(Me, lParam.pt)
  613.                        End If
  614.                        RaiseEvent MouseMiddleDoubleClick(Me, lParam.pt)
  615.  
  616.                    Else
  617.                        MiddleClickTime = Environment.TickCount()
  618.                        RaiseEvent MouseMiddleUp(Me, lParam.pt)
  619.  
  620.                    End If
  621.  
  622.                Case MouseMessages.WM_MOUSEWHEEL
  623.                    RaiseEvent MouseWheel(Me, lParam.pt, If(lParam.mouseData < 0,
  624.                                                            WheelDirection.WheelDown,
  625.                                                            WheelDirection.WheelUp))
  626.  
  627.                Case Else
  628.                    Exit Select ' Do Nothing
  629.  
  630.            End Select
  631.  
  632.            Return 0
  633.  
  634.        ElseIf nCode < 0I Then
  635.  
  636.            ' Initialize unmanged memory to hold the 'MSLLHOOKSTRUCT' structure.
  637.            Dim pnt As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(lParam))
  638.  
  639.            Try ' MSDN Documentation: http://msdn.microsoft.com/en-us/library/vstudio/4ca6d5z7%28v=vs.100%29.aspx
  640.  
  641.                ' Copy the struct to unmanaged memory.
  642.                Marshal.StructureToPtr(lParam, pnt, False)
  643.  
  644.                ' Return
  645.                Return NativeMethods.CallNextHookEx(MouseHook, nCode, wParam, pnt)
  646.  
  647.            Finally
  648.                ' Free the unmanaged memory.
  649.                Marshal.FreeHGlobal(pnt)
  650.            End Try
  651.  
  652.        Else ' nCode > 0
  653.  
  654.            Return -1I
  655.  
  656.        End If
  657.  
  658.    End Function
  659.  
  660. #End Region
  661.  
  662. #Region " Hidden Methods "
  663.  
  664.    ''' <summary>
  665.    ''' Serves as a hash function for a particular type.
  666.    ''' </summary>
  667.    <EditorBrowsable(EditorBrowsableState.Never)>
  668.    Public Shadows Sub GetHashCode()
  669.    End Sub
  670.  
  671.    ''' <summary>
  672.    ''' Gets the System.Type of the current instance.
  673.    ''' </summary>
  674.    ''' <returns>The exact runtime type of the current instance.</returns>
  675.    <EditorBrowsable(EditorBrowsableState.Never)>
  676.    Public Shadows Function [GetType]()
  677.        Return Me.GetType
  678.    End Function
  679.  
  680.    ''' <summary>
  681.    ''' Determines whether the specified System.Object instances are considered equal.
  682.    ''' </summary>
  683.    <EditorBrowsable(EditorBrowsableState.Never)>
  684.    Public Shadows Sub Equals()
  685.    End Sub
  686.  
  687.    ''' <summary>
  688.    ''' Determines whether the specified System.Object instances are the same instance.
  689.    ''' </summary>
  690.    <EditorBrowsable(EditorBrowsableState.Never)>
  691.    Private Shadows Sub ReferenceEquals()
  692.    End Sub
  693.  
  694.    ''' <summary>
  695.    ''' Returns a String that represents the current object.
  696.    ''' </summary>
  697.    <EditorBrowsable(EditorBrowsableState.Never)>
  698.    Public Shadows Sub ToString()
  699.    End Sub
  700.  
  701. #End Region
  702.  
  703. #Region "IDisposable Support"
  704.  
  705.    ''' <summary>
  706.    ''' Flag to detect redundant calls at <see cref="Dispose"/> method.
  707.    ''' </summary>
  708.    Private disposedValue As Boolean
  709.  
  710.    ''' <summary>
  711.    ''' Releases unmanaged and optionally managed resources.
  712.    ''' </summary>
  713.    ''' <param name="disposing">
  714.    ''' <c>true</c> to release both managed and unmanaged resources;
  715.    ''' <c>false</c> to release only unmanaged resources.
  716.    ''' </param>
  717.    Protected Sub Dispose(ByVal disposing As Boolean)
  718.  
  719.        If Not Me.disposedValue Then
  720.  
  721.            If disposing Then ' Dispose managed state (managed objects).
  722.  
  723.            Else ' Free unmanaged resources (unmanaged objects).
  724.                NativeMethods.UnhookWindowsHookEx(Me.MouseHook)
  725.  
  726.            End If
  727.  
  728.        End If
  729.  
  730.        Me.disposedValue = True
  731.  
  732.    End Sub
  733.  
  734.    ''' <summary>
  735.    ''' Allows an object to try to free resources
  736.    ''' and perform other cleanup operations before it is reclaimed by garbage collection.
  737.    ''' </summary>
  738.    Protected Overrides Sub Finalize()
  739.  
  740.        ' Do not change this code. Put cleanup code in method: Dispose(ByVal disposing As Boolean)
  741.  
  742.        Me.Dispose(disposing:=False)
  743.        MyBase.Finalize()
  744.  
  745.    End Sub
  746.  
  747.    ''' <summary>
  748.    ''' Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
  749.    ''' </summary>
  750.    Private Sub Dispose() Implements IDisposable.Dispose
  751.  
  752.        ' Do not change this code. Put cleanup code in method: Dispose(ByVal disposing As Boolean)
  753.  
  754.        Me.Dispose(disposing:=True)
  755.        GC.SuppressFinalize(obj:=Me)
  756.  
  757.    End Sub
  758.  
  759. #End Region
  760.  
  761. End Class
  762.  
  763. #End Region
6604  Sistemas Operativos / Windows / Re: Ver codigo fuente de programas por defecto en windows en: 25 Septiembre 2014, 22:36 pm
Algunas aplicaciones están escritas en C# + Xaml donde puedes ver practicamente el source porque viene sin ningún tipo de ofuscación, pero creo que esas aplicaciones no te interesan tanto (ya que son ModernApps).

La mayoría de aplicaciones de Windows están escritas en C/C++ y la verdad es que nunca me ha dado el gusanillo de intentar inspeccionar las instrucciones del source de estas aplicaciones (tampoco se si sería capaz de conseguirlo, no soy ningún experto en la ingenieria inversa) pero supongo que con la ayuda de un dissasembler y un decompiler podrías ver un source PARCIAL de las aplicaciones que te interesan (CommandLine) que vienen en Windows, imagino que el método sería el mismo como con cualquier otra aplicacion de terceros.

Saludos!
6605  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 25 Septiembre 2014, 22:09 pm
es un buen post ciertamente  :) :) :) :) :) pero yo necesito todas esas funciones para GNU/LINUX es decir para un script en /bin/bash porque en windows si lo se (gracias a elektro) pero en linux no, yo quisiera saber si hay algun post con esto solo que para el bash. Les agradeceria mucho que me ayudaran  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:

puff... pues va a estar complicado en el foro encontrar un hilo de estas características para Bash, pero siempre puedes recurrir a la ayuda de San-Google :):


Advanced Bash-Scripting Guide:
Prev   Chapter 10. Manipulating Variables



Bash String Manipulation Examples
Length, Substring, Find and Replace



16.4. Text Processing Commands
Commands affecting text and text files


Saludos!
6606  Programación / .NET (C#, VB.NET, ASP) / Re: Alguien tiene algun programa de reducidas primitiva en: 25 Septiembre 2014, 22:03 pm
Lus, como habrás visto el código no cabe en el espacio libre de caracteres asignado para formular un post (algo de lo que me he quejado bastantes veces ya).

Si realmente estás interesado en compartirlo, súbelo a pastebin (por ejemplo), edita tu comentario y publica un enlace directo al código, de lo contrario lo tendré que eliminar porque solo se ve medio código (y eso no le sirve a nadie :-/).

Saludos!
6607  Foros Generales / Foro Libre / Re: ¿Vais a participar en el EHN-Dev 2014? en: 25 Septiembre 2014, 15:49 pm
Porfavor, formular las preguntas en el post que publicó el compañero KuB0x, que para algo está el post.

[EHN-Dev 2014] - Hilo de discusión / comentarios / dudas



¿Tienen alguna manera de saber si un código es original de alguien? Lo que pasa es que yo he estado actualmente practicando para crear jueguitos, y como hay varios lugares donde publican los códigos fuentes de estos ¿Cómo puedo asegurarles que ese código fue escrito por mi?

No hay ninguna regla en el concurso sobre la legitimidad de un código, precisamente porque no vamos a realizar un seguimiento exhaustivo con cada parte del código que escribas para intentar verificar si es de tu propiedad o es ajeno... sería una locura, por otro lado confiamos en que todos los participantes no copien el trabajo de los demás, y si lo hicieran, el autor de dicho código deberá haberte permitido el uso de su código en tuaplicación, obviamente si detectamos que tu trabajo no te pertenece a ti, o que practicamente todo el código es copiado de otra persona entonces se tomarían las medidas apropiadas a la situación resultando en una posible sanción/descalificación del concurso.

es necesario que el código este en español,

Esa pregunta stá respondida en el FAQ del consurso.

[EHN-Dev 2014] - Concurso de desarrollo de aplicaciones (Hilo oficial)

Saludos!
6608  Programación / Programación General / Re: Proyecto de Tzar 2 en: 25 Septiembre 2014, 01:47 am
Creo yo que la censura del e-mail es correcta, pero no la censura del sitio web. Motivo:

Visitar un sitio web no es una manera de ponerse en contacto y si 300 personas visitan el post y las 300 quieren visitar la página entonces 300 enviarán un mensaje personal, sólo para poder visitar la página. Esto no es correcto, porque no creo que el usuario se tome la molestia de responder a 300 mensajes privados. Espero que quiten esta clase de censura.

Yo no impongo las normas, solo las hago cumplir:

I.B.2.b. Manejo de enlaces.
    Para mantener de forma privada la información dentro de los subforos privados queda terminantemente prohibido colocar enlaces directos a recursos de fuentes externas no confiables.
    Cualquier URL deberá colocarse de forma que no sea detectado como enlace,
    Una forma de evitar que un enlace sea detectado como link es poniéndolo dentro de etiquetas [ code ][ /code ].

( El subforo de 'programación general' no es privado, pero no conozco a la persona y su primer mensaje ha sido para hacer Spam, por ende considero el hyperlink censurado como Spam y "fuente no fiable", a pesar de que posiblemente yo pueda estar equivocado, más vale prevenir para que ningún usuario salga afectado por los obvios motivos que se suelen dar en un foro de hacking... )

Si el usuario se hubiera leido las normas o si se hubiera dado una pequeña vuelta por el foro examinando solo unos pocos temas sabria que se puede colocar la dirección web en la firma y nadie estariamos discutiendo este tema, ya que podría haber hecho un comentario sobre el enlace de su firma en lugar de publicar directamente el enlace, aunque lo haya hecho sin malas intenciones, en cualquier momento el usuario puede modificar su mensaje para añadir las correcciones indicadas si así lo desea.

I.A.3.a. Contenido de firmas.
    Las firmas tendrán una longitud máxima de 400 caracteres, estas pueden contener enlaces y cualquier tipo de texto.

Saludos!
6609  Programación / .NET (C#, VB.NET, ASP) / Re: Otro de mis fallos :( en: 24 Septiembre 2014, 21:28 pm
esto aplica para .net en general? o es en varios lenguajes?

Se aplica a VB.Net (no a C#), no se si habrá otros lenguajes que compartan esta ventaja similitud de diseño, pero por el momento no lo he notado.

Saludos!
6610  Programación / .NET (C#, VB.NET, ASP) / Re: Otro de mis fallos :( en: 24 Septiembre 2014, 18:28 pm
Convertir a entero es realizar una conversion innecesarias, para evitarlo debes utilizar el operador de división correcto (el de enteros).


\ Operator
Divides two numbers and returns an integer result.

/ Operator
Divides two numbers and returns a floating-point result.

Nota: Si además quieres obtener el pico más alto o el más bajo de la división, eso ya sería otro tema, mira el método Math.Ceiling() y Math.Floor() y el resto de los métodos de esa Class.

Saludos.
Páginas: 1 ... 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 [661] 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines