Elikkäs.Työn alla kiva pikku pilailuohjelma joka kiusaa käyttäjäänsä oikeen olan takaa.Ongelmana on saada estettyä ctrl alt del jotta käyttäjä ei saisi ihan helposti lopetettua ohjelmaa.Jos joku viisas voisi neuvoa tuossa ongelmassa niin olisin hyvin kiitollinen:D
Eipä tuota näppäinyhdistelmää saa Windowsissa disabloitua - ja hyvä niin.
Pilaohjelmia maailmassa riittää. Mikset käyttäisi aikaasi hyödyllisemmin ja tekisi vaikka demoa?
Itseasiassa, moisen saa disabloitua perin helposti. Huijaa vain Windowsia luulemaan että päällä on näytönsäästäjä ja se on siinä..
-Grey-
Löysin täältä sivuilta tommosen https://www.ohjelmointiputka.net/koodivinkit/
Näytönsäästäjähuijaus toimii muistaakseni vain 9x-winukoissa.
XP:n prosessilistasta pystyy piilottamaan prosessin (kaikki hyvät troijalaiset piilottaa itsensä XP:n prosessilistasta).
Luulisin että tuo tapahtuu SetWindowsHookEx:n avulla.
katso jos tästä keskustelusta olisi apua:
https://www.ohjelmointiputka.net/keskustelu/7656-ohjelman-sulkemisen-estäminen
Tapa tehtävienhallinta ennenkuin se tappaa sinut.
EDIT: Joo se onkin tuossa ketjussa, johon esakom viittasi.
while(1) { HWND taskmgrhwnd = FindWindow(NULL, "Tehtävienhallinta"); if(taskmgrhwnd!=NULL) CloseWindow(taskmgrhwnd); }
mihnäs ton koodinpätkän sitten survon?
Monkkats kirjoitti:
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
Ja enkku winXP:eissä saa sen toimimaan muuttamalla "Windows tehtävänhallinnan" joksku Windoze Process Manager tjsp..
muutat sen windows task manager tjtn
Eikö käy taskmgr.exen tappo?
ei suostu kääntämään sitten millään vaikka mihin väliin survoisin
No ei varmaan suostukaan, kun tuo koodi on C:tä. Ei sitä nyt ihan mahdotonta ole VB:lle kääntää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.