begin process at 2010 02 10 12:54:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > FERMER GROUPE DE PROGRAMME AVEC UNE TOUCHE

FERMER GROUPE DE PROGRAMME AVEC UNE TOUCHE


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Classé sous :kill, killapp, fermer, cacher, programme Niveau :Initié Date de création :05/12/2007 Date de mise à jour :05/12/2007 12:43:27 Vu / téléchargé :4 083 / 290

Auteur : Huugooo

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Pour des raisons pratiques ou pour ceux qui surfent ou glandent au bureau et qui ne veulent pas que ça se remarque.

Voici un petit programme qui permet de killer un ensemble de programme par l'appui d'une touche que vous pouvez configurer.

C'est beaucoup plus rapide de fermer IE en appuyant sur une touche que d'attraper sa souris pour viser la petite croix.

Par défaut :                                  
Appuyez 3 fois sur * (pavé numérique) pour lancer la config du programme
Appuyez 2 fois sur - pour killer Internet Explorer

Modifier NbAppuis et NbAppuisConfig pour choisir combien de fois appuyer pour lancer l'action

Source

  • unit Unit1;
  • {Par défaut :
  • Appuyez 3 fois sur * (pavé numérique) pour lancer la config du programme
  • Appuyez 2 fois sur - pour killer Internet Explorer
  • Modifier NbAppuis et NbAppuisConfig pour choisir combien de fois appuyer pour lancer l'action }
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, ExtCtrls, StdCtrls, Buttons, TlHelp32, ButtonWST ;
  • const
  • NbAppuis = 2;
  • NbAppuisConfig = 3;
  • type
  • TForm1 = class(TForm)
  • TimRazTouches: TTimer;
  • TimDetectTouches: TTimer;
  • Label1: TLabel;
  • ediProcessus1: TEdit;
  • Label2: TLabel;
  • ediTouche: TEdit;
  • ediProcessus2: TEdit;
  • ediProcessus3: TEdit;
  • ediProcessus4: TEdit;
  • ediProcessus5: TEdit;
  • SpeedButton1: TSpeedButton;
  • SpeedButton2: TSpeedButton;
  • procedure TimRazTouchesTimer(Sender: TObject);
  • procedure TimDetectTouchesTimer(Sender: TObject);
  • procedure ediToucheKeyDown(Sender: TObject; var Key: Word;
  • Shift: TShiftState);
  • procedure SpeedButton2Click(Sender: TObject);
  • procedure FormCreate(Sender: TObject);
  • procedure SpeedButton1Click(Sender: TObject);
  • private
  • { Déclarations privées }
  • Touches : array [1..NbAppuis * 2] of Integer;
  • TouchesConfig : array [1..NbAppuisConfig * 2] of Integer;
  • Touche: Integer;
  • procedure AjouterTouche(const Valeur: Integer; var TouchesLoc : array of Integer);
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Form1: TForm1;
  • PasEncoreCachee: Boolean = True;
  • implementation
  • {$R *.dfm}
  • procedure TForm1.AjouterTouche(const Valeur: Integer; var TouchesLoc : array of Integer);
  • var i: Integer;
  • begin
  • for i:= 0 to High(TouchesLoc) do
  • begin
  • if (TouchesLoc[i] = 0) then
  • begin
  • if (i = 0) or (TouchesLoc[i - 1] <> Valeur) then
  • begin
  • TouchesLoc[i]:= Valeur;
  • TimRazTouches.Enabled:= False;
  • TimRazTouches.Enabled:= True;
  • end;
  • Break;
  • end;
  • end;
  • end;
  • procedure TForm1.TimRazTouchesTimer(Sender: TObject);
  • begin
  • FillChar(Touches, SizeOf(Touches), 0);
  • FillChar(TouchesConfig, SizeOf(TouchesConfig), 0);
  • end;
  • function KillProcess(const ProcessName : string) : boolean;
  • var ProcessEntry32 : TProcessEntry32;
  • HSnapShot : THandle;
  • HProcess : THandle;
  • begin
  • Result := False;
  • HSnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  • if HSnapShot = 0 then Exit;
  • ProcessEntry32.dwSize := sizeof(ProcessEntry32);
  • if Process32First(HSnapShot, ProcessEntry32) then
  • repeat
  • if CompareText(ProcessEntry32.szExeFile, ProcessName) = 0 then
  • begin
  • HProcess := OpenProcess(PROCESS_TERMINATE, False, ProcessEntry32.th32ProcessID);
  • if HProcess <> 0 then
  • begin
  • Result := TerminateProcess(HProcess, 0);
  • CloseHandle(HProcess);
  • end;
  • Break;
  • end;
  • until not Process32Next(HSnapShot, ProcessEntry32);
  • CloseHandle(HSnapshot);
  • end;
  • procedure TForm1.TimDetectTouchesTimer(Sender: TObject);
  • begin
  • if PasEncoreCachee then
  • Visible:= False; //ShowWindow(Form1.Handle ,SW_HIDE);
  • PasEncoreCachee:= False;
  • if (GetKeyState(Touche) <> 0) and (GetKeyState(Touche) <> 1) then
  • begin
  • AjouterTouche(1, Touches);
  • if Touches[High(Touches)] <> 0 then
  • begin
  • FillChar(Touches, SizeOf(Touches), 0);
  • if ediProcessus1.Text <> '' then
  • KillProcess(ediProcessus1.Text);
  • if ediProcessus2.Text <> '' then
  • KillProcess(ediProcessus2.Text);
  • if ediProcessus3.Text <> '' then
  • KillProcess(ediProcessus3.Text);
  • if ediProcessus4.Text <> '' then
  • KillProcess(ediProcessus4.Text);
  • if ediProcessus5.Text <> '' then
  • KillProcess(ediProcessus5.Text);
  • end;
  • end
  • else
  • AjouterTouche(2, Touches);
  • if (GetKeyState(VK_MULTIPLY) <> 0) and (GetKeyState(VK_MULTIPLY) <> 1) then
  • begin
  • AjouterTouche(1, TouchesConfig);
  • if TouchesConfig[High(TouchesConfig)] <> 0 then
  • begin
  • FillChar(TouchesConfig, SizeOf(TouchesConfig), 0);
  • Visible:= True;
  • end;
  • end
  • else
  • AjouterTouche(2, TouchesConfig);
  • end;
  • procedure TForm1.ediToucheKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  • begin
  • ediTouche.Text:= IntToStr(Key);
  • end;
  • procedure TForm1.SpeedButton2Click(Sender: TObject);
  • begin
  • Visible:= False;
  • Touche:= StrToInt(ediTouche.Text);
  • end;
  • procedure TForm1.FormCreate(Sender: TObject);
  • begin
  • Touche:= 109;
  • ediTouche.Text:= IntToStr(Touche);
  • end;
  • procedure TForm1.SpeedButton1Click(Sender: TObject);
  • begin
  • MessageDlg('Hugo Bulthé : hugo.bulthe@free.fr'+#13#10#13#10+'Pour être tranquille au bureau :-)'+#13#10#13#10+'Renseignez le nom des processus à killer.'+#13#10+'Pour changer la touche qui lance l''action, placez-vous dans la zone code touche et appuyez sur une touche.'+#13#10#13#10+'Pour killer tous les processus renseignés, appuyez plusieurs fois sur la touche configurée.', mtInformation, [mbOK], 0);
  • end;
  • end.
unit Unit1;

  {Par défaut :                                   
   Appuyez 3 fois sur * (pavé numérique) pour lancer la config du programme
   Appuyez 2 fois sur - pour killer Internet Explorer
   Modifier NbAppuis et NbAppuisConfig pour choisir combien de fois appuyer pour lancer l'action }

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, TlHelp32, ButtonWST ;

const
  NbAppuis = 2;
  NbAppuisConfig = 3;

type

  TForm1 = class(TForm)
    TimRazTouches: TTimer;
    TimDetectTouches: TTimer;
    Label1: TLabel;
    ediProcessus1: TEdit;
    Label2: TLabel;
    ediTouche: TEdit;
    ediProcessus2: TEdit;
    ediProcessus3: TEdit;
    ediProcessus4: TEdit;
    ediProcessus5: TEdit;                               
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    procedure TimRazTouchesTimer(Sender: TObject);
    procedure TimDetectTouchesTimer(Sender: TObject);
    procedure ediToucheKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Déclarations privées }
    Touches : array [1..NbAppuis * 2] of Integer;
    TouchesConfig : array [1..NbAppuisConfig * 2] of Integer;
    Touche: Integer;

    procedure AjouterTouche(const Valeur: Integer; var TouchesLoc : array of Integer);
  public
    { Déclarations publiques }
  end;                        

var
  Form1: TForm1;
  PasEncoreCachee: Boolean = True;

implementation

{$R *.dfm}
procedure TForm1.AjouterTouche(const Valeur: Integer; var TouchesLoc : array of Integer);
var i: Integer;
begin
  for i:= 0 to High(TouchesLoc) do
  begin
    if (TouchesLoc[i] = 0) then
    begin
      if (i = 0) or (TouchesLoc[i - 1] <> Valeur) then
      begin
        TouchesLoc[i]:= Valeur;
        TimRazTouches.Enabled:= False;
        TimRazTouches.Enabled:= True;
      end;
      Break;
    end;
  end;
end;

procedure TForm1.TimRazTouchesTimer(Sender: TObject);
begin
  FillChar(Touches, SizeOf(Touches), 0);
  FillChar(TouchesConfig, SizeOf(TouchesConfig), 0);
end;

function KillProcess(const ProcessName : string) : boolean;
var ProcessEntry32 : TProcessEntry32;
    HSnapShot : THandle;
    HProcess : THandle;
begin
  Result := False;
  HSnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if HSnapShot = 0 then Exit;
  ProcessEntry32.dwSize := sizeof(ProcessEntry32);
  if Process32First(HSnapShot, ProcessEntry32) then
  repeat
    if CompareText(ProcessEntry32.szExeFile, ProcessName) = 0 then
    begin
      HProcess := OpenProcess(PROCESS_TERMINATE, False, ProcessEntry32.th32ProcessID);
      if HProcess <> 0 then
      begin
        Result := TerminateProcess(HProcess, 0);
        CloseHandle(HProcess);
      end;
      Break;
    end;
  until not Process32Next(HSnapShot, ProcessEntry32);
  CloseHandle(HSnapshot);
end;


procedure TForm1.TimDetectTouchesTimer(Sender: TObject);
begin
  if PasEncoreCachee then
    Visible:= False; //ShowWindow(Form1.Handle ,SW_HIDE);

  PasEncoreCachee:= False;
  if (GetKeyState(Touche) <> 0) and (GetKeyState(Touche) <> 1) then
  begin
    AjouterTouche(1, Touches);
    if Touches[High(Touches)] <> 0 then
    begin
      FillChar(Touches, SizeOf(Touches), 0);
      if ediProcessus1.Text <> '' then
        KillProcess(ediProcessus1.Text);
      if ediProcessus2.Text <> '' then
        KillProcess(ediProcessus2.Text);
      if ediProcessus3.Text <> '' then
        KillProcess(ediProcessus3.Text);
      if ediProcessus4.Text <> '' then
        KillProcess(ediProcessus4.Text);
      if ediProcessus5.Text <> '' then
        KillProcess(ediProcessus5.Text);
    end;
  end
  else
    AjouterTouche(2, Touches);

  if (GetKeyState(VK_MULTIPLY) <> 0) and (GetKeyState(VK_MULTIPLY) <> 1) then
  begin
    AjouterTouche(1, TouchesConfig);
    if TouchesConfig[High(TouchesConfig)] <> 0 then
    begin
      FillChar(TouchesConfig, SizeOf(TouchesConfig), 0);
      Visible:= True;
    end;
  end
  else
    AjouterTouche(2, TouchesConfig);
end;

procedure TForm1.ediToucheKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  ediTouche.Text:= IntToStr(Key);
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  Visible:= False;
  Touche:= StrToInt(ediTouche.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Touche:= 109;
  ediTouche.Text:= IntToStr(Touche);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  MessageDlg('Hugo Bulthé : hugo.bulthe@free.fr'+#13#10#13#10+'Pour être tranquille au bureau :-)'+#13#10#13#10+'Renseignez le nom des processus à killer.'+#13#10+'Pour changer la touche qui lance l''action, placez-vous dans la zone code touche et appuyez sur une touche.'+#13#10#13#10+'Pour killer tous les processus renseignés, appuyez plusieurs fois sur la touche configurée.', mtInformation, [mbOK], 0);
end;

end.

 Conclusion

Le code n'est pas super optimisé mais bon ça suffit amplement.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

05 décembre 2007 12:43:27 :
Oubli ptit commentaire

 Sources du même auteur

Source avec Zip PROTECTION COPIE CD, OU PROGRAMME SUR DONGLE USB

 Sources de la même categorie

Source avec Zip GÉNÉRATEUR DE JET DE DÉS par koriteki
Source avec Zip Source avec une capture LES FIBERS : DES THREADS NON PRÉEMPTÉS PAR LE SYSTÈME par Caribensila
Source avec Zip Source avec une capture UAC (USER ACCOUNT CONTROL) - EXÉCUTER UNE APPLICATION EN TAN... par ni69
BLOQUER LE TASKMGR SANS CLÉ DE REGISTRE par craftsystem
Source avec Zip UTILISER LES MESSAGES WINDOWS POUR GERER LE NOMBRE D'INSTANC... par lotfi213_b19

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture WINHIDER _ CACHER UN PROGRAMME DE L'ÉCRAN ET DE LA BARRE DE ... par soldier8514
Source avec Zip MASQUER UN REPERTOIRE par L_art_ment
Source avec Zip Source avec une capture PROGDEM par bobbyantho
Source avec Zip Source avec une capture PLANIFIER L'EXTINCTION DE WINDOWS OU DE PROCESSUS par elguevel
Source avec Zip CACHER LE NOM D'UNE APPLICATION DE LA LISTE DES PROCESSUS DA... par fiba

Commentaires et avis

Commentaire de John Dogget le 05/12/2007 14:02:18

Bon code :)
Cela dit attention aux processus à tuer, parce que c'est une methode assez "bourrin" ...
Suivant les processus, ça peut passer outre des liberations de mémoire, l'enregistrement de certains fichiers de config etc.

Commentaire de Huugooo le 05/12/2007 14:07:33

Oui oui, jme doute. Mais bon avec IE ont est plus à ça prêt =)

Commentaire de John Dogget le 05/12/2007 14:22:54

Et sinon, ça te sers à quoi de masquer la fenetre du programme ??
C'est pas terrible comme idée ...

On risque de lancer dix fois le truc alors qu'il est déjà en cours.
Vu le code, on le lance, et il se passe ... rien !

Commentaire de Huugooo le 06/12/2007 10:20:41

Oui il se passe rien et c'est le but justement. En tout cas il servira plus qu'un crackeur de score au pinball...
Il sert déja à mes collègues.

Commentaire de nethacker le 14/12/2007 10:10:43 8/10

Counter Strike :p merci pour cette source en tout cas ! je l'ai trouvé tres utile ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Impossible de fermer le programme [ par manu00 ] Salut,J'ai un petit soucis.J'ai fais un programme avec un boucle dedans qui doit executer un truc tout les XX secondes.Seulement, a chaque boucle (et Cacher la fenêtre principale au démarrage du programme [ par rguef ] Bonjour,Je n'arrive pas à cacher la fenêtre principale de mon programme à son démarrage, j'utilisais Systray de la RXLib : elle était visible, j'ai te j'ai besoin d'aide "fermer une application avec une autre application kill process" [ par titoleboss ] Titolebossj'aimerai avant toute chose vous remercier par ce que garce au site et a tous ce qui le font j'ai pu apprendre beaucoup de chose ...enfin j Lancer un programme externe [ par Francky23012301 ] Salut à tous Imaginez que vous avez une FORM et deux boutons OUVRIR FERMER. Ma question est quelle est la source pour que : *Quand on clique sur OUV Repérer un programme inactif et le fermer... [ par marignan1515 ] Bonjour,Voilà mon problème. Je veux créer une application qui chaîne plusieurs diaporamas faits par des enfants. Ces diaporamas sont en exe... avez-vo Fermer un process sans sa DLL [ par christophedlr ] Bonjour,Pour mon programme je voudrais faire un système de mise à jour.Je pensais à faire une DLL, mais on arrive à ma question.Quand on provoque la f fermer un programme en stoppant son processus [ par li ] et bien toute est dans le non jaimerais depuis mon application fermer des processus&nbsp;; celui de norton par exemple ou toute autre programme alors Cacher un mot de passe... [ par TiDaN326 ] Bonjour à tous...J'ai un léger problème de sécurité... J'ai un programme qui accède à une base de donnée... Évidemment, le mot de passe d'accès à cett cacher programme de msconfig [ par ced55957 ] bonjour a tous Voila j'ai un bout de code dans mon programme qui me permet de demarrer mon application au demarrage de windows. Le probleme est que exemple de programme en turbo pascal [ par romualdus ] je suis a la recherche d'exemples de programmes en turbo pascal pour mieux comprendre la methode pour pouvoir ecrire des programmes dans ce langage .M


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales