الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد كود يمنع من نسخ المجلدات والملفات من مسار معين

بدأه vip-0101 في 28 يوليو 2009 · 4 رد · 1,822 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أريد كود يمنع من نسخ المجلدات والملفات من مسار معين؟

كود يقوم بإغلاق برنامج موجود في مسار معين؟

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

هذه مشاركة لى فى قسم السى شارب تبين كيفية منع المستخدم من فتح/نسخ/تعديل/حذف ملف أو مجلد أو حتى مشغل

/index.ph...st&p=972928

إذا وجدت صعوبة فى تحويل الكود إلى VB فأخبرنى

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

إذا كان بالإمكان تحويل الكود مع الشرح مع الشكر الجزيل لك

#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

الكود بعد التحويل

Imports System.Runtime.InteropServices

Public Class Form1

	<DllImport("kernel32.dll")> _
	Public Shared Function CreateFile(ByVal lpFileName As String, _
	ByVal dwDesiredAccess As Integer, _
	ByVal dwShareMode As Integer, _
	ByVal lpSecurityAttributes As Integer, _
	ByVal dwCreationDisposition As Integer, _
	ByVal dwFlagsAndAttributes As Integer, _
	ByVal hTemplateFile As Integer) As Integer
	End Function

	<DllImport("kernel32.dll")> _
	Public Shared Function CloseHandle(ByVal hObject As Integer) As Integer
	End Function

	'dwDesiredAccess
	Const GENERIC_READ As Integer = -2147483648
	Const GENERIC_WRITE As Integer = 1073741824

	'dwShareMode
	Const FILE_SHARE_NONE As Integer = 0
	Const FILE_SHARE_READ As Integer = 1
	Const FILE_SHARE_WRITE As Integer = 2

	'dwCreationDisposition
	Const CREATE_NEW As Integer = 1
	Const CREATE_ALWAYS As Integer = 2
	Const OPEN_EXISTING As Integer = 3
	Const OPEN_ALWAYS As Integer = 4
	Const TRUNCATE_EXISTING As Integer = 5

	'dwFlagsAndAttributes Attributes
	Const FILE_ATTRIBUTE_ARCHIVE As Integer = &H20
	Const FILE_ATTRIBUTE_COMPRESSED As Integer = &H800
	Const FILE_ATTRIBUTE_DIRECTORY As Integer = &H10
	Const FILE_ATTRIBUTE_HIDDEN As Integer = &H2
	Const FILE_ATTRIBUTE_NORMAL As Integer = &H80
	Const FILE_ATTRIBUTE_READONLY As Integer = &H1
	Const FILE_ATTRIBUTE_SYSTEM As Integer = &H4
	Const FILE_ATTRIBUTE_TEMPORARY As Integer = &H100

	'dwFlagsAndAttributes Flags
	Const FILE_FLAG_BACKUP_SEMANTICS As Integer = &H2000000
	Const FILE_FLAG_NO_BUFFERING As Integer = &H20000000
	Const FILE_FLAG_DELETE_ON_CLOSE As Integer = &H4000000
	Const FILE_FLAG_OVERLAPPED As Integer = &H40000000
	Const FILE_FLAG_POSIX_SEMANTICS As Integer = &H1000000
	Const FILE_FLAG_RANDOM_ACCESS As Integer = &H10000000
	Const FILE_FLAG_SEQUENTIAL_SCAN As Integer = &H8000000
	Const FILE_FLAG_WRITE_THROUGH As Integer = &H80000000

	Dim fileHandle As Integer

	Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
		CloseHandle(fileHandle)
	End Sub

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		fileHandle = CreateFile("C:\test.txt", GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_NONE, 0, OPEN_EXISTING, 0, 0)
	End Sub
End Class

الكود باختصار يعتمد على إحدى دوال الـAPI وهى CreateFile والتى تستخدم لإنشاء/فتح الملفات والمجلدات والقيمة الناتجة منها هى مقبض الملف/المجلد الذى تم فتحه أو إنشاؤه

معاملات الدالة:

1- lpFileName : الملف/المجلد/المشغل الذى سيتم تنفيذ العملية عليه

2- dwDesiredAccess : يحدد الغرض من فتح الملف هل هو للقراءة أم للكتابة أم للإثنين معا

3- dwShareMode : هذا هو المعامل المسئول عن عملية الإغلاق فهو يحدد كيف يمكن لباقى العمليات مشاركة الملف الذى يتم العمل عليه وفى حالتنا قمنا بإلغاء المشاركة عن طريق القيمة FILE_SHARE_NONE ويمكنك مشاركة الملف للقراءة أو للكتابة عن طريق القيم FILE_SHARE_READ للقراءة و FILE_SHARE_WRITE للكتابة ومعنى مشاركة الملف أى يمكن إجراء العملية المحددة من قبل باقى العمليات فعند مشاركة الملف للقراءة يمكن لباقى العمليات قراءة الملف لكن لا يمكنها التعديل عليه والعكس بالنسبة لمشاركة الكتابة

4- lpSecurityAttributes : لن يفيدك فى شئ فهو خاص بتحديد إمكانية وراثة المقبض

(شئ خاص بألـKernel Mode) ,, اجعله دائما صفر

5- dwCreationDisposition : يحدد العملية التى سيقوم بها البرنامج عند إنشاء/فتح الملف وفى حالتنا استخدمنا القيمة OPEN_EXISTING لأننا سنفتح ملفا موجودا بالفعل

6- dwFlagsAndAttributes : يحدد خصائص الملف ,, اجعله صفر أو راجع MSDN لمعرفة كيفية استخدام القيم الموضحة

7- hTemplateFile : راجعه على MSDN

عند تطبيق هذه الدالة كما قلنا ستكون القيمة الناتجة هى مقبض الملف ولفتح الملف لباقى العمليات مرة أخرى يجب أن يتم إغلاق هذا المقبض وهذا ما تقوم به الدالة CloseHandle

------------------------

قمت بإدراج جميع قيم المعاملات التى أعرفها فى الكود حتى تتمكن من البحث عنها إن أردت

وفى هذه المشاركة تجد روابط قد تفيدك

/index.ph...st&p=973944

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#5

وجدت هذه المشاركة المتميزة من المشرف المتميز وجدى قد تفيدك أيضا

/index.ph...st&p=998334

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…