استنساخ منعت exe "unblock" خيار في خصائص الملف في ويندوز 2003

StackOverflow https://stackoverflow.com/questions/135600

سؤال

عندما أنا تحميل البرنامج من موقع الويب الخاص بي إلى ويندوز 2003 آلة, وقد كتلة عليه و لديك إلى انقر على الحق في exe ثم خصائص ثم اختيار زر "إلغاء".

أود أن أضيف الكشف في المثبت عندما تم حظر الملف ومن ثم لا يكون لديك أذونات كافية.

ولكن لا أستطيع eaisly تتكاثر على exe في هذه الدولة حيث يجب أن تكون محظورة.

كيف يمكنني الحصول على افراج تظهر على exe لذا يمكن اختبار هذه وظيفة ؟

هل كانت مفيدة؟

المحلول

ويتم ذلك باستخدام ملفات NTFS تيارات.هناك تيار اسمه "المنطقة.معرف" إضافة إلى الملفات التي تم تحميلها.عندما IE7 شعبية أنواع معينة من ملف تيار يحتوي على:

[ZoneTransfer]
ZoneId=3

أبسط طريقة لتحديد ذلك هو إنشاء ملف نصي مع تلك المحتويات في استخدام أكثر من إضافته إلى بديل تيار.

Zone.Identifier.txt:

[ZoneTransfer]
ZoneId=3

الأمر:

more Zone.Identifier.txt > file.exe:Zone.Identifier

ثم طريقة للتحقق من ذلك سيكون محاولة فتح المنطقة.معرف تيار والبحث عن ZoneId=3 أو ببساطة تفترض أنه إذا كان تيار موجود في كل ذلك المستخدم سوف تتلقى هذا التحذير.

ومن المهم أيضا أن نلاحظ أن هذا لا علاقة له مع الأذونات.المسؤولين نرى نفس الإنذار ؛ هو أن تفعل تماما مع مصدر ونوع الملف.تيار بأكمله يذهب بعيدا عندما المستخدمين قم بإلغاء تحديد "السؤال دوما قبل فتح هذا الملف" المربع ثم انقر فوق تشغيل.

نصائح أخرى

هناك دعم API هذه الموثقة على MSDN.البحث عن MSDN على "استمرار المنطقة معرف الكائن".أساسا كنت CoCreateInstance مع CLSID_PersistentZoneIdentifier و طلب IPersistFile واجهة.ثم يمكنك استدعاء IPersistFile::Load مع اسم الملف في السؤال.المقبل ، تشى ل IZoneIdentifier واجهة استخدام IZoneIdentifier::GetId للحصول على المنطقة من الملف.إذا كان هناك "مارك ويب" ، يجب أن تحصل على URLZONE_LOCAL_MACHINE.على ZoneId من 3 المذكورة في آخر الرد URLZONE_INTERNET.(تعداد يسمى URLZONE و هو أيضا موثقة على MSDN أو ترى sdk\inc\urlmon.h.) يمكنك إزالة أو تغيير "مارك ويب" من خلال الدعوة IZoneIdentifier::Remove أو IZoneIdentifier::SetId ثم اتصل IPersistFile::Save.هناك المزيد من التفاصيل عن كل من هذه على MSDN.حظا سعيدا!

شكرا على هذا الأمر ساعدني كثيرا.

يمكنك جعل العملية أسهل إذا قمت بإنشاء ملف دفعي مع المحتويات.

echo [ZoneTransfer] > Zone.Identifier
echo ZoneId=3 >> Zone.Identifier
more Zone.Identifier > %1:Zone.Identifier

هذا سوف تولد المنطقة.معرف لك علامة الملف وفقا لذلك.

لتشغيله فقط العرض اسم الملف مثلاإذا كان الملف دعا مارك.الخفافيش

mark.bat myfile.txt
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top