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

How Can I Lock File

بدأه zeroski في 20 مايو 2009 · 8 رد · 1,226 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف استطيع عمل لوك لملف معين اليوز يحدده. الفكرة مثل برنامج موك فولدير

اذا حدى يعرف طريقة بسيطه اعملها بستخدام دوت نت 2003 او 2005 بحيث احط باسورد على الملف

مابدي اغير موقع الملف او استخدم باتش فايل

المهم ارجو المساعده

لو اوصف الوضع المستخدم يكبس على بتون يظهر الديلوق يختار المستخدم الملف ويعمل اوكي لو رجع المستخدم وبده يفتح الملف يظهر مسج بوك يحكيله ادخل كلمة السر

شكرا للمساعدة

#2

ممكن

عن طريق كذا طريقة

أولا عن طريق الSecurity الخاص بالملف

راجع فى ذلك الSDK الخاصة بالPlatform

أنا صراحتا لم أحاول أن أفعل هذا من قبل لذلك ليس لدى أى تصور لشكل الكود حاليا

طريقة أخرى و لكنها غير مباشرة

ممكن تفتح stream على الملف و بهذا تعمل للملف لوك

و حين ما تحب ترجع الملف تقفل الstream

و أيضا لا يوجد تصور للكود حاليا

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#3

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

هذا الكود يمنع المستخدم من فتح / تعديل / حذف / نسخ / نقل الملف

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsApplication1
{
	public partial class Form1 : Form
	{
		[DllImport("kernel32.dll")]
		public static extern int CreateFile(string lpFileName, int dwDesiredAccess, int dwShareMode, int lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile);
		[DllImport("kernel32.dll")]
		public static extern int CloseHandle(int hObject);

		const int FILE_SHARE_NONE = 0;
		const int OPEN_EXISTING = 3;
		const int GENERIC_READ = -2147483648;
		const int GENERIC_WRITE = 1073741824;

		public Form1()
		{
			InitializeComponent();
		}

		int fileHandle;
		private void Form1_Load(object sender, EventArgs e)
		{
			fileHandle = CreateFile(@"C:\test.txt", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_NONE, 0, OPEN_EXISTING, 0, 0);
		}

		private void Form1_FormClosing(object sender, FormClosingEventArgs e)
		{
			CloseHandle(fileHandle);
		}
	}
}

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

feed.1.gif

#4

السلام شكرا على المساعد بس اذا ممكن لو الاخ قوست2010 تشرحلي الكود الي كتبته وهل يمن اضافة باسورد على الملف وعمل انلوك

للملف الي معموله لوك وشكرا على المساعدة وان شاء الله توخذ حسنات كثيره

#5

@ GHOST2010

هذه الطريقة لإنشاء ملف

و السائل يتحدث عن ملف موجود بالفعل

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#6
نور (محمد نور) كتب:
@ GHOST2010

هذه الطريقة لإنشاء ملف

و السائل يتحدث عن ملف موجود بالفعل

لاحظ المعامل OPEN_EXISTING

الكود يعمل على ملف موجود بالفعل :wink:

وبالمناسبة أنا عامل برنامج تشفير كامل باستخدام الدالة دى وشغال على المجلدات والملفات وحتى المشغلات (C,D,E,...)

بالنسبة للكود فهو يعتمد على الدالة CreateFile وستجد المرجع الكامل لها هنا

وهنا قد تجد ما يفيدك عن هذه الدالة

والدالة CloseHandle هنا

راجع الروابط ولو فيه شئ مش مفهوم إن شاء الله نوضحه

تم تعديل هذه المشاركة بواسطة GHOST2010 في 24 مايو 2009 في 08:27

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

feed.1.gif

#7

شكرا اخي قوست على الروابط ،بس لو بدي استخدم الكود الي انت كتبته شو اعمل يعني لو تحكي لي كيف اعمله تيست واشوف شو يعمل

لاني الصراحه مش عارف اتعامل معه مع اني لما قرات في الروابك فهمت شوي

#8
zeroski كتب:

شكرا اخي قوست على الروابط ،بس لو بدي استخدم الكود الي انت كتبته شو اعمل يعني لو تحكي لي كيف اعمله تيست واشوف شو يعمل

لاني الصراحه مش عارف اتعامل معه مع اني لما قرات في الروابك فهمت شوي

قم بفتح مشروع جديد وانسخ الكود داخل الفورم ثم قم بإنشاء ملف على C باسم test.txt ثم قم بتشغيل البرنامج

وجرب أى عملية على هذا الملف ,, جرب فتحه - نسخه - نقله - حذفه وسترى النتيجة

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

feed.1.gif

#9

شكرا اخي قوست2010 في عندي سؤال

انا استخدم دوتنت2003 لما اعمل رن للبرنامج يحكي انه نيم سبيس جينرك مش موجوده هل هذا يوثر على عمل البرنامج لاني قمتها من الكود وشتغل لكن داثيره مادمت مشغل البرنامج وبس اغلقه يرجع عادي واقدر افتح واخذف الملف،فهل هذا يعني اني لازم اخلي برنامجي شغال في الباكقراوند طول الوقت

وشي ثاني اخي هل استطيع اظهار مسجي الخاصه انا مابدي مسج النظام تظهر بدي احط مسجي الخاصه واخفي المسج الي من الوبرتنق سيستم

شو اعمل في هذي الحاله

هل هذه الطريقة تطبق على اي نوع من الملفات اول فولدرات و,

وكيف استطيع عمل انلوك لهذا الملف (لاني رح اعمل لوك لاكثر من ملف ففي هذي الحاله بدي طريقة لعمل انلوك لواحد معين من المجموعه)شوالطريقة

وهل يمكني اعمل كلمة سر على هذا الملف

شكرا ودمتم سالمين

تم تعديل هذه المشاركة بواسطة zeroski في 28 مايو 2009 في 13:59

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