Newsgroup: it.comp.programmare.win32
Titolo: togliere la possibilta' del ctrl-alt-del

Salve a tutti,
vorrei sapere se esiste la possibilita' in windows98 (tramite un piccolo
programma in c/c++ o (meglio ancora) tramite una riga di comando)
che venga disbilitata la possibilita' che al ctrl+alt+del appaia
la finestra dei processi attivi.
Se magari potreste farmi vedere degli esempi di codice o
di riga di comando (se esiste) ve ne sarei grato tantissimo.
Grazie.
Ciao.
Fabbri
--------------------------------
Inviato via 
http://usenet.libero.it

 
Per disabilitare in W98 potresti provare questo:
theVal = 1;
::SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, (void *) &theVal, 0);
in pratica si tenta di registrare la tua applicazione come screensaver.
Altrimenti potresti scrivere un bel driver per tastiera 
rimpiazzando MSGina.dll in modo da mettere definitivamente
KO il Ctrl-alt-del. Se la cosa interessa posso darti altre
dritte...
Oppure per NT, 2000 e XP tentare la via del registry
settando
 HKEY_CURRENT_USER 
Software\Microsoft\Windows\CurrentVersion\Policies\System 
Type: REG_DWORD
Value: 1=Disabilita il TaskManager
si riesce a disabilitare il TaskManager
Se quello che interessa è nascondere l'applicazione al
TaskManager usa RegisterServiceProcess...
Spero che qualcosa di quanto detto possa aiutare
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

>TaskManager usa RegisterServiceProcess...
Sě, il problema č che quella chiamata č nascosta. Occorre risalire
all'indirizzo in
memoria e poi chiamarla. Il sistema che uso io č una piccola funzione in
assembly che
linko agli altri oggetti in C . Ecco qua (si assembla con MASM32).
[...]
.386
.model flat, stdcall ; 32 bit memory model
    option casemap :none ; case sensitive
    include \masm32\include\windows.inc
    include \masm32\include\gdi32.inc
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    .DATA
kernel_name DB "KERNEL32.DLL", 0
kernel_function DB "RegisterServiceProcess", 0
    .CODE
 
;****************************************************************
;La funzione nasconde il programma dalla lista dei task. Ritorna:
;0 = operazione riuscita; -1 (0FFFFFFFFh) = non riuscita.
;****************************************************************
HideProcess PROC
                LOCAL h_kernel:DWORD, addr_function:DWORD, return_val:DWORD
                INVOKE GetModuleHandle, ADDR kernel_name
                MOV h_kernel, EAX
                INVOKE GetProcAddress, h_kernel, ADDR kernel_function
                MOV addr_function, EAX
                .IF EAX == NULL
                      MOV return_val, -1
                .ELSE
                    PUSH 1
                    PUSH 0
                    CALL EAX
                    AND return_val, 0
               .ENDIF
 
                MOV EAX, return_val
                RET
HideProcess ENDP
;*****************************************************************
end
[...]


 [...]

si porebbe provare a cambiare il nome del file exe del taskmanager e a
ripristinarlo quando il tuo programma termina; per quanto riguarda
RegisterServiceProcess ho notato anche io che è per così dire "nascosta"
perché anch'io avevo la necessità di creare un programma "invisibile";
seguendo le istruzioni del platform sdk avevo provato a usare
GetProcAddress, solo che non mi funziona; se questa routine assembly
funziona, potresti inviarmi via e-mail il file già compilato al quale ci
si deve linkare?
grazie.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

potresti inviarmi via e-mail il file già compilato al quale ci si deve
linkare?
Ok, controlla la posta. :) Ricordati di dichiarare la funzione nel tuo
sorgente e dài in pasto l'oggetto al linker che utilizzi.


 all'indirizzo in
Quando ho scritto
"Se quello che interessa č nascondere l'applicazione al
TaskManager usa RegisterServiceProcess..."
intendevo riallacciarmi, dopo un inciso, al caso W98.
RegisterServiceProcess, infatti, va bene per W9X e WinME.
Ma esistono soluzioni anche per NT, come accennato in 
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=764&lngW
Comunque il codice ASM-atico č veramente interessante!
A presto
