Lancement d'un fichier depuis un Stream
Lancement d'un fichier depuis un Stream
J'aimerais pouvoir lancer un fichier depuis un Stream, mais pas un exe, mais par exemple un fichier word, exel, pdf, chm ou autre. Peut-être que l'API RunProgram_() le peut mais je suis plus intéressé avec les interfaces du genre ISTREAM.
J'ai travaillé le sujet il y a environ 2 ans pour les exe mais du fait de la limitation de Windows, ce n'était pas concluant pour les exe.
Je ne retrouve pas mes essais dans les centaines de fichiers que j'ai et j'ai fait une recherche sur le forum anglais mais trop de réponses lire. Pourtant il me semble avoir vu du code sur le forum anglais.
Avez-vous déjà essayé ça ?
Si oui, on peut avoir un bout de code soit ici soit en MP .
Merci
J'ai travaillé le sujet il y a environ 2 ans pour les exe mais du fait de la limitation de Windows, ce n'était pas concluant pour les exe.
Je ne retrouve pas mes essais dans les centaines de fichiers que j'ai et j'ai fait une recherche sur le forum anglais mais trop de réponses lire. Pourtant il me semble avoir vu du code sur le forum anglais.
Avez-vous déjà essayé ça ?
Si oui, on peut avoir un bout de code soit ici soit en MP .
Merci
Re: Lancement d'un fichier depuis un Stream
perso pour les streams, je passe par le webgadget ...
pour le reste , j'y connais rien
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 100, 100, "Bluegrass_Radio", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget )
WebGadget(0, 0, 0, 1, 1, "http://www.bluegrass.com/radio/")
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
pour le reste , j'y connais rien

Re: Lancement d'un fichier depuis un Stream
Salut Dobro,
En fait les Stream dont je parle sont des flux de données en mémoire gérées par Windows, avec un certain nombre d'opérations possibles sur le stream, lecture, écriture, déplacement pointeur etc, avec une sécurité importante en particulier lorsque l'on déplace le pointeur du stream en dehors des limites de la mémoire allouée.
En PB, il faut chaque fois gérer le pointeur sinon ça plante.
A+
En fait les Stream dont je parle sont des flux de données en mémoire gérées par Windows, avec un certain nombre d'opérations possibles sur le stream, lecture, écriture, déplacement pointeur etc, avec une sécurité importante en particulier lorsque l'on déplace le pointeur du stream en dehors des limites de la mémoire allouée.
En PB, il faut chaque fois gérer le pointeur sinon ça plante.
A+
Re: Lancement d'un fichier depuis un Stream
je veux bien essayé de t'aider si tu as un début de code 

Re: Lancement d'un fichier depuis un Stream
Salut Nico,
heu en fait j'ai rien, mais je l'ai déjà vu sur le forum anglais il y a quelques temps mais je ne retrouve pas le sujet et j'ai pas beaucoup de temps pour chercher.
Merci
Denis
heu en fait j'ai rien, mais je l'ai déjà vu sur le forum anglais il y a quelques temps mais je ne retrouve pas le sujet et j'ai pas beaucoup de temps pour chercher.
Merci
Denis
Re: Lancement d'un fichier depuis un Stream
tu pourrais être plus précis quand tu dis lancer un fichier depuis un stream.
Re: Lancement d'un fichier depuis un Stream
Je dis lancer, c'est l'exécuter depuis lun fichier en stream (en mémoire), pas depuis le disque dur.
Par exemple, un fichier word "essai.doc" que tu charges dans un stream (ou avec allocatememory) et tu l'exécutes, ce qui a comme effet de lancer word puis d'ouvrir le fichier essai.doc
J'ai pourtant fait des essais il y a quelques années (2 ans ?) mais j'avais un problème avec les droits sous Vista il me semble. Mais je ne retrouve pas mes codes d'essais, j'ai peut-être effacé
et même je ne me souviens plus les API utilisées ...
Et puis j'ai pas envie de poster sur le forum anglais pour avoir de l'aide, c'est con non
Par exemple, un fichier word "essai.doc" que tu charges dans un stream (ou avec allocatememory) et tu l'exécutes, ce qui a comme effet de lancer word puis d'ouvrir le fichier essai.doc
J'ai pourtant fait des essais il y a quelques années (2 ans ?) mais j'avais un problème avec les droits sous Vista il me semble. Mais je ne retrouve pas mes codes d'essais, j'ai peut-être effacé

Et puis j'ai pas envie de poster sur le forum anglais pour avoir de l'aide, c'est con non

Re: Lancement d'un fichier depuis un Stream
ça à l'air bizarre ton truc, parce ce que c'est l'extension du fichier qui permet de lancer un programme, je vois pas comment on peut le faire à partir d'un stream qui peut contenir n'importe quoi et n'a pas d'extension.
d'ailleurs même en mettant un fichier en mémoire, je vois pas comment on pourrais faire?
d'ailleurs même en mettant un fichier en mémoire, je vois pas comment on pourrais faire?
Re: Lancement d'un fichier depuis un Stream
Le seul truc en "stream" que j'ai en stock consiste en 4 procédures pour charger (ou enregistrer) des gros fichiers.
Je m'en servais avec la v3.93 pour charger des gros fichiers texte ou *.rtf dans l'EditorGadget et les enregistrer, mais ça ne permettait pas de lancer quoi que ce soit.
C'était juste beaucoup plus rapide que les méthodes traditionnelles de la biblio "Files"
Code : Tout sélectionner
StreamFileIn_Callback(hFile, pbBuff, cb, pcb)
FileStreamIn(FileID.l, File.s, Gadget.l, Mode.l)
StreamFileOut_Callback(hFile, pbBuff, cb, pcb)
FileStreamOut(FileID.l, File.s, Gadget.l, Mode.l)
C'était juste beaucoup plus rapide que les méthodes traditionnelles de la biblio "Files"

Re: Lancement d'un fichier depuis un Stream
Merci pour les fonctions.
J'essayerais de chercher si je retrouve.
Avec Runprogram, si tu exécutes un fichier avec une extension, c'est le logiciel associé à cette extension qui s'exécute, par exemple si c'est htm, le navigateur par défaut va s'ouvrir pour afficher le fichier.
Je voudrais faire la même chose mais avec un fichier en mémoire et pas sur le disque.
A+
J'essayerais de chercher si je retrouve.
Avec Runprogram, si tu exécutes un fichier avec une extension, c'est le logiciel associé à cette extension qui s'exécute, par exemple si c'est htm, le navigateur par défaut va s'ouvrir pour afficher le fichier.
Je voudrais faire la même chose mais avec un fichier en mémoire et pas sur le disque.
A+
Re: Lancement d'un fichier depuis un Stream
j'ai cherché longtemps et tout ce que j'ai trouvé, c'est éventuellemnt lancer excel en automation avec un stream sauf que ça me dépasse.
le problème Denis, c'est qu'un processus ne peut pas avoir accès à la mémoire d'un autre procesus directement!
le problème Denis, c'est qu'un processus ne peut pas avoir accès à la mémoire d'un autre procesus directement!
Re: Lancement d'un fichier depuis un Stream
Merci Nico,
je vais essayer de rechercher un de ces 4 matins.
A+
je vais essayer de rechercher un de ces 4 matins.
A+