Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Estä ctrl-alt-del ym. (Windows 95)

Sivun loppuun

sooda [08.11.2003 11:13:44]

#

estää ctrl-alt-delin, alt+tabin ym käytön. toimii ainakin mun win95ssä :P valehtelee wintoosalle että screensaveri on runnaamassa, ja sillonhan näitä ei voi painaa.

Private Declare Function SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lvpParam As Any, ByVal fuWinIni As Long)
Dim old As Boolean

Private Sub Form_Load()

    Dim stat As Long
    Dim sysparam As Long

    sysparam = 97 'SPI_SCREENSAVERRUNNING arvo
    stat = SystemParametersInfo(sysparam, True, old, 0)

End Sub

Private Sub Form_Unload(Cancel As Integer)

    sysparam = 97
    stat = SystemParametersInfo(sysparam, False, old, 0)

End Sub

Jasmin [08.11.2003 11:30:05]

#

aika kiva

sooda [08.11.2003 11:42:09]

#

eiks oo. hyvä vaikka johonkin pilailuohjelmaan

tejeez [08.11.2003 13:20:14]

#

on.. teepä joku pilailuohjelma nyt sitten :P

sooda [08.11.2003 19:19:07]

#

eäh, tota siis vois soveltaa vaikka siihen täällä jo olemassa olevaan pilaohjelmaan meinaan ei nyt uutta tarvi tehä

ZcMander [29.11.2003 16:06:24]

#

Ei toimi XP:ssä!!!

:(

Monkkats [17.12.2003 22:16:40]

#

Suomalaisissa Windows XP:eissä pitää käyttää tätä:

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Private Const PROCESS_TERMINATE = &H1

Private Sub Command1_Click()
   Dim hwnd As Long, pid As Long, ph As Long
   ' etsitään hwnd, huomaa vbNullString (0 ei toimi tässä)
   hwnd = FindWindow(vbNullString, "Windows Tehtävienhallinta")
   ' hankitaan pid
   GetWindowThreadProcessId hwnd, pid
   ' prosessin kahva
   ph = OpenProcess(PROCESS_TERMINATE, 0, pid)
   ' terminoidaan prosessi
   hwnd = TerminateProcess(ph, 0)
End Sub

miiro [04.01.2004 19:03:02]

#

joo ja toi winxp vinkki toimii myös 98ssa!

CoDeR [19.03.2004 19:07:06]

#

en saa tota toimii, (mul on xp) .... oisko neuvoi????

CoDeR [19.03.2004 19:07:45]

#

pitääks toi kaikki laitaa moduliin?

PeQ [27.05.2004 21:24:28]

#

ei toimi kumpikaa xp:ssä :(

sooda [28.05.2004 16:17:46]

#

Monkkatsin systeemi toimii jos sen tunkee vaikka timeriin.

D4_B34M [10.11.2004 22:59:03]

#

Saakos kerneliltä tai jostakin tota tehtävähallinnan nimee jos on erikielisii winei?

tesmu [15.11.2004 18:14:42]

#

pistätte ton command1_clikin sijasta timeriin ja laitatte vaikka 10 intervalliksi ni se terminoi tehtävän hallinnan joka 10 millisekuntti

Gaxx [29.12.2004 16:52:18]

#

Tarpeeseen tuli tämäkin vinkki(Soodan alkuperäinen toimii mulla 98se:ssä!), jos pikkusisko vielä joku päivä keksii, kuinka saa suljettua näitä mun seuranta- ja etäkäyttöohjelmia :D

Kaffir [15.04.2005 16:46:18]

#

tällästä määä oon aiina halunnu!!!1

Jomppes [07.07.2005 18:53:17]

#

Sainpas sen sittenkin toimimaan ton timerin avulla ja siin oli eka asetukset vähän väärin mut toimii nyt.
Tarttisin kuitenki viel jotain jol vois estää painamast alt + F4 siit ois hyötyy jos joku vois auttaa.

netman87 [06.10.2005 09:16:04]

#

siis...

Private Sub Form_Unload(Cancel As Integer)
Cancel = -1
End Sub

eikö toi estä alt + f4?

mietityttää vaan että miten katon tiedostonimen mukaa mitä sammuttaa :D

Mikovits [25.03.2006 10:20:50]

#

jostakin syystä en saa tuota toimimaan Alt + F4 toimii edelleen. Tarvisin koodin joka estää alt + f4:n käytön (koodaan visual studio .NET:illä)
Auttaisiko joku?

jounithenerd [24.04.2006 22:49:37]

#

En saa toimii. Olis kiva jos olis merkitty mikä menee moduuliin.

jounithenerd [02.05.2006 18:02:14]

#

Mun Visual Basic antaa aina virheilmoituksen "FindWindow"- komennon kohdalla.

moptim [03.07.2006 15:15:27]

#

ihq

moptim [16.08.2006 21:26:45]

#

jounithenerd, mikä wintoosa sulla on? xp:llä pitäs toimii ja 98:lla

moptim [16.08.2006 21:28:15]

#

ja enkku xp:ssä ja 98:ssa puree tietysti

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Private Const PROCESS_TERMINATE = &H1

Private Sub Command1_Click()
   Dim hwnd As Long, pid As Long, ph As Long
   ' etsitään hwnd, huomaa vbNullString (0 ei toimi tässä)
   hwnd = FindWindow(vbNullString, "Windows Task Manager")
   ' hankitaan pid
   GetWindowThreadProcessId hwnd, pid
   ' prosessin kahva
   ph = OpenProcess(PROCESS_TERMINATE, 0, pid)
   ' terminoidaan prosessi
   hwnd = TerminateProcess(ph, 0)
End Sub

Armee_1337 [27.12.2007 17:34:58]

#

eih toimi mullakaan toi

aloittelija1234 [09.02.2015 17:08:47]

#

voisko joku selittää miten toi koodi toimii (:

Eki++ [09.02.2015 18:04:46]

#

En ole mikään VB-ekspertti, mutta kommenteissa on vähän selitetty.

Private Declare Function SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lvpParam As Any, ByVal fuWinIni As Long) ' Haetaan user32-kirjastosta tarvittu funktio
Dim old As Boolean

Private Sub Form_Load() ' Funktio jota kutsutaan ohjelman alussa

    Dim stat As Long ' Määrittelyjä
    Dim sysparam As Long

    sysparam = 97 'SPI_SCREENSAVERRUNNING arvo
    stat = SystemParametersInfo(sysparam, True, old, 0) ' Kutsutaan haettua funktiota joka laittaa näytönsäästäjän mukamas päälle

End Sub

Private Sub Form_Unload(Cancel As Integer) ' Kutsutaan suljettaessa

    sysparam = 97
    stat = SystemParametersInfo(sysparam, False, old, 0) ' Näytönsäästäjävalehtelu pois

End Sub

En kokeillut, mutta olen aika varma ettei toimi enää nyky-Winukassa.

kayttaja-11960 [19.10.2015 19:24:04]

#

Eki++ kirjoitti:

En kokeillut, mutta olen aika varma ettei toimi enää nyky-Winukassa.

Kokeilin juuri äsken, eikä toiminut.


Sivun alkuun

Vastaus

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

Tietoa sivustosta