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
Kyllä 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 Sub
ja 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 Sub
Laittakaa tommonen nii saatte hyvät naurut eikä tarvitse timeriä
Aihe on jo aika vanha, joten et voi enää vastata siihen.