OVH Cloud OVH Cloud

scruter l'appel d'un fichier .wav

12 réponses
Avatar
Bruno
Je voudrai récupérer dans une appli tournant en tache de fond, un historique
des appels d'un fichier wav.

Est-il possible de savoir, par scrutation d'un paramètre de fichier ou par
tout autre mécanisme, si un fichier .wav vient d'être joué par une
application quelconque.

Merci.
Bruno

2 réponses

1 2
Avatar
François Picalausa
Hello,

Je crois que ce dont tu as besoin est effectivement de scruter l'ouverture
du fichier, tout en sachant que tu récupérera des "false positive" si
quelqu'un ouvre le fichier avec, par exemple, notepad, ou autre.

Tu peux scruter tout le dossier:
http://vbnet.mvps.org/code/fileapi/watchedfolder.htm
Dans ce cas, tu n'as besoin de regarder que pour
FILE_NOTIFY_CHANGE_LAST_ACCESS.

--
François Picalausa

"Bruno" a écrit dans le message de news:
417d7e86$0$30579$
Oui, il s'agit bien d'un fichier wav.
Je viens de trouver une solution à mon problème avec FileMon, un
moniteur de fichiers temps réel, disponible sur
http://www.sysinternals.com
C'est un freeware qui affiche en temps réel tous les fichiers
utilisés par le système.
En mettant le nom de mon fichier comme filtre, Filemon affiche
seulement les appels de mon .wav.
Le seul truc pas glob-glob c'est qu'il n'écrit pas sur un fichier et
pour récupérer l'heure d'utilisation du fichier, je dois générer des
sendkeys pour simuler le Copier du menu Edition et récupérer le tout
par l'api getClipboardData.


"Patrice Henrio" a écrit dans le message
de news:
Est-ce que l'envoi de l'évènement est typiquement le fichier wav, ou
seulement un bip plus ou moins modulé.
Dans le premier cas, l'évènement envoie un ecommande de jouer (donc
d'ouvrir) le ficheir en questio, dasn l'autre il s'agit d'accéder aux
routines systèmes (INTerrupt) qui produisent un son (comme lors du
démarrage du PC)
Dans le premier cas, je ne vois pas trop comment faire, dans le
second il faut rediriger l'interruption, mais cela ne peut pas se
faire "naturellement" en vb, il faut bidouiller.

Pour ma part je rechercherai sur le web avec les mots "programmer son
interface sonore".




Avatar
Bruno
Merci François, je ne connaissais pas cette api.
Le problème c'est que lorqu'une appli joue un .wav, cela ne modifie aucun
attribut de ce fichier,
pas plus CHANGE_LAST_ACCESS que les autres.

J'ai bien peur de devoir allez chercher plus bas dans le système, comme le
fait FileMon.
Celui-ci utilise les requêtes systèmes IRPSs et FastIO, je sais pas trop ce
que c'est, ni si c'est accessible via les API utilisables en VB.
Je vais peut-être allez voir sur des NG plus pointus sur le système :o(.

Bruno



"François Picalausa" a écrit dans le message de
news:%
Hello,

Je crois que ce dont tu as besoin est effectivement de scruter l'ouverture
du fichier, tout en sachant que tu récupérera des "false positive" si
quelqu'un ouvre le fichier avec, par exemple, notepad, ou autre.

Tu peux scruter tout le dossier:
http://vbnet.mvps.org/code/fileapi/watchedfolder.htm
Dans ce cas, tu n'as besoin de regarder que pour
FILE_NOTIFY_CHANGE_LAST_ACCESS.

--
François Picalausa

"Bruno" a écrit dans le message de news:
417d7e86$0$30579$
> Oui, il s'agit bien d'un fichier wav.
> Je viens de trouver une solution à mon problème avec FileMon, un
> moniteur de fichiers temps réel, disponible sur
> http://www.sysinternals.com
> C'est un freeware qui affiche en temps réel tous les fichiers
> utilisés par le système.
> En mettant le nom de mon fichier comme filtre, Filemon affiche
> seulement les appels de mon .wav.
> Le seul truc pas glob-glob c'est qu'il n'écrit pas sur un fichier et
> pour récupérer l'heure d'utilisation du fichier, je dois générer des
> sendkeys pour simuler le Copier du menu Edition et récupérer le tout
> par l'api getClipboardData.
>
>
> "Patrice Henrio" a écrit dans le message
> de news:
>> Est-ce que l'envoi de l'évènement est typiquement le fichier wav, ou
>> seulement un bip plus ou moins modulé.
>> Dans le premier cas, l'évènement envoie un ecommande de jouer (donc
>> d'ouvrir) le ficheir en questio, dasn l'autre il s'agit d'accéder aux
>> routines systèmes (INTerrupt) qui produisent un son (comme lors du
>> démarrage du PC)
>> Dans le premier cas, je ne vois pas trop comment faire, dans le
>> second il faut rediriger l'interruption, mais cela ne peut pas se
>> faire "naturellement" en vb, il faut bidouiller.
>>
>> Pour ma part je rechercherai sur le web avec les mots "programmer son
>> interface sonore".




1 2