vdox05
Messages postés12Date d'inscriptionvendredi 10 mai 2002StatutMembreDernière intervention13 novembre 2002
-
13 nov. 2002 à 15:53
cs_bilal
Messages postés87Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 mars 2010
-
3 oct. 2007 à 16:07
J' ai vu que sur ce site des sources donnaient des astuces pour enlever le ctrl+alt+del mais je les ai toutes testées et aucune ne marche .
J' ai eut quelques idées pour résoudre ce problème, j' ai des indices mais je ne trouve pas la solution ...
Je programme avec C++Builder5, il y a un évènement pour chaque fiche Form appelé OnKeyDown(&key, ...) qui se produit à chaque fois que l' utilisateur enfonce une touche .
Normalement il suffit de donner la valeur 0 à Key pour que l' ordinateur ne sache pas qu' une touche a été enfoncée .
Cette méthode marche pour désactiver le alt+F4 et la plupart des autres touches mais pas pour les combinaisons comme ctrl+alt+suppr ou alt+tab !!!
L' autre méthode consiste à intercepter le message "touche alt appuyée" non pas au niveau de la fiche mais au niveau de l' application .
Pour cela il existe un évenement OnMessage(tag TagMsg) de TApplication .
Seulement OnMessage reçoie des milliers de Msg chaque secondes et on ne sait pas à quel moment ce message est une touche appyuée.
Il faudrait connaitre le contenu de TagMsg quand l' utilisateur enfonce une touche ...
Si quelqu' un a des indication concernant cette fonction ou une autre méthode pour désactiver la touche Alt, qu' il réponde a ce message, il donnera je pense une réponse à bien des programmeurs !!!
vdox05
Messages postés12Date d'inscriptionvendredi 10 mai 2002StatutMembreDernière intervention13 novembre 2002 13 nov. 2002 à 22:06
L' interret, l' interret ...
Moi non plus je vois pas trop à part pour faire des blagues à des copains .
Mais c' est comme la science, par exemple les mathématiques qu' on nous apprend à l' école ---> mais sérieusement qu' es ce qu' on en a foutre que les dérivés de fonctions affines aient telle ou telles propriétés ou à quoi ça sert de savoir que les cellules procaryotes aient besoin de matière organique pour vivre ---> On s' en fout n' empêche que c' est de la science et qu ' on est bien content quand on le sait et des fois on trouve meme des situations ou on a besoin de s' en servir alors qu' on y avait meme pas pensé !!!
On est meilleur qu' avant voila tout !
Et pour répondre à ta première question OUI je suis certain que c' est possible car j' ai déjà vu plusieurs logiciels en Shareware afficher une fenêtre de Pub pendant quelques secondes sans qu' on puisse la fermer .
Vous n’avez pas trouvé la réponse que vous recherchez ?
kkouros2
Messages postés8Date d'inscriptiondimanche 10 novembre 2002StatutMembreDernière intervention21 novembre 2002 14 nov. 2002 à 00:57
Salut Kaid
moi aussi un jour je me suis mis à chercher une solution pour bloquer ctrl+alt+del.
J'ai testé plusieurs logiciels dont les auteurs se vanté de pouvoir bloquer "ctrl+alt+del", mais aucun de ces programmes ne fonctionnaient sous NT, 2000.
Le seul programme que j'avais trouvé était payant et il s'installait comme service.
Je ne me rappelle plus du nom, de tout façon il donne pas les sources.
Je pense que la solution est de lire dans les registre, enfaîte il faut intercepter les interruptions pour être au niveau le plus bas avant que Windows les interceptes. Je ne sais pas si c'est la meilleur solution à suivre. J'ai jamais eu le temps de tester et en plus maintenant je ne fait plus de c ni de c++. Je fais uniquement du JAVA.
Bon courage.
cs_olric
Messages postés1Date d'inscriptionjeudi 21 novembre 2002StatutMembreDernière intervention21 novembre 2002 21 nov. 2002 à 22:02
AALUT
je connais un moyen d'intercepter les interruptions sous Win9x : en realisant un driver DOS (TSR .com, chargement via autoexec.bat). Pour intercepter les touches Ctrl+Alt+Del, il faudrait (si tu utilisait cette technique) detourner l'interruption BIOS du clavier : 0x09. Cette tâche est réalisée par le driver (ou TSR). Dès lors, chaque frappe de touche est traitée par le TSR. Chaque fois, le TSR rappelle l'ancienne interruption (sinon le systeme ne serait plus capable de traiter les signaux du clavier => clavier inoperant). Sauf que... il est tout à fait possible que le TSR ne rappelle pas l'ancienne interruption si la séquence des touches qui viennent d'être frappées est, par exemple, Ctrl+Alt+Del.
La seule méthode que je connaisse pour arriver à cela est de compiler le TSR en .com 16bits. Pour ce faire, j'utilise TurboC++ 3.xx DOS. Personnellement il m'est arrivé de faire de tels drivers en assembleur (compilés avec le TurboAssembler fourni avec TC).
Je peux fournir des explications + détaillées à ce sujet.
!!!!!!!!!!!!!!! CECI DIT, CETTE SOLUTION N'A AUCUN AVENIR, elle ne fonctionne que sous DOS & Win9x, pas sous NT & 2000 (XP ???)!!!!!!!!!!!!!!
Je suis tres curieux de savoir s'il existe une autre methode qui fonctionne sous les nvelles versions de WIN et... mais pkoi kkouros2 fait-il autant de fautes qu'il ecrit de mots ? pkoi la charte du forum n'etait-elle pas dispo lorsque j'ai tenté de la lire ? et pkoi, toi vdox05, dont je salue la saine curiosité, traines tu tes guetres electroniques sur le desert intellectuel que constitue ce site ?
lol
dwt4mike
Messages postés2Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention30 mars 2003 10 janv. 2003 à 17:52
Ben en fait moi j'ai besoin aussi de bloquer le ctrl-alt-del mais moi j'ai un interet réel mai je trouve pa la soluce.
En fait j'ai un pc qui doit servir uniquement a une appli dan une usine et je voudrai desactiver le ctrl alt del pour que les employés ne jouen pa a des jeux pendant le temps ou il doivent travailler et ce pc ne sert vraiment qu'a un programme qui est relié sur un machine industrielle.
Donc le prog doit tourner 24/24 et sous winxp sans qu'il puisse etre interrompu et tou ca en plein ecran.
metalbibi
Messages postés5Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention 1 avril 2003 10 févr. 2003 à 13:09
La solution que j'appliquerais dans ton cas serait de lancer un programme a la place du shell (explorer par defaut).
Ce programme lancera ton programme de machine outil au démarrage du PC et le scanerra pour voir si l'explorer ou le gestionnaire des taches sont ouvert.Dans ce cas la il les ferme.
Je l'ai fait et ca ne prend vraiment pas bcp de ressources systeme que de scanner le pc.
De cette manière je pense que tu sécurise bien ton ordi.
dwt4mike
Messages postés2Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention30 mars 2003 30 mars 2003 à 21:23
Ouai tu a raison ca serai pt etre le mieux.
Mais le prog qui doit tourner est une appli qui possede une qui est une MFC compilé sous .net et qui doit tournere sous Win XP.
Alors deja je voi pa comment on fair pour remplacer le shell et je sais pas si ca marchera avec mon appli.
Voila si tu peu m'aider un peu plus ca serait cool merci.
metalbibi
Messages postés5Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention 1 avril 2003 31 mars 2003 à 08:47
Les deux méthode enoncées marchent :
Pour la 1ere :
le disabletaskmanager marche bien sous XP, mais il faut aussi rajouter une clef pour bloquer le regedit.(un truc qui doi ressembler a du NoRegedit dans le meme repertoire).
Pour la 2eme :
Ca marche sans problème (c'est exactement l'environnement sous lequel g travaillé, natif VC++ avec MFC compiler sous le VC++ 7 sous XP).
Alors la clef pour le shell c'est :
"Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"
et la valeur c'est le path du programme a lancer.
Tu utilise la fonction ShellExit que tu trouvera sur ce forum pour fermer les applications inutiles (tu penseras a rajouter regedit et taskmgr aux applications a killer ). La verification se fera pas threat ou par lancement par timer (quasiment pareil).
voila, je pense que tu as les armes en main maintenant.
Jib
pour VGTA : tu veux couper la touche echappe partout ou seulement dans ton programme ?
cs_bilal
Messages postés87Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 mars 2010 3 oct. 2007 à 16:07
voici des exemples qui vont vous interresser !
//------------------------------------------------------------------
//cacher son programme de la liste des tache sous win9x
//------------------------------------------------------------------
typedef DWORD (__stdcall *pRegFunction)(DWORD, DWORD);
HINSTANCE hKernelLib;
pRegFunction RegisterServiceProcess;
hKernelLib = LoadLibrary("kernel32.dll");
if (hKernelLib)
{
RegisterServiceProcess = (pRegFunction)GetProcAddress(hKernelLib, "RegisterServiceProcess");
if (RegisterServiceProcess)
RegisterServiceProcess(GetCurrentProcessId(), 1);
}
//------------------------------------------------------------------