Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Lukitus - ShowWindow

Sivun loppuun

solof [10.02.2003 20:45:40]

#

Painettaessa F5 Koodi asettaa kaikki näkyvissä olevat ikkunat piiloon eli "lukitsee" koneen.
Kun Taas painettaess F6 koodi palauttaa kaikki merkityt ikkunat näkyville. Windowsin maksimaalisesta hwnd määrästä minulla ei ole tietoa koodissa käytän 4000 ja se toimii ainakin win98:in normaalitilassa. Toivottavasti Tämä toimii myös muissa käyttöjärjestelmissä eikä kaada konetta :)
Koodi tarvitsee timerin(Timer1)

'Koodi jolla voi "lukita" koneen
'T: Solof


Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal lSw As Long) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Dim ikkuna(6000) As Integer
Dim MaxHw As Integer



Sub LockComp()
    For i = 1 To MaxHw
        Z = ShowWindow(i, 0) 'piilotetaan ikkunat
        If Z <> 0 Then ikkuna(i) = 10 'asetetaan ikkunalle muistitagi jos se ei ole jo piilossa
    Next i
End Sub

Sub UnLockComp()
    For i = 1 To MaxHw
        If ikkuna(i) <> 0 Then ShowWindow i, 5 'käydään kaikki ikkunat läpi ja palautetaan ne näkyville
    Next i
End Sub

Private Sub Form_Load()
    MaxHw = 4000 'Pilotettavien ikkunoiden määrä
    Form1.Caption = "PAINAMALLA F5 PIILOTAT KAIKEN / PAINAMALLA F6 PALAUTAT KAIKEN NORMAALIKSI"
    Timer1.Interval = 100 'näppäin valvojan ajastin
    Timer1.Enabled = True 'näppäin valvoja päälle
End Sub

Private Sub Timer1_Timer()
    If GetAsyncKeyState(vbKeyF5) Then 'jos F5 painettu
        LockComp 'lukitse kone
    End If
    If GetAsyncKeyState(vbKeyF6) Then 'Jos F6 Painettu
        UnLockComp 'vapauta kone
    End If
End Sub

progo [11.02.2003 08:04:26]

#

Kyllä tällä jotkut aloittelijat saadaan kuriin...

Monkkats [28.09.2003 18:42:57]

#

Hahaa toihan on hieno :D

miiro [09.11.2003 17:29:48]

#

ja toimii! Todella hyvä!!

zigilii [17.01.2004 18:58:48]

#

tosi hieno!!:)

tesmu [09.06.2005 11:47:19]

#

Tätä koodivinkkiä tehdessäsi boottasit varmaan monta kertaa koneesi koska kaikki ikkunat meni piiloon etkä saanut takasin :)

miiro [08.07.2005 20:36:43]

#

kun muutat

Sub LockComp()
    For i = 1 To MaxHw
        Z = ShowWindow(i, 1) ' <-- MUUTOS: tuossa 1
        If Z <> 0 Then ikkuna(i) = 10
    Next i
End Sub

ja painat f6 niin kaikki prosessit tulee "palkkiin". Hehheh.

Jomppes [14.08.2005 10:29:08]

#

Form1.Caption = "PAINAMALLA F5 PIILOTAT KAIKEN /PAINAMALLA F6 PALAUTAT KAIKEN NORMAALIKSI"

Täs tulee virhe

Jomppes [14.08.2005 10:32:44]

#

olisiko exeä

siika [17.06.2009 20:18:39]

#

Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal lSw As Long) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Dim ikkuna(6000) As Integer
Dim MaxHw As Integer
Sub LockComp()
    For i = 1 To MaxHw
        Z = ShowWindow(i, 0) 'piilotetaan ikkunat
        If Z <> 0 Then ikkuna(i) = 10 'asetetaan ikkunalle muistitagi jos se ei ole jo piilossa
    Next i
End Sub

Private Sub Form_Load()
    MaxHw = 4000 'Pilotettavien ikkunoiden määrä
    LockComp
End Sub

Laittakaa tommonen nii saatte hyvät naurut eikä tarvitse timeriä


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta