Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo lograr una fluctuación de ventana infinita en VB

Cómo lograr una fluctuación de ventana infinita en VB

La siguiente ventana básicamente puede satisfacer sus necesidades.

Nota: 1. Este programa se oculta cuando se ejecuta, pero no oculta el proceso (es difícil hacerlo en XP, así que déjalo).

2. Si quieres); Para aumentar la amplitud de la fluctuación, modifique el valor de jd.

'====Código del cuadro de ventana====

Opción explícita

Tipo privado PUNTO

x Mientras

p>

y As Long

Tipo final

Tipo privado RECT

LeftAs Long

Arriba As Long

Derecho mientras

Abajo mientras

Tipo de fin

Función de declaración privada GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) Mientras

Función de declaración privada GetForegroundWindow Lib "user32" () Mientras

Función de declaración privada SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Función de declaración privada MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long

Dim r As RECT, mPOINT As POINT, bj As Long

Función GetYd (r Mientras, centroX Mientras, centroY Mientras, centroY Mientras) Mientras

Función GetYd(r Mientras, centroX Mientras, centroY Mientras, centroY Mientras, centroY Mientras) CentroX As Long, CenterY As Long, jd As Integer) 'Encuentra las coordenadas de un punto en el círculo

mPOINT.x = CenterX r * Cos(jd * 5)

mPOINT. y = CentroY r * Sin(jd * 5)

Función final

Sub privada Form_Load()

Me.Hide

Temporizador1 .Interval = 100

Timer1.Enabled = True

Me.Hide

Timer1.Interval = 100

Timer1.Enabled = True

Temporizador1.Es

abled = TrueEnabled = True

bj = 50 'Si desea aumentar la amplitud de la fluctuación, cambie el valor jd

End Sub

Private Sub Timer1_Timer( )

Estático i como entero

Dim p mientras, x mientras, y mientras

p = GetForegroundWindow<

GetWindowRect p, r

x = r.Left

y = r.Top

GetYd bj, x, y, i 'Deja que la ventana tenga una fluctuación circular como QQ

MoveWindow p, mPOINT.x, mPOINT.y, r.Derecha - r.Izquierda, r.Abajo - r.Arriba, 1 'Mover ventana

GetWindowRect p, r

x = r.Top.Top, 1 'Mover la ventana

i = i 1

Si i gt 360 Entonces i = 1 'Si es; mayor que 360 ​​entonces i = 1 'Si es mayor que 360 ​​entonces muévete desde arriba

End Sub

Mueve la ventana.