Geler le système comme dans win98 (Ctrl-Alt-Suppr)

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 4 sept. 2004 à 12:24
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 4 sept. 2004 à 16:08
Bonjour a tous
Voilà je cherche à faire la même chose que le gestionnaire des taches de win98, quand on le lance tous les processus sont bloqués et on peut donc supprimer les programmes qui nous embetent tranquillement... Ce qui sur XP ne se fait pas. En effet quand on le lance, tous les programmes tournent encore donc parfois ça rame beaucoup et c'est pas pratique pour supprimer des processus.

Voilà donc moi j'aimerais pouvoir bloquer le système et qu'il n'y ai que mon programme qui tourne, alors je voudrais savoir s'il existe une méthode pour faire ça.
Je pensait peut-être changer la priorité de tous les processus pour les mettre en "basse", et mettre mon processus en priorité "temps réel", mais si je veux vraiment bloquer les autres process alors il faut que mon programme calcule sans arrêt pour ne pas laisser le temps aux autres de s'executer, enfin ce n'est qu'une idée.

Si quelqu'un peut m'aider, merci
@ +
MadMatt

[mailto:MadMatt_12@Msn.com MSN]

4 réponses

tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
4 sept. 2004 à 14:59
salut ben c'est tout simplement impossible car le système de windows 98 est coopératif c'est à dire que les applications s'executent les unes derrières les autres, et qu'elle ont le jeton qu'elles doivent passer à leur voisin...si l'une d'entre elle ne le passe pas, cà fige... il y a donc les interruption logiciel (ctrl-alt-del) aisni le SE peut reprendre eventuellement la main. C'est pourquoi on est passé à NT; lui c'est un système préemptif, le SE génère automatiquement des interruptions après un laps de temps identique, ainsi le jeton passe de main en main sans que les programmes ne voit quoi que ce soit...
Revenons donc à nos moutons pour dire, que la seul possibilté pour figer les autres programmes, c'est de les mettres tous en niveau bas, seulement tu va te confronter au problème qeu tout les processus ne peuvent etre changer. déjà pour les changer je ne sais pas comment faire... Maintenant je m'y suis jamais interressé vu que chez moi (2000) aucun problème, mais j'avoue que sous xp, cà rame souvent. Maintenant essayé de faire une réattribution automatique des temps processeur n'est pas une bonne solution non plus car certains travaille en haute justement pour etre prioritaire. voilà je pense avoir dit assez :D
Amicalement TMCUH
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
4 sept. 2004 à 15:39
Salut TMCUH et merci pour ta réponse,
mais comme les plateformes non-NT sont "coopératives", on peut donc bloquer le système en faisant une boucle qui ne contient pas de DoEvents ?
Par contre sous NT je sais changer la priorité des processus, sauf certains qui, comme tu a dit, ne peuvent pas etre changés. Pour changer la priorité de ceux-la on m'a dit qu'il fallait changer leurs privilèges... Ce que je ne sais pas faire, donc ces processus restent encore un problème.
Mais j'essayerai peut-être alors de tester, voir ce que ça donne.
merci quand même de ta réponse
@ +
MadMatt

[mailto:MadMatt_12@Msn.com MSN]
0
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
4 sept. 2004 à 15:47
Tu parle de privilège c'est assez compliqué à mettre en oeuvre et sourtout dangeureux, il y a des règles bien précises en Système d'exploitation. Ils sont :
* un code peut accéder à de la donnée sur un niveau de privilège moins important que le code ou alors sur le meme niveau
* un code ne peut appeler un code que sur le meme niveau de privilège (raison de sécurité et stabilité)...

Si ton code doit faire appel à un niveau de privilège plus important (plus sécurisé), tu devra mettre en oeuvre ce qu'on appel des guichets... ceci auront comme privilège de faire passer du code d'étage inférieur vers supérieur. Renseigne toi sur tout ce qui est code conformant et non conformant... cà devrait t'aider, maintenant comment créer un système de guichet sous vb. Je dirais de faire appel à des api qui elle sont sur des niveau de privilège élevée... (pas une révélation). Reste plus qu'à la trouver loOol
Bon courage

Amicalement TMCUH
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
4 sept. 2004 à 16:08
Effectivement ça a l'air compliqué... Surtout que j'ai pas beaucoup de temps en ce moment pour me lancer dans quelquechose d'aussi long et perilleux, je crois que je vais laisser de coté les privilèges lol.
Mais au moins j'ai appris ce que c'était grace à toi, merci
@ +
MadMatt
0
Rejoignez-nous