Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

CFolderDialog fDlg( NULL, "", this, BIF_RETURNONLYFSDIRS);

fDlg.DoModal();

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}

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 ?

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

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

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 :D

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.