TinTin Geschrieben 7. Januar 2005 Teilen Geschrieben 7. Januar 2005 Servus Gemeinde, kurze Frage an Euch: Was muss ich meinem 'CFileDialog fileDlg' als fileDlg.m_ofn.lpstrInitialDir übergeben, so dass der Dialog im Arbeitsplatz geöffnet wird, sprich ich die verfügbaren laufwerke sehe? mit fileDlg.m_ofn.lpstrInitialDir = _T("Arbeitsplatz"); komme ich da nicht weit. Ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Januar 2005 Teilen Geschrieben 7. Januar 2005 Versuch mal "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 7. Januar 2005 Autor Teilen Geschrieben 7. Januar 2005 Versuch mal "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}". funktioniert, aber was ist das? ich hab sowas versucht, LPITEMIDLIST lpList; char szBuffer[MAX_PATH]; SHGetSpecialFolderLocation( NULL, CSIDL_DRIVES,lpList); if (lpList != NULL) { SHGetPathFromIDList(lpList,szBuffer); AfxMessageBox(szBuffer); } fileDlg.m_ofn.lpstrInitialDir = szBuffer; bekomme aber einen solchen fehler, was soll ich ändern, oder soll ichs vergessen? D:\__projekte\WrImgImp\WrImgImpDlg.cpp(103) : error C2664: 'SHGetSpecialFolderLocation' : Konvertierung des Parameters 3 von 'struct _ITEMIDLIST *' in 'struct _ITEMIDLIST ** ' nicht moeglich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
toosten Geschrieben 8. Januar 2005 Teilen Geschrieben 8. Januar 2005 CFolderDialog fDlg( NULL, "", this, BIF_RETURNONLYFSDIRS); fDlg.DoModal(); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 funktioniert, aber was ist das? Der Arbeitsplatz ist eine so genannte Namespace Extension. Das sind -ganz grob gesagt- virtuelle Ordner. Man kann diese Ordner auch über ihre Class ID ansprechen. Und diese ID ist die des Ordners Arbeitsplatz. Andere sind z.B.: Netzwerkumgebung: {208D2C60-3AEA-1069-A2D7-08002B30309D} Systemsteuerung: {21EC2020-3AEA-1069-A2DD-08002B30309D} Internet Explorer: {871C5380-42A0-1069-A2EA-08002B30309D} Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 Andere sind z.B.: Netzwerkumgebung: {208D2C60-3AEA-1069-A2D7-08002B30309D} Systemsteuerung: {21EC2020-3AEA-1069-A2DD-08002B30309D} Internet Explorer: {871C5380-42A0-1069-A2EA-08002B30309D} Wie kann man solche ID ermitteln ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 10. Januar 2005 Autor Teilen Geschrieben 10. Januar 2005 Der Arbeitsplatz ist eine so genannte Namespace Extension. Das sind -ganz grob gesagt- virtuelle Ordner. Man kann diese Ordner auch über ihre Class ID ansprechen.... Bin ich denn mit dem was ich oben geschrieben habe auf dem richtigen weg? oder sollte ich es besser wegschmeissen? Ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 Ich dachte, das Problem wäre gelöst... :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 10. Januar 2005 Autor Teilen Geschrieben 10. Januar 2005 1. das problem ist auch gelöst, wollte aber wissen, ob der ansatz den ich hatte überhaupt in die richtige richtung geht, bzw. wollte wissen woran die fehlermeldung liegt, bzw. wie ich die beim o.g. code weg bekomme. 2. gelten die virtuellen verzeichnisse bei allen windows versionen, oder gibts da unterschiede? 3. wenn 1. nicht in die richtige richtung geht, dann siehe Bigpoint ... ich möchte ja nicht nur die lösung haben, ich möchte sie auch verstehen... :floet: Ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 10. Januar 2005 Teilen Geschrieben 10. Januar 2005 1. das problem ist auch gelöst, wollte aber wissen, ob der ansatz den ich hatte überhaupt in die richtige richtung geht, bzw. wollte wissen woran die fehlermeldung liegt, bzw. wie ich die beim o.g. code weg bekomme. SHGetSpecialFolderLocation( NULL, CSIDL_DRIVES,&lpList); Bringt aber nichts, denn aus der Beschreibung von SHGetPathFromIDList: If the location specified by the pidl parameter is not part of the file system, this function will fail. Und der Arbeitsplatz ist nicht Teil des Dateisystems. 2. gelten die virtuellen verzeichnisse bei allen windows versionen, oder gibts da unterschiede?Ich bin mir nicht sicher, aber ich glaube, die sind fest. Hier stehen sie. ich möchte ja nicht nur die lösung haben, ich möchte sie auch verstehen...Lobenswert Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 10. Januar 2005 Autor Teilen Geschrieben 10. Januar 2005 Ich bin mir nicht sicher, aber ich glaube, die sind fest. scheint mir auch so. Note Systems earlier than Windows 2000 use a display name of Network Neighborhood instead of My Network Places. However, the CLSID is the same for both. bleibt noch die frage wie man sie ermittelt, oder geht das gar nicht? auf der anderen seite brauch man das rad ja nicht 2x erfinden, es geht mir nur ums prinzip. EDIT: Da fällt mir noch was ein, kann ich eigentlich einen Datei öffnen Dialog in Office Art, d.h. mit den Buttons für Verlauf, Eigenen Dateien, Desktop usw. auf der linken Seite, mit MFC erstellen? Danke TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.