begin process at 2012 05 29 09:26:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

ID_FILE_MRU_FILE1


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ID_FILE_MRU_FILE1

vendredi 10 septembre 2004 à 14:45:57 | ID_FILE_MRU_FILE1

xakal

Bonjour a tous.

Il faut que je recupere la pathname d'un fichier ouvert par une appli lors d'une utilisation anterieure a l'actuelle.
Il me semble que c'est grace a ID_FILE_MRU_FILE1 mais je n'arrive aps a en extraire un path.
Si qqn a une idee de la solution a appliquer merci de me la communiquer.

Xakal.
vendredi 10 septembre 2004 à 16:25:09 | Re : ID_FILE_MRU_FILE1

ymca2003

je suppose que c'est MFC,

dans la classe appli dérivée de CWinApp, il y a la liste des MRU :

CRecentFileList* m_pRecentFileList;

utilisation :
#include "afxadv.h"

int nSize = m_pRecentFileList->GetSize();
CString strFile = (*m_pRecentFileList)[nIndex];
vendredi 10 septembre 2004 à 16:48:07 | Re : ID_FILE_MRU_FILE1

xakal

J'ai fait des essais et ca me plante qd je met la valeur de l'indice 0 ie CString strFile = (*m_pRecentFileList)[0];
de meme avec 1.
Une idee ?
vendredi 10 septembre 2004 à 17:47:14 | Re : ID_FILE_MRU_FILE1

xakal

La ca marche mais ca ne me donne rien de bon ...

Tu ne sais pas comment je pourrais faire pour capter le nom dans la liste MRU de mon appli qd qqn a clique dessus ?

Le but du jeu est de recuperer le path pour pouvoir creer des fichiers au meme endroit que le fichier ouvert.
Le pb est que j'arrive a capter le path si on fait fichier ouvrir mais si on passe pas la liste MRU le path qui est pris en compte est celui de l'executable de l'appli qui n'ast pas le meme que celui des fichiers serialises que j'ouvre ...

Sur ce je te souhaite de bons comptages Hemsley ce WE je vais faire de meme.
vendredi 10 septembre 2004 à 21:23:38 | Re : ID_FILE_MRU_FILE1

ymca2003

dans la classe dérivée de CWinApp, surcharge la fonction :

virtual CDocument* OpenDocumentFile(LPCTSTR lpszFileName);

elle est appelée à chaque fois qu'un document est ouvert (avec le nom complet du fichier)

il te suffira d'appeler CWinApp::OpenDocumentFile et de faire ton boulot après (ou avant c'est toi qui voit).

sinon voici le code MFC qui gère la sélection d'un fichier de la MRU (fichier appui.cpp):

BOOL CWinApp::OnOpenRecentFile(UINT nID)
{
ASSERT_VALID(this);
ASSERT(m_pRecentFileList != NULL);

ASSERT(nID >= ID_FILE_MRU_FILE1);
ASSERT(nID < ID_FILE_MRU_FILE1 + (UINT)m_pRecentFileList->GetSize());
int nIndex = nID - ID_FILE_MRU_FILE1;
ASSERT((*m_pRecentFileList)[nIndex].GetLength() != 0);

TRACE2("MRU: open file (%d) '%s'.\n", (nIndex) + 1,
(LPCTSTR)(*m_pRecentFileList)[nIndex]);

if (OpenDocumentFile((*m_pRecentFileList)[nIndex]) == NULL)
m_pRecentFileList->Remove(nIndex);

return TRUE;
}
lundi 13 septembre 2004 à 14:58:06 | Re : ID_FILE_MRU_FILE1

xakal

Le probleme n'est pas la ...
Le fichier a re-ouvrir est bien re-ouvert le probleme est juste que je voudrais capter son nom et surtout trouver son path.
Je ne veux pas refaire l'ouverture de fichier car ca fonctionne tres bien deja.

Je suis desole mais ces reponses ne repondent pas exactement a ma question.
lundi 20 septembre 2004 à 12:16:13 | Re : ID_FILE_MRU_FILE1

ymca2003

je ne te dis pas de refaire l'ouverture mais de l'intercepter pour récupérer le path (avant ou après le traitement par défaut selon ce que tu veux faire).

en gros dans le .h de ta classe dérivée de CWinApp, tu rajoute :

virtual CDocument* OpenDocumentFile(LPCTSTR lpszFileName);

et dans le .cpp :

CDocument* TaClassApp::OpenDocumentFile(LPCTSTR lpszFileName)
{
return CWinApp::OpenDocumentFile(LPCTSTR lpszFileName);
}

A chaque fois qun document est ouvert (par la MRU, par "Fichier->ouvrir ou par les commandes du Shell), cette fonction sera appelée avec le nom complet du fichier. Si toi tu veut simplement le répertoire, il suffit de chercher un peu...
lundi 20 septembre 2004 à 12:28:50 | Re : ID_FILE_MRU_FILE1

xakal

Merci de ton aide mais je suis passe par un chemin detourne pur trouver le path du fichier ouvert.
Doc->GetPathName() va tres bien.
Il suffit de supprimer le nom du fichier a la fin pour avoir le path.
Solution simple mais pas facile a toruver qd tu ne sais pas qu'elle existe.

encore merci de ton aide.


Cette discussion est classée dans : file, id, file1, mru


Répondre à ce message

Sujets en rapport avec ce message

SAVE_AS en sortant avec la croix [ par Grorel ] Salut, Quand je quitte une fenetre dans une de mes applications, si j'ai fait un changement dans le Doc, on me demande si je veux enregistrer (jusque Impression en MFC [ par ketchupy45 ] Bonjour, je programme sous visual studio .net 2003 et j'utilise les MFC.Dans le cadre de cette source http://www.cppfrance.com/code.aspx?ID=35554Je vo Ressources Win32 [ par bouba ] Bonjour, j'utilise Dev C++ pour coder une application windows. Pour créé des menus et boîtes de dialogue j'utilise un fichier de ressource.MENU_PRINCI Hook clic droit sur la titlebar [ par reptils ] Salut a tous,J'ai un p'ti probleme avec le programme que j'essaies de faire. Je voudrais faire un virtual desktop, et pour cela j'aimerais que lorsque WriteFile et Violation d'accès [ par Ziman ] Bonjour à tous,je regarde un peu les API pour les fichiers. Voici mon code :File = CreateFile("C:\\a.txt",                                        FILE ouvrir un fichier à partir d'une variable [ par je_ne_viens_qu1_fois ] bonjour à tousje code sur c++ et suis confronté à un problème qui doit vous sembler simple, mais que je n'arrive pas à résoudre.j'ai un premier fichie problème de transparence sur texture opengl [ par Batman60 ] bonsoirla transparence sur la texture tga ne s'affiche pas, pourtant j'utilise le code ci-dessous et je ne vois pas quoi d'autre à ajouter ou modifier hook clavier [ par deck_bsd ] Yop,Bon dernière question de la journée :p enfin j'espère. Et la je sèche vraiment. En claire, je fait un keylogger, pour se faire un hook clavier s'i Multi-Lights OpenGL [ par manolobis ] Bonjour,J'ai un problèmes de lumières sous OpenGL:J'ai créé une structure de 8 lumières dans mon application mais seule la 1ère lumière éclaire la scè lire un fichier .wav sous matlab [ par arel ] salut a tous, j, aimerai lire une fichier wav et le retransmettre sur un microcontroler  a l´aide de l'algorithme de compression de huffman ecris sous


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales