Windows 바탕 화면과 탐색기 Windows에서 선택한 파일 목록을 가져 오려고합니다. 요구 사항은 활성 탐색기 창이나 바탕 화면에서 현재 선택 항목을 검색 할 수 있어야한다는 것입니다.Windows 바탕 화면에서 선택한 파일 목록 가져 오기
온라인 리소스를 살펴본 후 다음 코드를 함께 관리했지만 데스크톱에서 선택한 항목의 목록을 제공하지 않습니다.
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);
}
}
}
그 외에도 다음을 시도했지만 데스크톱을 무시하면서 열려있는 모든 탐색기 창에서 선택한 요소의 목록 만 제공합니다.
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);
}
}
그래서 나는 항상 탐색기 창에서 목록으로 끝나고 탐색기 창이 열려 있지 않은 경우에도 결과를 얻지 못합니다. 현재의 기술은 데스크톱을 모두 무시하는 것처럼 보입니다.
누군가 현재의 활성 창/데스크탑에서 선택한 파일 목록을 얻으려면 나를 도울 수 있다면 정말 고맙겠습니다.
감사합니다.
당신은 바탕 화면에 파일을 선택받을 수 있을까? 그렇다면 어떻게 할 수 있는지 말해 줄 수 있습니까? 부디! – GSP