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 - Danyfirex

#281
Deberías investigar mas.   :silbar:


lo pones todo en tu formulario.

Código (vb) [Seleccionar]
Option Explicit

Private Const HWND_BROADCAST = &HFFFF&
Private Const WM_SYSCOMMAND = &H112&
Private Const SC_MONITORPOWER = &HF170&
Private Const POWER_ON = -1
Private Const POWER_LOW = 1
Private Const POWER_OFF = 2

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Sub Command1_Click()
PostMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF
End Sub


#282
me hice esto rapidito debería funcionar bien.


Código (vb) [Seleccionar]
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage_Long Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef LParam As Long) As Long
Private Const WM_LBUTTONDOWN  As Long = &H201
Private Const WM_LBUTTONUP    As Long = &H202
Private Const WM_KEYUP        As Long = &H101
Private Const WM_KEYDOWN      As Long = &H100
Private Const VK_SPACE    As Long = &H20

Private Sub Command1_Click()
Dim bwnd As Long
Dim wwnd As Long
wwnd = FindWindow(vbNullString, "Form1") ' titulo de tu ventana
bwnd = FindWindowEx(wwnd, ByVal 0&, "ThunderRT6CommandButton", "Command1") 'nombre de la clase y nombre del boton
WindowAPI_Click (bwnd)
End Sub
'funcion click
Public Sub WindowAPI_Click(ByVal hwnd As Long)
Dim retVal As Long
retVal = SendMessage_Long(hwnd, WM_LBUTTONDOWN, 0&, ByVal 0&)
retVal = SendMessage_Long(hwnd, WM_LBUTTONDOWN, 0&, ByVal 0&)
retVal = SendMessage_Long(hwnd, WM_KEYUP, VK_SPACE, ByVal 0&)
retVal = SendMessage_Long(hwnd, WM_LBUTTONUP, 0&, ByVal 0&)
End Sub



saludos
#283
Pero muestra el codigo sino como vemos el Error  :o.

El titulo podría ir en minúscula.
#284
@Psyke1

cuando no le pongo parámetro funciona bien. pero cuando le paso otro parametro no funciona y me hace sonar las bocinas con beeps :S

saludos
#285
ahí si no se :S a mi me funciona bien en W7.
#286
Cita de: Psyke1 en 25 Enero 2013, 13:49 PM
Disculpad, cometí una errata a la hora de describir el reto.
Post uno actualizado. :-*

PD: ¿Voy poniendo ya el reto 3? :xD

DoEvents! :P

Yo creo que si.  ;-)
#287
Segun las soluciones es 4613732


esta es la formula de la mio.

B=2
A=Ax4+B
B=A


obviamente tengo que conocer el limite para obtener bien el resultado.

Igual aquí dejo uno mas valido.

Actualizado
Código (vb) [Seleccionar]
Private Function fb(Optional lLimit As Long = 4000000) As Long
Dim fn As Long, f1 As Long, f2 As Long
If lLimit And &H80000000 Then Exit Function
f1 = 1
f2 = f1
Do While f2 < lLimit
fn = f1 + f2
f1 = f2
f2 = fn
If fn Mod 2 = 0 Then
fb = fb + fn
End If
Loop
End Function


Saludos
#288
Que raro en que OS probaste?
#290
Prueba a así.


Código (vbnet) [Seleccionar]
Public Class Form1
   Dim T_PUNTOS_J1 As Short
   Dim T_PUNTOS_J2 As Short
   Dim I As Integer

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim NUM_ACERTAR As Short
       Dim NUM As Short
       Dim PISTAS As Short
       Dim B As Boolean = False
       Dim C_INTENTOS As Short = 0
       Dim C_INTENTOS_J2 As Short = 0

       For Me.I = 0 To 999

           NUM_ACERTAR = InputBox("Que el arbitro introduzca un nº entre 1 y 100")
           Do Until NUM_ACERTAR >= 1 And NUM_ACERTAR <= 100
               NUM_ACERTAR = InputBox("Introduzca un nº entre 1 y 100")
           Loop

           Do
               If B = False Then
                   B = True
                   C_INTENTOS = C_INTENTOS + 1
                   NUM = InputBox("Turno del Jugador 1, intento nº: " & C_INTENTOS, "Turno Jugador 1", 0)
                   TextBox4.Text = TextBox4.Text & " Numero: " & NUM & Chr(13) & Chr(10)
               Else
                   B = False
                   C_INTENTOS_J2 = C_INTENTOS_J2 + 1
                   NUM = InputBox("Turno del Jugador 2, intento nº: " & C_INTENTOS_J2, "Turno Jugador 2", 0)
                   TextBox4.Text = TextBox4.Text & " Numero: " & NUM & Chr(13) & Chr(10)
               End If

               'MENSAJES DE TEXTO PISTAS
               If NUM_ACERTAR > NUM Then
                   PISTAS = NUM_ACERTAR - NUM
               ElseIf NUM_ACERTAR < NUM Then
                   PISTAS = NUM - NUM_ACERTAR
               ElseIf NUM = NUM_ACERTAR Then
                   PISTAS = 0
               End If

               If PISTAS <= 3 Then
                   TextBox1.Text = "QUEMANDO"
               ElseIf PISTAS <= 7 Then
                   TextBox1.Text = "CALIENTE"
               ElseIf PISTAS <= 15 Then
                   TextBox1.Text = "TEMPLADO"
               Else
                   TextBox1.Text = "FRIO"
               End If



               'RECUENTOS DE LOS PUNTOS ACUMULADOS
              '///AQUI VERIFICAMOS QUIEN ESTA JUGANDO
               If B = True Then
                   If C_INTENTOS = 1 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J1 = T_PUNTOS_J1 + 10
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J1"
                   ElseIf C_INTENTOS = 2 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J1 = T_PUNTOS_J1 + 8
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J1"
                   ElseIf C_INTENTOS = 3 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J1 = T_PUNTOS_J1 + 6
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J1"
                   ElseIf C_INTENTOS = 4 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J1 = T_PUNTOS_J1 + 4
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J1"
                   ElseIf C_INTENTOS = 5 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J1 = T_PUNTOS_J1 + 2
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J1"

                   End If
               Else

                   If C_INTENTOS_J2 = 1 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J2 = T_PUNTOS_J2 + 10
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J2"
                   ElseIf C_INTENTOS_J2 = 2 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J2 = T_PUNTOS_J2 + 8
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J2"
                   ElseIf C_INTENTOS_J2 = 3 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J2 = T_PUNTOS_J2 + 6
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J2"
                   ElseIf C_INTENTOS_J2 = 4 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J2 = T_PUNTOS_J2 + 4
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J2"
                   ElseIf C_INTENTOS_J2 = 5 And NUM = NUM_ACERTAR Then
                       T_PUNTOS_J2 = T_PUNTOS_J2 + 2
                       C_INTENTOS = 6
                       TextBox1.Text = "HAS GANADO J2"
                   End If
               End If
               




               TextBox2.Text = T_PUNTOS_J1
               TextBox3.Text = T_PUNTOS_J2

           Loop Until C_INTENTOS >= 5
           I = 99999
       Next
   End Sub

End Class


saludos