Nick
-
Hallo!
Folgendes funktioniert bei mir nicht, vielleicht könnt ihr mir sagen wieso?
Also, was ich damit machen will, ist folgendes:
Ich arbeite mit Bilder,nun möchte ich ein Bild an Photoshop senden.
Es funktioniert ja auch wenn ich StrParam=_T("C:\\Grafik\\Photoshp.exe"+filename), wobei filename=Bilddatei.jpg
Aber wenn ich aus Browser es auswähle funktioniert das ganze nicht.
Wo liege ich falsch?...
Hier ist Code:void Blabla::bearbeitenmit() PROCESS_INFORMATION pi; STARTUPINFO si; ::GetStartupInfo(&si); TCHAR szFile[MAX_PATH]; ZeroMemory(szFile, MAX_PATH); OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY|OFN_SHAREAWARE; ofn.lpstrFilter = _T("*exe\0*.exe\0"); ofn.lpstrTitle = _T("Bearbeiten mit..."); ofn.lpstrFile = szFile; ofn.nMaxFile = MAX_PATH; if (IDOK == GetOpenFileName(&ofn)) { CString StrParam = _T(szFile+filename) ; if(!::CreateProcess(NULL , (LPTSTR)LPCTSTR(StrParam), NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE, NULL, NULL, &si, &pi ) ) { AfxMessageBox("Fehler!!! ... konnte nicht gefunden werden!",0,0); } }
Voraus Danke!!!
-
Vielleicht so:
CString StrParam = _T("\""+szFile+"\" \""+filename+"\"") ;
-
nein, kommt Fehler :cannot add two pointers
-
CString StrParam = _T("\""+(CString)szFile+"\" \""+(CString)filename+"\"") ;
-
Danke!!!
Bin ich froh, daß es doch funtioniert!!!
Das wäre doch was für FAQ
-
Nöö, is nix für die FAQ, weil:
1. In der MFC nimmt man CFileDialog statt GetOpenFileName
2. In der API gibts CString net!
-
RenéG:
Bei 1. muss ich dir widersprechen. Ich benutze auch immer GetOpenFileName, weil ich mit CFileDialog unter Win2k nicht den neuen Datei-Öffnen-Dialog hinbekomm, sondern immer nur den altbekannten aus Win9x ...