PDF Datei öffnen



  • Hi,

    ich habe wieder ein Problemm,

    wie kann ich in meinem MFC Programm eine PDF Datei aufmachen, ohne dabei das ganze Pfad an geben zu müssen.

    bis jetz meine Versuche waren folgendemassen:

    WinExec("c:\\Programme\\Adobe\\Acrobat 5.0\\Reader\\ AcroRd32.exe c:\....\\datei.pdf " , SW_SHOW);

    so wie oben klapt's natürich.

    ich möchte aber keine statische Pfad angeben, irgendwas wie folgendes:

    Befehl("C:\...\\datei.pdf);
    gibt es sowas????

    Danke im Voraus

    Amir



  • Danke es hat sich erledig,

    Die losung evtl. Fals noch jemand wiessen will, ist;

    ShellExecute(NULL, _T("open"),"Hier Pfad oderVariable",NULL,NULL, SW_SHOW);

    ICH FINDE DIESE FORUM KLASSE



  • was heist "Hier Pfad oderVariable"?
    Wenn ich nur "datei.pdf" oder "AcroRd32.exe datei.pdf" klappt das nicht.

    ShellExecute(::GetDesktopWindow(), "open", "AcroRd32.exe datei.pdf", NULL, NULL, SW_SHOWMAXIMIZED);
    

    auch

    ShellExecute(NULL, _T("open"), "AcroRd32.exe datei.pdf", NULL, NULL, SW_SHOW);
    

    also die pdf ist im selben Verzeichniss wie die Ausgeführte Datei.

    Is zwar schon ne weile her dieser Thread, würd mich aber trotzdem über ne kleine Hilfe freuen,

    Tschausen
    Martin



  • entweder:

    system("start [dateiname]");
    

    oder

    ShellExecute(::GetDesktopWindow(),"open",dateiname,NULL,arbeitsverzeichnis,SW_SHOW);
    

    arbeitsverzeichniss kann auch dateiname entsprechen, soviel ich weiss...
    vielleicht auch

    ShellExecute(::GetDesktopWindow(),"open","C:\\Programme\\bla\\AcroRd32.exe",dateiname_mit_pfad,arbeitsverzeichnis,SW_SHOW);
    


  • dateinamen müssen eigentlich immer mit dem gesamten pfad angegeben werden



  • Bei ShellExecute kann man direkt den Pfad zur pdf Datei angeben. Man brauch das AcroRd32.exe nicht.

    ShellExecute(NULL, "open", "C:\\foo\\bar.pdf", NULL, SW_SHOW);



  • OK, Danke.
    Man braucht keinen Absoluten pfad angeben.
    Und als ich die datei ausserhalb von Visual C ausgeführt habe hat es auch geklappt.

    void CCD_AutorunDlg::OnButton1() 
    {
    	// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    	ShellExecute(::GetDesktopWindow(), "open", "Datei.pdf", NULL, NULL, SW_SHOWMAXIMIZED);
    }
    

    Also so alles kompilieren und dann im Explorer die Datei starten. Dann klappts auch mit dem Nachbarn 😉


Anmelden zum Antworten