Dateiname vom geöffneten Dokument



  • Hallo, wie kann ich den Dateinamen auslesen von einem Dokument welches ich ausserhalb des Programms geöffnet habe.

    Habe es bereits schon mit CCommandLineInfo probiert, liefert mir aber einen leeren String zurück.

    Grund hierfür ist, ich habe die Speicher Funktion überarbeitet und wenn ich auf Speichern gehe will ich nicht das ein Speichern Dialog erscheint sondern soll den Path + Dateinamen nehmen von dem Dokument welches geöffnet wurde.

    BOOL CTestDoc::DoSave(LPCTSTR lpszPathName, BOOL bReplace)
    {
    	char temp[256];
    	memset(temp,0,sizeof(temp));
    	sprintf(temp,"%S",GetHomeFolder());
    
    	mkdir( temp );
    	CFileDialog fd(false);
    
    	fd.m_ofn.lpstrInitialDir = GetHomeFolder();
    
    	fd.m_ofn.lpstrFilter = _T("Dateityp test (*.test)\0*.test\0Alle Datein  (*.*)\0*.*\0\0");
    	fd.m_ofn.lpstrFile = m_strTitle.GetBuffer(256);
    	fd.m_ofn.lpstrDefExt= _T("hel");
    
        if(fd.DoModal()==IDOK)
        {
    		sFilename = fd.m_ofn.lpstrFile;
            OnSaveDocument(sFilename); 
        }
    
        return TRUE;
    }
    

  • Mod

    Chris__ schrieb:

    Hallo, wie kann ich den Dateinamen auslesen von einem Dokument welches ich ausserhalb des Programms geöffnet habe.

    Verstehe ich nicht? Wenn es außerhalb Deine Programmes geöffnet wurde, dann kommst Du auch nicht dran. Wer hat denn die Datei geöffnet.

    Wenn Du den Datei-Dialog manipulieren möchtest, der beim öffnen und Speichern benutzt wird, dann Überschreibe CWinApp::DoPromptFileName.

    Den Pfad des aktuellen Documentes bekommst Du über CDocument::GetPathName



  • Danke, GetPathName() war die Antwort auf die Frage!! 👍


Anmelden zum Antworten