Datei mit Programm öffnen
-
Hi!
Hast Du mal geschaut ob Du den Dateinamen in diesem Falle als Parameter bekommst ? (GetCommandLine)
Er möchte einen Dateityp mit seinem selbst geschriebenen Programm verknüpfen und die Datei damit öffnen. Eventuell kennst Du es unter "Zeichenfolgen für Dokumentenvorlagen" - aber ka wie man das nachträglich modifiziert / nachfügen kann.
-
Ich habe es mal mit GetCommandline getestet da wird nix übergeben. Habt Ihr vieleicht noch eine Idee?
-
Also wenn es sich um ein MFC Programm handelt das als SDI/MDI mit dem Assistenten erstellt wurde, dann wird am Anfang CDocument::Serialize() aufgerufen und die Datei übergeben, die doppelgecklickt wurde.
Sonst weiß ich auch nicht

-
du must ne -1 mit übergeben damit du den pfad bekommst.
-
Kannst Du das mit der -1 näher erläutern ?
-
So habe ich mein Programm mit einenem Dateiformat verbunden:
:
char ch_file[_MAX_PATH],ch_path[_MAX_PATH]; GetModuleFileName(NULL, ch_file, _MAX_PATH); CString dir; dir.Format("%s",ch_file); dir += " %1"; lstrcpy(ch_path, ch_file); *_tcsrchr(ch_path, __TEXT('\\')) = 0; CRegKey key; key.Create(HKEY_CLASSES_ROOT,".abc",REG_NONE,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,NULL); key.SetValue("Test-Datein" ,""); key.Close(); key.Create(HKEY_CLASSES_ROOT,"Test-Datein",REG_NONE,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,NULL); key.SetValue("CCP-Profile" ,""); key.Close(); key.Create(HKEY_CLASSES_ROOT,"Test-Datein\\shell\\open\\command",REG_NONE,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,NULL); key.SetValue(dir ,""); key.Close(); key.Create(HKEY_CLASSES_ROOT,"Test-Datein\\shell\\edit\\command",REG_NONE,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,NULL); key.SetValue(dir ,""); key.Close();
-
Stimmt hatte ich vergessen, es handelt sich um Kein SDI/MDI sondern um ein dialogbasierendes Programm.
-1 kann nicht sein da keine Parameter mit übergeben werden. GetCommandLine zeigt nichts an.
-
Hat keiner mehr eine Idee?
-
CString temp(GetCommandLine());
MessageBox(temp,temp,NULL);
-
Ja macht das in die Instance deines Programms!!!
CCommandLineInfo cmdInfo;
ParseCommandLine( cmdInfo );
AfxMessageBox(cmdInfo.m_strFileName);
-
GetCommandLine habe ich ausprobiert, da kommt aber nix zurück!