Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OUVRIR DES DOCUMENTS DANS LA MÊME INSTANCE DE L'APPLICATION SANS RELANCEMENT DE L'EXE (DDE) EN .NET


Information sur la source

Catégorie :OLE, DDE, Automation Source .NET ( DotNet ) Classé sous : ouvrir, instance, dde Niveau : Initié Date de création : 06/01/2007 Date de mise à jour : 17/03/2008 22:28:11 Vu / téléchargé: 7 979 / 631

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

Traduction .Net de http://www.vbfrance.com/codes/OUVRIR-DOCUMENTS-DANS-MEME-INSTANCE-APPLICATION-SANS-RELANCEMENT_27089.aspx

Ce code permet d'ouvrir, imprimer... un ou plusieurs documents dans la même instance d'une application ouverte (ou fermée).
Lorqu'une association de fichier paramètre l'utilisation de DDE, un message WM_DDE_INITIATE est envoyé à toutes les fenêtres au premier plan avec le nom de l'application visée par l'action... si une application répond par WM_DDE_ACK, le shell renvoie un message WM_DDE_EXECUTE avec l'action (et le nom de fichier) à accomplir.
Ainisi, en interceptant ces messages, on peut exécuter une action comme ouvrir un document dans un instance en cours d'une application sans relancement de l'exe et sans ligne de commande...de plus, cela permet d'ouvrir plusieurs fichiers à la fois sans lancer autant d'instance que de fichiers...
 

Conclusion

A noter qu'il ne faut pas utiliser de tableau dynamique (pour les paramètres de l'action) dans la procédure de fenêtre sous peine de faire planter le programme...
A noter aussi que cette méthode est officielle (mais pas surdocumentée) contrairement à d'autres...

Comme tout subclassing, cela peut planter...à chaque fois (erreur de programmation) ou comme Windows (une fois de temps en temps histoire de se faire remarquer)

Ce code ne comporte pas de bugs apparents à ma connaissance...

Ce code crée une association de fichier .XYZ et utilise cette extension pour DDE...

N'hésitez pas à commenter et à noter...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

13 janvier 2007 21:37:15 :
correction d'un bug de conversion d'atomes...
17 mars 2008 22:28:11 :
ajout des arguments de la ligne de commandes EXTAssociation avec les classes Microsoft.Win32

Commentaires et avis

signaler à un administrateur
Commentaire de sousoulebarbu le 07/01/2007 09:59:23

Loin de moi l'idée de critiquer (je serais incapable d'en faire autant), mais cette fonction est déja présente de base (Application à instance unique et StartupNextInstance) ou je me trompe???

signaler à un administrateur
Commentaire de ShareVB le 07/01/2007 10:42:36

salut,

disons que j'arrive un peu tard avec ce code car (d'après ce que j'ai cru comprendre) StartupNextInstance est apparu dans VB2005 et n'est d'ailleurs pas disponible dans les autres langages .Net...donc disons que si par hasard si on programme pour le framework 1.0 ou VB < 2005, ca peut servir...

donc oui : StartupNextInstance et application à instance unique font la même chose...pour VB2005...

cela dit ce code doit pouvoir fournir plus que StartupNextInstance car il doit être possible de télécommander un programme utilisant ce code avec un autre programme...la principale utilité de DDE...

ShareVB

signaler à un administrateur
Commentaire de FraGag le 08/01/2007 02:06:49

D'après ce que j'ai vu dans les documents d'Office, DDE est utilisé pour ouvrir des documents dans la même instance, mais aussi pour donner des commandes comme Imprimer, fermer le document puis quitter s'il ne reste plus de documents ouverts (bien sûr, on pourrait aussi faire ça en ligne de commande...).

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

ouvrir une seule instance avec access runtime [ par yannsurf ] hello, j'ai cr&#233;er une base de donn&#233;es access que je livre aux amis avec access runtime. Le pb, c'est que je peux ouvrir deux instances de la OUVRIR DANS LA MÊME INSTANCE [ par kelm_by ] salut tous le monde,j'ai vue la source de ShareVB OUVRIR DES DOCUMENTS DANS LA MÊME INSTANCE DE L'APPLICATION SANS RELANCEMENT DE L'EXE (DDE)<b passer de nouveaux paramètres à un programme sans ouvrir une autre instance [ par kenny49 ] Bonjour,Je souhaite ouvrir une application en lui donnant des paramètres. Mon problème est que je veux pouvoir, une fois l'application ouverte, lui en 2 questions sur les DDE (+ explication sur ce que j'ai déjà fais) [ par Polack77 ] Bonjour,Je me pend la tête depuis ce matin pour faire marcher une DDE et je viens de trouver ( en local).Petit récapitulatif pour Problème DDE Excel [ par Throna ] Lut allVoila je cherche a prendre des valeurs qui se trouvent dans Excel par DDE et le problème est le suivant, lorsque je veux mettre LinkMode de ma Ouvrir un fichier excel donné via Access [ par mgued ] Bonjour, j'essaye d'ouvrir un fichier excel via access mais sans succès. L'idée c'est de créer une macro mais j'échoue à chaque fois. Je crée ma macro Ouvrir un programme autre de Microsoft [ par Stamp129 ] Bonsoir,J'ai créé une boite de dialog pour ouvrir un fichier .exe (autre que les programmes de Microsoft), par exemple Google Earth.exe. J'accède bien ouvrir page web avec navigateur par défaut (basique mais ça marche pas) [ par phkoech ] Salut,Je suis newbie et je cherche à ouvrir une bête page web depuis un module vb.net. J'ai trouvé plein de fois cette question sur ce forum, et j'ai ouvrir sur un nouveau message outlook [ par Atrius87 ] bonjour, je cherche a faire apparaitre le fenetre nouveau message de outlook suite à un clic sur mon mail!Je souhaiterais aussi que mon mail apparaiss ouvrir une application excel [ par S_M_E ] bjrappartir d'un userform dans excel je souhaite ouvrir un autre classeur en utlisant le code suivant: UserForm1.Hide Set excelapp = CreateObject(


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,655 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.