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 SubKyllä tällä jotkut aloittelijat saadaan kuriin...
Hahaa toihan on hieno :D
ja toimii! Todella hyvä!!
tosi hieno!!:)
Tätä koodivinkkiä tehdessäsi boottasit varmaan monta kertaa koneesi koska kaikki ikkunat meni piiloon etkä saanut takasin :)
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 Subja painat f6 niin kaikki prosessit tulee "palkkiin". Hehheh.
Form1.Caption = "PAINAMALLA F5 PIILOTAT KAIKEN /PAINAMALLA F6 PALAUTAT KAIKEN NORMAALIKSI"
Täs tulee virhe
olisiko exeä
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 SubLaittakaa tommonen nii saatte hyvät naurut eikä tarvitse timeriä
Aihe on jo aika vanha, joten et voi enää vastata siihen.