cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010
-
20 déc. 2007 à 18:23
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
21 déc. 2007 à 21:35
Bonjour,
Ce que je demande est assez commplexe mais peut être réalisable.
Donc:
1: J'ouvre un flux (Stream) d'un fichier à partir du disque (cas 1) ou à partir d'un tableau de Byte (cas2)
2: Je fais executer le contenu du flux par windows (exemple un fichier mp3 ouvert par son programme par défaut)
La question est comment faire l'étape 2? Si cela n'est pas possible, est t'il possible de le faire à partir du tableau directement. Existe-il une Api?
Je vous remercie de votre aide.
Si ton fichier est dans un tableau de bytes, il faut d'abord l'enregistrer sur le disque (répertoire temporaire de windows) puis l'exécuter (revient à l'étape 1)
vautour32
Messages postés38Date d'inscriptionjeudi 20 septembre 2007StatutMembreDernière intervention 9 décembre 2008 20 déc. 2007 à 19:22
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
shellexecute me.hwnd,"open","c:\nom_fichier","",environ("WINDIR"),SW_SHOWNORMAL
'"open" peut être remplacé par "edit", "find","print","explore"
'Il y a d'autres constantes possibles pour nShowCmd
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 20 déc. 2007 à 19:54
Par exemple dans Vb.net on peut ouvrir une image à partir d'un stream avec image.fromstream, là je cherche la même chose mais pour n'importe quelle fichier (dont je connaitrai l'extension)
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 20 déc. 2007 à 20:02
Oui mais toi tu ne veux pas simplement charger les données dans ton soft comme l'exemple de image.fromstream, mais envoyer ces données à un autre programme comme un lecteur MP3 ou le bloc-notes.
Donc t'es obligé de créer "qq chose" que ce programme en question peut ouvrir: un fichier.
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 20 déc. 2007 à 23:26
Si c'est possible tu recupere t'es donnée dans un tableau de bute (si ça te chante) puis tu decompress ton mp3 avec une dll genre "lame" ou bien avec ton propre code (si tu peux) puis tu envoi le son "decodé" à la carte son avec les fonctions de l'PAI winodws "winmm" WaveOut
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 21 déc. 2007 à 14:02
Je pourrais faire un code pour chaque format de fichier mais je vais me contenter de chercher une solution alternative. Merci de votre aide et de vos conseils.
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 21 déc. 2007 à 21:35
Yvesyves:
"2: Je fais executer le contenu du flux par windows (exemple un fichier mp3 ouvert par son programme par défaut)"
EBArtSoft:
"Si c'est possible tu recupere t'es donnée dans un tableau de bute (si
ça te chante) puis tu decompress ton mp3 avec une dll genre "lame" ou
bien avec ton propre code (si tu peux) puis tu envoi le son "decodé" à
la carte son avec les fonctions de l'PAI winodws "winmm" WaveOut"
C'est pas ce qu'il voulais... et le flux du fichier texte ou xls tu l'envois ou?