Ich versuche, eine Liste ausgewählter Dateien aus dem Windows-Desktop und dem Explorer Windows zu erhalten. Die Anforderung ist, dass ich die aktuelle Auswahl aus dem aktiven Explorer-Fenster oder dem Desktop abrufen kann.Liste der ausgewählten Dateien von Windows Desktop
Ich habe es geschafft, den folgenden Code zusammenzustellen, nachdem ich Online-Ressourcen durchlaufen habe, aber es enthält keine Liste ausgewählter Elemente vom Desktop.
ArrayList selected = new ArrayList();
var shell = new Shell32.Shell();
IntPtr handle = IntPtr.Zero;
handle = GetForegroundWindow();
int intHandle = handle.ToInt32();
//For each explorer
foreach (InternetExplorer window in new ShellWindowsClass())
{
if (window.HWND == (int)handle)
{
Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)window.Document).SelectedItems();
foreach (Shell32.FolderItem item in items)
{
selected.Add(item.Path);
}
}
}
Other than that, habe ich versucht, die folgenden, aber es gibt nur eine Liste aller ausgewählten Elemente in allen geöffneten Explorer-Fenster während des Desktop zu ignorieren.
string filename; = Path.GetFileNameWithoutExtension(window.FullName).ToLower();
if (filename.ToLowerInvariant() == "explorer")
{
Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)window.Document).SelectedItems();
foreach (Shell32.FolderItem item in items)
{
//MessageBox.Show(item.Path.ToString());
selected.Add(item.Path);
}
}
So habe ich am Ende mit einer Liste aus den Explorer-Fenstern nur immer und auch keine Ergebnisse erhalten, wenn keine Explorer-Fenster geöffnet sind. Die aktuellen Techniken scheinen den Desktop insgesamt zu ignorieren.
Ich würde es wirklich schätzen, wenn jemand mir helfen könnte, eine Liste ausgewählter Dateien vom aktuell aktiven Fenster/Desktop zu bekommen.
Vielen Dank.
Könnten Sie Datei (en) auf dem Desktop erhalten ausgewählt? Wenn ja, könntest du mir sagen, wie ich das machen soll? Bitte! – GSP