تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 7 از 7

نام تاپيک: فایل های sys , dll

  1. #1
    کاربر فعال آنتی‎ویروس و نرم‎افزارهای امنیتی M.Hashemi's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    کرمان - رفسنجان
    پست ها
    726

    پيش فرض فایل های sys , dll

    با سلام
    3 سوال دارم :
    1- تفاوت فایل های dll با sys چیست؟
    2- چگونه می توان در C# فایل sys را ساخت و از ان استفاده کرد؟
    3- چگونه می توان فایل های dll که در C# تولید شده اند register کرد نیازی به حفظ ادرس ان نباشد؟یعنی اگر dll را کنار فایل exe کپی نکردیم باز هم load شود و نیازی نباشد که فایل dll را جای خاصی کپی کنیم؟
    با تشکر

  2. این کاربر از M.Hashemi بخاطر این مطلب مفید تشکر کرده است


  3. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    1)
    فایلهای dll انواع مختلفی دارند که میتوانند توابع و یا کلاسهایی را (تحت COM) صادر کنند همچین dll های CLR تحت دات نت هم مدتها است توسعه یافته اند.
    فایلهای sys بعضاً فایلهای text متنی هستند یا بهتر بگویم بودند!
    در حال حاضر sys های ویدوز فایهای اجرایی همانند dll ولی با یک نقطه ورودی همانند exe ها هستند.
    این فایها در مراحل اولیه بارگذاری سیستم عامل در حافظه بارگذاری شده و میمانند.

    2)
    در VB.Net یا #C فقط میتوان dll های CLR و در صورت ضرورت COM را تولید کرد.

    3)
    - فایلهای dll که حاوی توابع پایه هستند را میتوانید در شاخه System32 کپی کنید تا نیازی به کنار exe بودن نداشته باشند.

    - فایلهای dll که نوع COM باشند را باید توسط regsvr32.exe رجیستر کرد تا آماده کار شود و دیگر نیازی به وجود ان کنار exe اصلی نباشد.
    در این مورد شما باید فایل را در یک مکان ثابت که تغییرش ندهید کپی کنید و سپس عمل رجیستر را انجام دهید.
    اطلاعات بیشتر:
    http://msdn.microsoft.com/en-us/library/ms859484.aspx

    - فایلهای dll که نوع CLR (دات نتی) باشند را میتوان در GAC و به کمک gacutil.exe ثبت کرد تا دیگر نیازی به وجود فایل در کنار exe نباشد.
    اطلاعات بیشتر:
    http://msdn.microsoft.com/en-us/library/ex0ss12c.aspx

    هر سه عمل فوق میتواند یکبار و در زمان نصب برنامه انجام شود.

  4. 4 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  5. #3
    کاربر فعال آنتی‎ویروس و نرم‎افزارهای امنیتی M.Hashemi's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    کرمان - رفسنجان
    پست ها
    726

    پيش فرض

    سلام
    اقا مرسی
    خیلی جواب کامل و جامعی بود.
    خیلی وقت بود دنبال چنین چیزی می گشتم.
    بازم ممنون.
    فقط 2 سوال دیگر برام پیش امد :
    1- در زمانی که VS روی سیستم خودم نصب است با رفتن به command prompt مربوط به VS و نوشتن gacutil.exe به همراه پارامتر ها مربوطه می توان dll از نوع clr را رجیستر کرد.
    اما اگر بخواهم در سیستم کاربر در هنگام نصب یا اجرای اولین بار نرم افزار این کار را انجام دهم باید چکار کنم؟
    چون دیگر vs نیست که dll را با command prompt ان رجیستر کنم؟

    2- اگر ممکنه یک توضیح در مورد ساخت dll های com و طریقه استفاده از ان ها را بگید؟
    * خیلی موضوع جالبیه چون من فکر می کردم که dll های win32 فقط زبان های مثل delphi و ... (یعنی زبان های native) می توانند بسازند و فکر نمی کردم که c# که تحت .net است بتواند dll های com را بسازد و از ان ها استفاده کند.
    بازم ممنون
    با تشکر

  6. این کاربر از M.Hashemi بخاطر این مطلب مفید تشکر کرده است


  7. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    1)
    مایکروسافت پیشنهاد میکند که برنامه ها در زمان نصب چیزی در GAC نصب نکنند!
    به همین دلیل این فایل در مجموعه SDK وجود دارد ولی با نصب Framework کپی و نصب نمیشود.
    ولی اگر شما اصرار دارید که dll تان در GAC نصب شود میتوانید فایل gacutil را از شاخه زیر کپی کرده و در بسته Setup خود قرار دهید.
    ROOT:\Program Files\Microsoft SDKs\Windows\VERSION\bin
    یعنی خودتان فایل را همراه فایلهای دیگر Setup قرار دهید و داشته باشید و بعد هم درون Setup آن را اجرا کنید و...

    (
    لازم به ذکر است که معمولاً برنامه های Setup ساز گزینه ای برای رجیستر کردن خودکار dll های COM دارند.
    مانند گزینه Register=vsdraCOM در MSI
    دلیل هم ان است که اشیای COM برای کار کردن باید رجیستر شوند که از نقاط ضعف تکنولوژی COM مایکروسافت محسوب میشده (که مایکروسافت بعدهاً در نسخه بالاتر راه کارهایی ارائه کرد) ولی dll های CLR همچین مشکلی ندارند و اجباری برای وجود انها در GAC وجود ندارد
    )

    2)
    چگونگی تولید اشیای COM در پست زیر بیان شده است. (مربوط به بیش از چهارسال قبل!)
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    ضمناً بیشتر dll های بنیادین ویندوز از نوعی هستند که فقط شامل توابع هستند که معروف به Windows API هستند.
    این نوع dll ها به معنی واقعی کلمه Dynamic Link Library هستند و در ویندوز اغلب با ++VC نوشته شده اند که امکان تولید dll های مشابه (فقط شامل توابع صادر شده) در Delphi هم وجود دارد ولی اصولاً کتابخانه های COM به علت صدور Class و کتابخانه CLR به علت صدور هر چیزی انعطاف پذیری بیشتری دارند و برای کارهای پیچیده راحت تر قابل استفاده هستند.

    تاپیک های دیگر در ارتباط با dll ها جهت پیوستگی بیشتر مطالب:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    موفق باشید.

  8. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  9. #5
    کاربر فعال آنتی‎ویروس و نرم‎افزارهای امنیتی M.Hashemi's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    کرمان - رفسنجان
    پست ها
    726

    پيش فرض

    با سلام
    اقا باز هم مثل همیشه خیلی expert و کامل و جامع جواب دادید.
    دیگه هیچ سوالی در این مورد ندارم و به تمام سوالاتم جواب داده شد.
    خیلی ممنون و دست شما مرسی
    با درکی که از صحبت های شما پیدا کردم از همان dll های clr و بدون وارد کردن ان ها در gac ازشون استفاده می کنم.
    به نظرم این طور خیلی بهتر و استاندارد تر است.
    باز هم از کمکتون متشکرم.
    پیروز باشید

  10. این کاربر از M.Hashemi بخاطر این مطلب مفید تشکر کرده است


  11. #6
    در آغاز فعالیت rr2du's Avatar
    تاريخ عضويت
    Aug 2010
    محل سكونت
    کرج
    پست ها
    5

    14 بستن فایل sys

    سلام
    چطور میشه فایل sys که درحال اجرا هست رو متوفق کرد؟ این فایلها چطور بارگزاری میشن و کار دقیقشون چی هست؟
    مسیر قرار گیریشون در آدرس زیر هست
    windows drive \Windows\System32\drivers

    میشه توضیح دقیق بدید؟
    ممنون


  12. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    چطور میشه فایل sys که درحال اجرا هست رو متوفق کرد؟ این فایلها چطور بارگزاری میشن و کار دقیقشون چی هست؟
    مسیر قرار گیریشون در آدرس زیر هست
    windows drive \Windows\System32\drivers

    میشه توضیح دقیق بدید؟
    اینها فایلهای راه انداز (واسط ارتباط، قطعه کدی که چگونکی برقراری ارتباط و ترجمه داده های باینری را با device خاصی میداند) سخت افزار و پروتکل های پایه سیستم هستند.
    و راه مشخصی برای متوقف کردن آنها (بجز حذفشان که خودش راه خاصی دارد) من نمیدانم...

    مثلاً ...
    cdrom.sys راه انداز درایو CD
    kbdclass.sys, kbdhid.sys راه انداز کیبور
    mouclass.sys, mouhid.sys راه انداز ماوس
    ntfs.sys پروتکل NTFS
    و...
    و...

    معمولاً شرکت های سخت افزاری نیاز به طراحی این قبیل فایلها دارند.
    اگر واقعاً قصد طراحی وسیله ای سخت افزاری و اتصال ان را به رایانه را دارید میتوانید اطلاعات تکمیلی و جامعی نمونه کدها و... را در مسیر زیر پیدا کنید.
    اگر بسته فایل مربوطه را دانلود کنید میتوانید نمونه سورس های متنوعی برای راه اندازی انواع وسیله ها پیدا کنید.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    یا به عنوان نمونه دیگر میتوان به نمونه سورس fastfat.sys و cdfs.sys (دو پروتکل سیستم فایل) اشاره کرد که از زیر قابل دانلود است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که برای شروع واقعاً نمونه خیلی خوب و بسیار مفیدی میتواند باشد.

    شب خوش.

  13. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •