Hooker ouverture fichier en c++

Francky_ Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

Tout est dans le titre,

si tel fichier est ouvert alors je fais cette action
sinon si c'est ce fichier qui est ouvert alors je fais ça
sinon je fais rien

je ne sais vraiment pas comment écrire ce code
peut etre faut il une fonction qui teste si un fichier est ouvert.

LRESULT CALLBACK HookProc (int nCode, WPARAM wParam, LPARAM lParam)
{

if(fichierOuvert("C:\\musique.mp3")){
//action à effectuer;
}

// Renvoi des messages au sytème pour permettre d'autres hooks
return CallNextHookEx(hHook, nCode, wParam, lParam);
}

merci
A voir également:

2 réponses

Utilisateur anonyme
 
salut ,

Je ne crois pas que tu puisse connaitre l'état d'ouverture d'un fichier directement (sauf bien sûr s'il est ouvert dans une application qui en prend le contôle, et dans ce cas catcher l'exception lors de l'ouverture en écriture suffira).

Par contre, tu veux savoir s'il est ouvert par n'importe quelle application ? (et non une application particulière ? )

Dans tous les cas, tu peux récupérer le titre d'un exécutable qui, de manière "normale", comporte le nom de l'élément ouvert. Sinon il faut que inspecte le processus pour voir où c'est indiqué => je te conseil d'utiliser "Winspector spy" qui t'aidera à voir les contenu des processus.

naga
0
Francky_ Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   5
 
J'ai fais autrement finalement.
J'ai fait un hook sur la souris, et à chaque fois que la souris bouge je regarde si le fichier est ouvert.
C'est moche mais ça marche pour ce que je veux faire ;)
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonjour une méthode pas très conventuelle qu'arrive-t-il si tu ouvres autant de fichier et que tu déplaces ton curseur d'un mouvement sur tout l'ensemble du fichier ?
traitera-t-il tous les fichiers un à un où lancerait-il autant de processus pour tous les traités ?
à bientôt
0
Utilisateur anonyme
 
à mon avis, au vu de ce qu'il souhaite faire, il détermine uniquement les fichiers qu'il souhaite traiter. Ensuite je ne sais s'il souhaite ne lancer qu'un processus par ouverture ou si chaque ouverture déclenche dans tous les cas un processus ... bon après je pense que c'est pour une utilisation perso donc y a déjà moins de contrainte ^^
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
:) oui mais bizarre il dit @Francky_:J'ai fait un hook sur la souris, et à chaque fois que la souris bouge je regarde si le fichier est ouvert.
ok mais si je bouge la souris pour faire autre choses que savoir s'il sont ouvert ? ou encore que j'ai des fichier ouvert en arrière plans ?, (sans compter que certain fichier peuvent être ouvert par d'autre processus dont il auras pas forcement les droit de lecture) bref pas une bonne méthode
0
Utilisateur anonyme
 
je suis d'accord dans le cas ou tu fais quelque-chose destiné à plusieurs utilisateurs, quand c'est que pour toi, les contraintes que tu donnes on sait faire avec ^^
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
(^_^) tant que ça marche et que c'est pour une utilisation personnel on y touche plus ^^
0