استفسار أمير الســــلام عليكــــــــم
يوجـــــد برنامج لحجب المواقع المحظــــورة
يعمـــــل هذا البرنامج على مراقبة عمل برنامج التصفـــح وغلقة فى حالة تصفح لينك أو موقع تم وضعة فى قائمة التجاهل أو المحظورة
ســــؤالى هل يمكن عمل ذلك بالاتوبلاى ؟
رد خالد علي أخى الأمير
جميع المتصفحات تضع إسم الموقع المفتوح أو المختار فى إسم نافذتها
نحن هنا سنلاحق و نطارد إسم النافذة
لذلك فإجابة سؤالك هى نعم ينفع و بكل سهولة و فكرة البرنامج موجوده بالمنتدى ... نعم لا تندهش فهى موجوده بالمنتدى
فقط راجع دروس منع فتح مجلد TEMP
جرب الآن مع إستبدال كلمة TEMP بكلمتك التى تنوى حظرها
لذا فأنا أتصور البرنامج به INPUT و COMBOBOX
و فى الإنبوت ستضع كلماتك المحظورة و عند الضغط على زر بإسم إضافة مثلا يتم التخزين فى الكمبو بوكس و بهذا ستكون كل كلمة بمثابة ITEM فى الكمبوبوكس و فائدة الكمبوبوكس أنه يمكنك من الإطلاع على كافة كلمات الفلتر لمنع التكرار
كما سيلزمك حفظ هذا الفلتر لملف نصى أو الريجسترى حتى لا تكتبها كل مرة
يجب وضع حلقة بالكود تقوم بمراجعة كل عنصر من الكمبو بوكس و مضاهاته بعناوين النوافذ المفتوحة
و لا تقلق فإن ترتيب وجود الكلمة فى إسم النافذة لا يفرق على الإطلاق
طبعا سيكون جواب حلقة الشرط هو إغلاق النافذة
و الحلقة ستكون فى تايمر لضمان إستمرار عملها
لذلك فهذه الطريقة لا تفرق بين متصفح به كلمة XXX و مجلد أو ملف إسمة XXX
سيغلق كل من هو إسمه XXX و هذا بفرض أنها الكلمة المحظورة
أما البرامج التجارية فهى معقدة بعض الشئ فهى تراقب محتويات المتصفح و عند تحقق شرط الحلقة يتم إظهار جملة بالمتصفح تفيد بأنه مخالف
و عموما إليك الكود الخاص بالإصدار الثامن و لو أردت الخاص بالإصدار السابع راجع الرابط السابق
- الكود:
-
كود:
-- Get the titles and window handles of all open windows.
windows = Window.EnumerateTitles();
-- A variable containing text in the title you want to search for.
window_name = "Notepad";
-- Loop through the table of windows.
for handle, title in pairs(windows) do
-- Check if the window title has the target text.
result = String.Find(title, window_name, 1, false);
-- if the string was found in the title, send the window a close message.
if (result ~= -1) then
Window.Close(handle, CLOSEWND_SENDMESSAGE);
end
end
و راجع الموضوع سابق الذكر لضبط التايمر
فى هذا المثال سيتم غلق أى نافذة بإسم أو تحتوى على Notepad أو حتى لو كان مجلد بنفس الأسم لذلك ضع مكانها كلمة أخرى كفلتر ثم جرب البحث عنها بالمتصفح أثناء تشغيل البرنامج و خبرنى
الكود يعمل بكفاءة 100% حتى لو إستعملت كلمات عربية كفلتر
ملحوظة
هذا الكود يعمل على جميع المتصفحات بلا إستثناء
ما عدا المتصفح khaled ali 2011
و المنشور فى منتدى لغات البرمجة فى الموضوع "متصفح بسيط للإنترنت"
فلا تجرب عليه فلن يجدى معه هذا الكود. . . . المتصفح سيتخطى هذا الكود حتى لو إنطبق عليه شرط الغلق
هذه الملحوظة لابد من ذكرها حتى لا تشك فى كفاءة الكود
رد أمير ههههههه
تســـــــلم الايادى بالتأكيــــــد
يعمل بالفعل على غلق جميع النوافذ التى تكتب بنفس الاسم :mrgreen:
لك منى أجمــــل التمنيات بدوام التوفيق وكان هذا هو المطلوب شكــــــرا