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
aika kiva
eiks oo. hyvä vaikka johonkin pilailuohjelmaan
on.. teepä joku pilailuohjelma nyt sitten :P
eäh, tota siis vois soveltaa vaikka siihen täällä jo olemassa olevaan pilaohjelmaan meinaan ei nyt uutta tarvi tehä
Ei toimi XP:ssä!!!
:(
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
joo ja toi winxp vinkki toimii myös 98ssa!
en saa tota toimii, (mul on xp) .... oisko neuvoi????
pitääks toi kaikki laitaa moduliin?
ei toimi kumpikaa xp:ssä :(
Monkkatsin systeemi toimii jos sen tunkee vaikka timeriin.
Saakos kerneliltä tai jostakin tota tehtävähallinnan nimee jos on erikielisii winei?
pistätte ton command1_clikin sijasta timeriin ja laitatte vaikka 10 intervalliksi ni se terminoi tehtävän hallinnan joka 10 millisekuntti
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
tällästä määä oon aiina halunnu!!!1
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.
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
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?
En saa toimii. Olis kiva jos olis merkitty mikä menee moduuliin.
Mun Visual Basic antaa aina virheilmoituksen "FindWindow"- komennon kohdalla.
ihq
jounithenerd, mikä wintoosa sulla on? xp:llä pitäs toimii ja 98:lla
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
eih toimi mullakaan toi
voisko joku selittää miten toi koodi toimii (:
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.
Eki++ kirjoitti:
En kokeillut, mutta olen aika varma ettei toimi enää nyky-Winukassa.
Kokeilin juuri äsken, eikä toiminut.
Aihe on jo aika vanha, joten et voi enää vastata siihen.