begin process at 2012 02 11 08:48:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > DIR2DOS - POUR OUVRIR CMD.EXE DIRECTEMENT SUR LE RÉPERTOIRE UTILE.

DIR2DOS - POUR OUVRIR CMD.EXE DIRECTEMENT SUR LE RÉPERTOIRE UTILE.


 Information sur la source

Note :
5 / 10 - par 3 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :registre, msdos, contextuel, explorateur, utilitaire Niveau :Initié Date de création :21/07/2006 Vu / téléchargé :13 596 / 504

Auteur : GenEars

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

 Description

Cette mini-application sert depuis l'Explorateur Windows à ouvrir une fenêtre de commande MsDOS directement dans le répertoire concerné.

* L'interface utilisateur sert à Activer/désactiver la fonction Dir2DOS

* Une fois activée, un click-droit sur un fichier, raccourci ou répertoire propose d'ouvrir la ligne de commande

* La fonction renvoie au programme Dir2DOS qui interprète le chemin et déclenche le programme Cmd.exe
  sur le chemin désigné.

Le tout travaille avec la base de registre... aussi Dir2DOS ne fonctionnera pas pour les comptes sans privilèges suffisants.


Ci-après, le code d'interprétation de la fonction Dir2DOS (le code de l'interface est dans une autre unité) ...

Source

  • program Dir2DOS;
  • // =============================================================================
  • // Dir2DOS
  • //
  • // Ouverture d'une fenêtre 'Commande MsDOS' sur le chemin désigné par
  • // une fenêtre ouverte de l'Explorateur Windows.
  • //
  • // Lionel T. @ www.2Ears.net
  • // Juillet 2006
  • //
  • // =============================================================================
  • uses
  • Windows,
  • Forms,
  • ShellApi,
  • SysUtils,
  • Dir2DosCode in 'Dir2DosCode.pas' {Dir2DOSWindows};
  • var
  • Data1,
  • Data2 : String;
  • {$R *.RES}
  • // Processus premier :
  • // Active l'ouverture d'une fenêtre 'Cmd.exe' si '-dir' est en option commande,
  • // sinon, met en oeuvre la fiche 'Dir2DOSWindows' de commande.
  • begin
  • // Vérification qu'une seule instance de Dir2DOS est active (/Registre)
  • SetLastError(NO_ERROR);
  • CreateMutex (nil, False, 'Dir2DOS');
  • if GetLastError = ERROR_ALREADY_EXISTS then Exit;
  • // Initialisation et traîtement des paramètres de la ligne de commande Reg.
  • Application.Initialize;
  • Application.Title := 'Dir2DOS';
  • Data1 := ParamStr(1);
  • if Data1 <> '-dir' then begin
  • Application.CreateForm(TDir2DOSWindows, Dir2DOSWindows);
  • Application.Run;
  • end
  • else begin
  • Data2 := ParamStr(2);
  • ShellExecute(0, 'OPEN', PChar('Cmd.exe'), Nil, PChar(ExtractFilePath(Data2)), SW_SHOW);
  • end;
  • end.
program Dir2DOS;

// =============================================================================
//   Dir2DOS
//
//   Ouverture d'une fenêtre 'Commande MsDOS' sur le chemin désigné par
//   une fenêtre ouverte de l'Explorateur Windows.
//
//   Lionel T. @ www.2Ears.net
//   Juillet 2006
//
// =============================================================================

uses
  Windows,
  Forms,
  ShellApi,
  SysUtils,
  Dir2DosCode in 'Dir2DosCode.pas' {Dir2DOSWindows};

var
  Data1,
  Data2       : String;

{$R *.RES}

// Processus premier :
// Active l'ouverture d'une fenêtre 'Cmd.exe' si '-dir' est en option commande,
// sinon, met en oeuvre la fiche 'Dir2DOSWindows' de commande.

begin
  // Vérification qu'une seule instance de Dir2DOS est active (/Registre)
  SetLastError(NO_ERROR);
  CreateMutex (nil, False, 'Dir2DOS');
  if GetLastError = ERROR_ALREADY_EXISTS then Exit;

  // Initialisation et traîtement des paramètres de la ligne de commande Reg.
  Application.Initialize;
  Application.Title := 'Dir2DOS';

  Data1 := ParamStr(1);

  if Data1 <> '-dir' then begin
     Application.CreateForm(TDir2DOSWindows, Dir2DOSWindows);
     Application.Run;
     end

  else begin
     Data2 := ParamStr(2);
     ShellExecute(0, 'OPEN', PChar('Cmd.exe'), Nil, PChar(ExtractFilePath(Data2)), SW_SHOW);
  end;

end.

 Conclusion

Il n'y aura pas de mises-à-jour de ce programme...

l'exécutable sera bientôt disponible sur mon web...

le code a été compilé sur Delphi v2.0...

et testé sur Win NT et XP.

A la prochaine :)

 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


 Sources du même auteur

Source avec Zip Source avec une capture RENOMMAGE INCRÉMENTIEL - AUTOREN
Source avec Zip ORGDOT : ARRANGEUR DE FENÊTRES WINDOWS

 Sources de la même categorie

