مشكلة صغيرة واجهتني
السلام عليكم
البرنامج عند بحث يظهر مشكلة في المجلد (System Volume Information)
access denied
أظن أنها مسئلة صلاحيات
هل هناك طريقة لتشغيل البرنامج في System Acount
وشكراً
Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي جرب ان تشغل الفيجوال ستوديو بحساب مدير .. انقر باليمين Run As Administrator
.:: Wish to become better and better ::.
السلام عليكم لقد جربت البرنامج والفيجوال ستوديو
ولكن لم ينفع حساب الأدمن
أظن أن حساب النظام سيحل المشكلة
لأن الملف System Volume Information لا يفتح إلى لحساب System
gلقد تأكدت من هذا الأمر وسبت لي ذلك
Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي لقد تم حل المشكله بالكود التالي
Dim allFiles As FileInfo() = Nothing
For Each Directory In New DirectoryInfo("d:\").GetDirectories()
Try
If (Directory.Attributes <> FileAttributes.System) Then
allFiles = Directory.GetFiles("*.*", SearchOption.AllDirectories)
End If
Catch ex As Exception
End Try
Next
Catch ex As UnauthorizedAccessException
End Try
Try
.:: Wish to become better and better ::.
السلام عليكم هذه المشاكل التي ظهرت والكود بعد تحويله إلى سي شارب
المشاكل
System.IO.Directory' does not contain a definition for 'Attributes'
System.IO.Directory' is a 'type' but is used like a 'variable'
Cannot implicitly convert type 'string[]' to 'System.IO.FileInfo[]'
الكود
try
{
FileInfo[] allFiles = null;
foreach (object Directory_loopVariable in new DirectoryInfo("d:\\").GetDirectories())
{
Directory = Directory_loopVariable;
try
{
if ((Directory.Attributes != FileAttributes.System))
{
allFiles = Directory.GetFiles("","*.*", SearchOption.AllDirectories);
}
}
catch (Exception ex)
{
}
}
}
catch (UnauthorizedAccessException ex)
{
}Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي جرب الكود التالي
{
FileInfo[] allFiles = null;
foreach (DirectoryInfo Directory_loopVariable in new DirectoryInfo("d:\\").GetDirectories())
{
try
{
if (Directory_loopVariable.Attributes != FileAttributes.System)
{
allFiles = Directory_loopVariable.GetFiles("*.*", SearchOption.AllDirectories);
}
}
catch (Exception ex)
{
}
}
}
catch (UnauthorizedAccessException ex)
{
}
try
.:: Wish to become better and better ::.
السلام عليكم
مشكور أخي
لكن أنا لاأريد تخطي الملف بل أريد بحث في داخله
Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي تخطي ايش من ملف؟؟ الكود السابق لتخطي مجلد ال System Volume لأنه يمنع الوصول اليه من قبل النظام
.:: Wish to become better and better ::.
السلام عليكم أخي يمكن البحث داخل المجلد System Volume Information
عن طريق رفع الصلاحيات للمستخدم أو عن طريق تشغيل البرنامج بمستوى النظام
وأنا لاأريد تخطي الملف بل أريد البحث داخله
لقد عرفت الطريقة اليدوية لكن لم أعرف الطريقة البرمجية
Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي ليش بدك تبحث فيه؟؟ مو مشكله يمكنك استخدام Access Control List
.:: Wish to become better and better ::.
السلام عليكم
أخي لوسمحت أريد الطريقة
لأني فعلاً بحاجتها
Be the change you want to see in the world
.:: Wish to become better and better ::.
السلام عليكم ورحمه الله وبركاته
اخي بعد المحاولات قدرت ان اصل لطريقة لاستعراض الملفات حتى النظامية بدون ماتظهر رسالة النع Access Denied جرب الكود التالي
foreach (FileSystemInfo file in new DirectoryInfo(@"C:\Windows\System32").GetFileSystemInfos())
{
Console.WriteLine(file.FullName);
}
.:: Wish to become better and better ::.
السلام عليكم
تم حل جزء م المشكلة لكن المشكلة موجودة مع الـ System Volume Information
Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي جربته على القرص D:\ في جهازي وقام بعرض ال System Volume Information بدون اي مشكلة؟!!
.:: Wish to become better and better ::.
السلام عليكم
وأنا جربته على قرص الـD أيضاً وأعطاني مشكلة على أكثر من جهاز
Be the change you want to see in the world
السلام عليكم ورحمه الله وبركاته
اخي قم بارفاق مشروعك او الفورم الي عملت في البحث
.:: Wish to become better and better ::.
السلام عليكم
شكراً على المساعدة إخواني لقد تم حل المشكلة بعد تعب شديد :wacko: :wacko:
Be the change you want to see in the world