Tôi cần lấy bộ sưu tập tệp hiện tại được chọn trong Windows Explorer. Tôi tìm thấy mã sau đây từ here.Làm cách nào để tải các tệp đã chọn của Windows Explorer từ trong C#?
Tôi không hoàn toàn ở đó. Đối với một điều, nơi nào GetForegroundWindow
đến từ đâu? Và đối với điều khác, trình biên dịch phàn nàn trên dòng
var shell = new Shell32.Shell();
nói
"Loại hoặc namespace tên 'shell32' không thể được tìm thấy (là bạn thiếu một chỉ thị sử dụng hoặc tham khảo một hội ?) ". Tôi đã thêm SHDocVw làm tài liệu tham khảo, nhưng tôi vẫn không thể vượt qua trình biên dịch. Có thể ai đó vui lòng giúp tôi hoàn thành việc này không?
IntPtr handle = GetForegroundWindow();
ArrayList selected = new ArrayList();
var shell = new Shell32.Shell();
foreach(SHDocVw.InternetExplorer window in shell.Windows()) {
if (window.HWND == (int)handle)
{
Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)window.Document).SelectedItems();
foreach(Shell32.FolderItem item in items)
{
selected.Add(item.Path);
}
}
}
thể trùng lặp của [C#: Trong những lắp ráp được SHDocVw.WebBrowser \ _V1 định nghĩa?] (Http: // stackoverflow .com/questions/3345687/c-in-what-assembly-là-shdocvw-webbrowser-v1-defined) – nawfal