Source avec Zip LECTURE DE LA MEMOIRE D'UN AUTRE PROCESSUS par Mokost
Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture OBSERVATEUR DE PROCESSUS ACTIFS; VPROCESS 1,0 par Neftali
UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT par ThWilliam
Source avec une capture VOTRE PROGRAMME DE MAIL COMME CLIENT MAIL PAR DÉFAUT SOUS WI... par MAURICIO

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DESKTOPICONFLYING par cantador
Source avec Zip Source avec une capture PSP SFOREADER par NeO78
Source avec Zip USER ASSIST DECODER par f0xi
Source avec Zip Source avec une capture IP-MASTER, OU VOTRE IP FACILE ! par Bacterius
BLOQUER LE TASKMGR SANS CLÉ DE REGISTRE par craftsystem

Commentaires et avis

Commentaire de elguevel le 21/07/2006 11:40:14

Ouai çà laisse un peu sur sa fin ...

Cà se résume à ajouter des clés dans le registre (ou les virer) pour avoir le menu contextuel sur le programme et à :

"ShellExecute(0, 'OPEN', PChar('Cmd.exe'), Nil, PChar(ExtractFilePath(Data2)), SW_SHOW);"

Commentaire de cirec le 21/07/2006 11:52:50 administrateur CS

Salut,

on pourrait faire plus simple ... non ?

Tu mets ceci dans le registre
(où dans un fichier texte avec l'extention .REG et tu DblClique dessus):
[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="Ouvre une Fenêtre de Commande ici"
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k \"cd %L\""

Et il ne te reste plus qu'a faire un contextuel sur un dossier (dans explorer par Ex.)
et de choisir "Ouvre une Fenêtre de Commande ici" et le tour est joué ...

Pas besoin de programme pour cela un simple fichier text avec ces quatre lignes et tu lui donne l'extention .REG et tu double clique dessus. (même pas besoin de Delphi :-))

Bonne continuation ...

@+
Cirec

Commentaire de elguevel le 21/07/2006 11:56:23

http://www.regfr.com

Commentaire de cirec le 21/07/2006 12:05:08 administrateur CS

Salut Elguevel,
je suis au regret de t'apprendre que ton lien est mort ... :-)
@+
Cirec

Commentaire de GenEars le 21/07/2006 14:21:10

Cirec, bonne approche aussi merci,

sur mon lieu de travail c'était la façon la plus simple d'intégration sur les postes, notamment pour le déploiement : si tu veux bien m'en excuser :)

Elguevel, bon résumé ;)

Commentaire de elguevel le 21/07/2006 14:25:16

LoooL c'est pas un lien mort ... c'est une connerie que j'ai ecrite.

Au lieu de www.DelphiFr.com j'ai ecrit www.RegFr.com pour ironisé sur la situation, et oui un simple *.reg suffit à faire ce que fait ce programme :-)

Désolé pour mon humour ...

Commentaire de japee le 04/08/2006 13:47:03 administrateur CS

Salut,

J'ai trouvé les notes assez sévères...
On va plus oser poster ! :(

Je trouve l'étude de ce code plutôt intéressante, ne serait-ce que pour rafraîchir ses connaissances en BDR, ParamStr et autres Mutex...

Bon, pour pinailler, à la place de :

If Reg.KeyExists('*\Shell\Dir2DOS\') then
    KeyExists := True
Else KeyExists := False;

j'aurais fait :

KeyExists := Reg.KeyExists('*\Shell\Dir2DOS\');

et deux ou trois bricoles encore, mais chacun son style, hein ?

Moi je le trouve très bon, ton humour, elguevel... ;-)

Commentaire de elguevel le 04/08/2006 14:43:53

Désolé quand meme .. :-D

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Registre [ par Shadow ] Salut, je veux que la caption de mon label sois dans le registre mais j arrive pas a lire dans le registre pour afficher la caption que je veux!!!!!!! composant de l'explorateur [ par vib ] Bonjour,Quelqu'un pourrit il me dire ou trouver le composant qui liste les fichiers dans l'explorateur et qui permet d'un simple clic sur l'entête de base de registre [ par eedy31 ] Je sais que dans le style casse couille ,on fait pas mieux que moi,mais j'ai ENCORE une question!Comment on fait pour ecrire dans la base registre(c p Ouvrir depuis l'explorateur [ par nirousse ] Toujours pour mon éditeur de texte, Je n'arrive pas à faire pour que quand je mets dans l'explorateur windows "ouvrir avec" mon éditeur, la page s'aff Registre [ par sebastienbro ] J'aimerais savoir comment écrire dans la valeur par défaut d'un clé (celle intitulé (Défaut))merci ecrire des data dans registre [ par crogger ] Salut, je voudrai arriver à ecrire dans la base registre des informations de type DATA...par exemple, une fois détérminé le chemin etc... pouvoir ecri Accès base de registre !!! [ par scott114 ] Debutant Delphi !!Comment puis-je recuperer une serie de clef de la base de registre et inscrire les dites clefs et leurs valeurs dans un fichier text Registre : prob avec HKEY_CURRENT_USER [ par Bruto ] Salut,je migre de vb vers delphi et je rencontre qq prob's. Je me crée des outils sur la base de registre mais mon compilateur m'indique qu'il ne reco Registre : récupère l'ensemble des clés d'une clé [ par Bruto ] Dans mon programme, l'utilisateur choisit un mot par exemple aléatoire et je crée une clé portant le même nom dans un clé spécifique.Il y a donc possi Raccourci dans le menu contextuel [ par MyC ] Bonjour, je cherche le moyen de pouvoir effectuer divers actions sur un fichier ou pouvoir le lancer dans une application, en cliquant sur des élément


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,108 sec (3)

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