লেখার জন্য নয় - পড়ার জন্য এখানে একটি সমাধান রয়েছে যা আমি এই পৃষ্ঠায় এবং শেল 32 অবজেক্টগুলির সাহায্যে যা পেয়েছি তার ভিত্তিতে বর্ধিত বৈশিষ্ট্য ।
পরিষ্কার হওয়ার জন্য এটি হ্যাক। দেখে মনে হচ্ছে এই কোডটি এখনও উইন্ডোজ 10 এ চলবে তবে কিছু খালি বৈশিষ্ট্যে আঘাত করবে। উইন্ডোজের পূর্ববর্তী সংস্করণটি ব্যবহার করা উচিত:
var i = 0;
while (true)
{
...
if (String.IsNullOrEmpty(header)) break;
...
i++;
উইন্ডোজ 10 এ আমরা ধরে নিই যে খালি এন্ট্রিগুলি পড়তে এবং এড়াতে এখানে প্রায় 320 টি বৈশিষ্ট্য রয়েছে:
private Dictionary<string, string> GetExtendedProperties(string filePath)
{
var directory = Path.GetDirectoryName(filePath);
var shell = new Shell32.Shell();
var shellFolder = shell.NameSpace(directory);
var fileName = Path.GetFileName(filePath);
var folderitem = shellFolder.ParseName(fileName);
var dictionary = new Dictionary<string, string>();
var i = -1;
while (++i < 320)
{
var header = shellFolder.GetDetailsOf(null, i);
if (String.IsNullOrEmpty(header)) continue;
var value = shellFolder.GetDetailsOf(folderitem, i);
if (!dictionary.ContainsKey(header)) dictionary.Add(header, value);
Console.WriteLine(header +": " + value);
}
Marshal.ReleaseComObject(shell);
Marshal.ReleaseComObject(shellFolder);
return dictionary;
}
উল্লিখিত হিসাবে আপনাকে কম এসেম্বলি ইন্টারপ। শেল 32 উল্লেখ করতে হবে।
আপনি যদি কোনও এসটিএ সম্পর্কিত ব্যতিক্রম পান তবে আপনি সমাধানটি এখানে পাবেন:
ফাইল বর্ধিত বৈশিষ্ট্য পেতে শেল 32 ব্যবহার করার সময় ব্যতিক্রম
বিদেশী সিস্টেমে properties বৈশিষ্ট্যগুলির নামগুলি কী রকম হবে তা আমার কোনও ধারণা নেই এবং অভিধানে অ্যাক্সেসের জন্য কোন স্থানীয়করণযোগ্য ধ্রুবকগুলি ব্যবহার করতে হবে সে সম্পর্কে কোনও তথ্য খুঁজে পাইনি। আমি আরও দেখতে পেলাম যে প্রোপার্টি ডায়ালগের সমস্ত বৈশিষ্ট্য অভিধানে উপস্থিত ছিল না।
বিটিডব্লিউ এটি মারাত্মক ধীর এবং - কমপক্ষে উইন্ডোজ 10 এ - পুনরুদ্ধার করা স্ট্রিংয়ের তারিখগুলি পার্স করা একটি চ্যালেঞ্জ হতে পারে তাই এটির ব্যবহার শুরু করা খারাপ ধারণা বলে মনে হয়।
উইন্ডোজ 10-এ আপনার অবশ্যই উইন্ডোজ.স্টোরেজ লাইব্রেরিটি ব্যবহার করা উচিত যা সিস্টেমফোটোপ্রপারটিস, সিস্টেমমিউজিকপ্রোপার্টি ইত্যাদি রয়েছে
https://docs.microsoft.com/en-us/windows/uwp/files/quickstart-getting-file-properties
এবং অবশেষে, আমি একটি আরও ভাল সমাধান পোস্ট করেছি যা সেখানে উইন্ডোজএপিকোডপ্যাক ব্যবহার করে