API هاي ويندوز و طرز استفاده آنها در وی بی » پورتال اینترنتی وب تو فا

  RSS 2.0 تماس با ما دیکشنری آنلاین عضویت صفحه اصلی  
 
ورود و خروج
نام کاربری:
کلمه عبور:
 
 
آخرین مطالب
» چگونه يک تم براي ويندوز 7 درست کنيم؟
» آشنايي با مفهوم اشاره‌گرها به زبان ساده
» چگونه برج‌هاي هانوي را جابه‌جا كنيم؟
» 15 نکته ی جالب در مورد اینترنت
» آموزش آپدیت بایوس مادربرد های Asus
» فلش کردن BIOS چه معنایی دارد ؟
» چيپ‌ها چگونه ساخته مي‌شوند ؟
» کارت گرافيک اورکلاک شده بله يا خير؟
» مقايسه چيپ‌هاي گرافيکي nVIDIA
» پيش نمايش انواع فايل‌ها بدون نياز به نصب برنامه مربوطه
 
مطالب برتر
» چگونه برج‌هاي هانوي را جابه‌جا كنيم؟
» چگونه يک تم براي ويندوز 7 درست کنيم؟
» آشنايي با مفهوم اشاره‌گرها به زبان ساده
 
مطالب تصادفی
» ارسال ايميل با کمک ASP
» بازکردن رمز رم موبايل ، بازکردن رمز مموري کارت
» آرشیو کامل آلبوم های شادمهر عقیلی
» نرم افزار پيام رسان معروف LCG Slick Messenger v0.45
» تبديل فايل هاي پي دي اف فارسي به متن (PDF to Word)
» آنتی ویروس قدرتمند Nod 32 برای UIQ3
» آهنگ ساسي مانكن و عليشمس با نام موشولينا كوشن
» دانلود آلبوم زیبای نسیم و افشین آذری ( جدید )
» آشنایی با هسته‌ی لینوکس
» برنامه رسم لوزی با کاراکتر * در ++C
 
آرشیو مطالب
» مرداد 1389 (4)
» تير 1389 (47)
» خرداد 1389 (30)
» ارديبهشت 1389 (12)
» فروردين 1389 (6)
» اسفند 1388 (14)
» بهمن 1388 (16)
» دي 1388 (13)
» آذر 1388 (13)
» آبان 1388 (10)
» مهر 1388 (20)
» شهريور 1388 (20)
» مرداد 1388 (23)
» تير 1388 (13)
» خرداد 1388 (36)
» ارديبهشت 1388 (91)
 
تقویم
<    «  ارديبهشت 1388  »    >
شيدسچپج
 1234
567891011
12131415161718
19202122232425
262728293031 
 
 



کامپیوتر و اینترنت » برنامه نویسی : API هاي ويندوز و طرز استفاده آنها در وی بی
نویسنده: ahmadflasher تاریخ: 3 ارديبهشت 1388 بازدید: 230 بار

امروز قصد داریم در مورد API هاي ويندوز و چگونگي استفاده از آنها در ويژوال بيسيک بطور خلاصه توضيح دهم و همچنين دو مثال پراستفاده را نيز در اين زمينه بيان کنم که عبارتند از چگونگي پخش فايلهاي Wav و ساخت يک تايمر با دقت بالا :

۱ - آشنايي با Windows API : واژه API مخفف Application Programming Interface مي باشد . API هاي ويندوز مجموعه اي از توابع از پيش آماده موجود در سيستم عامل هستند که شما مي توانيد آنها را در برنامه هاي خود فراخواني کنيد . اين توابع در چندين کتابخانه DLL ويندوز ذخيره شده اند . براي دسترسي به اين توابع در ويژوال بيسيک ابتدا بايد آنها را برنامه خود declare کنيد . براي مثال :
به ادامه مطلب مراجعه کنید ...

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long


همانطور که مي بينيد مثال فوق يک Declare از تابع sndPlaySound مي باشد که اين تابع در کتابخانه Winmm.dll موجود است . کلمه Alias نشان مي دهد که اين تابع نام ديگري در dll دارد . ساير بخشها مربوط به تعريف پارامترهاي تابع مي باشند که در مورد مثال فوق ، اين تابع دو پارامتر ورودي و يک خروجي از نوع Long دارد .
پس از Delare کردن API در برنامه مي توانيد از آن استفاده نمائيد .

۲ - پخش فايلهاي Wav : تابعي که براي پخش فايلهاي Wav استفاده مي شود تابع sndPlaySound است که در بالا با آن آشنا شديد . پارامتر lpzSoundName نام و مسير فايل Wavو پارامتر uFlags چگونگي پخش فايل را مشخص مي کند . مقادير ممکن اين پارامتر عبارتند از :
- SND_ASYNC : اجازه مي دهد طوري فايل Wav پخش شود که آنرا بتوان وقفه داد . بعبارت ديگر قادر خواهيد بود فايل Wav تان را هر زمان که بخواهيد پخش کنيد و مطمئن باشيد که حتماً شنيده مي شود .
- SND_LOOP : فايل Wav را بطور ممتد پخش مي کند .
- SND_NODEFAULT : اگر فايل Wav پيدا نشود صداي ديگري پخش نخواهد شد ( مثلاً برخي صداهاي default ويندوز )
- SND_SYNC : در طول پخش فايل Wav کنترل به برنامه داده نمي شود . اين پارامتر در زمانيکه مي خواهيد فايل Wav اي را در پس زمينه برنامه تان پخش کنيد مناسب نمي باشد .
- SND_NOSTOP : اگر فايل Wav اي قبلاً در حال پخش باشد ، فايل Wav شما آنرا دچار وقفه نمي کند . از اين پارامتر زماني استفاده مي شود که بخواهيم فايل Wav مان هيچوقت در وسط کار قطع نشود .
اگر بخواهيد از بيش از يکي از اين پارامترها استفاده کنيد توسط Or آنها را ترکيب نمائيد مثال :

sndPlaySound App.path & "\ding.wav", SND_ASYNC or SND_LOOP

نکته : براي استفاده از توابع صوتي پيچيده تر بايستي از DirectSound که يکي از اجزاي DirectX مي باشد استفاده کنيد . در مورد DirectSound بعداً صحبت خواهم کرد .

۳ - ساخت يک تايمر با دقت بالا : شايد تا بحال از کنترل تايمر موجود در نوار ابزار ويژوال بيسيک استفاده کرده باشيد . اين تايمر داراي دقت حدود ۵۵ ميلي ثانيه است . براي دستيابي به زمانهاي با دقت بالاتر اين کنترل مفيد نخواهد بود .
تابع GetTickCount يک API موجود در کتابخانه Kernel32.dll است . اين تابع طول زماني را که سيستم شروع به کار کرده است را برحسب ميلي ثانيه برمي گرداند :

Private Declare Function GetTickCount Lib "kernel32" () As Long

براي بررسي طي شدن يک مدت زماني خاص شما ابتدا بايد مقدار اين تابع را در يک متغير کمکي مثل TempTime قرار دهيد سپس در يک حلقه Do-Loop بايد اختلاف زمان GetTickCount جديد و زمان TempTime را با مقدار زماني که مي خواهيد سپري شود مقايسه کنيد :

TempTime = GetTickCount()x
Do While DesiredTime < GetTickCount() - TempTime
Do some things'
Loop


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

ExitFunction = False
TempTime = GetTickCount()x
Do While not(ExitFunction)x
If DesiredTime < GetTickCount() - TempTime then
Reset the temporary variable'
TempTime = GetTickCount()x
Do some things'
End If
Loop


همچنين از تابع GetTickCount مي توان براي benchmark برنامه ها استفاده کرد . بعبارت ديگر مي توان زمان اجراي يکسري دستورات خاص را بدست آورد


 
فقط کاربران عضو می توانند این بخش را مشاهده کنند...

مطالب مشابه:

  • معيارهاي انتخاب همسر
  • چگونه يك هكر شويد ؟
  • تاريخچه مختصري در مورد فايلهاي پيکر بندي
  • نکاتی مفید در مورد تنظیم php.ini
  • جلوگیری از آلوده شدن فلش به ویروس اتوران
  • بازکردن رمز رم موبايل ، بازکردن رمز مموري ...


  • نظرات (0)   نسخه قابل چاپ
     ( امتيازها: 1)

    ارسال نظر
    نام:
    ایمیل:

    کد امنیتی:
    تصوير كد امنيتي
    ريست کد
    کد امنیتی:

     

     
     
    منوی اصلی
     صفحه اصلی    آمار سایت    جستجوی پیشرفته   مطالب جدید    دیکشنری آنلاین   آخرین نظرات    تماس با ما  
     
    موضوعات
     
    نظر سنجی
    نظرشما در مورد این سایت؟

    عالي
    خوب
    متوسط
    بد
     
    آمار
    نويسندگان برتر 1- (ahmadflasher (204
    2- (ramin-sahar (72
    3- (ALUx (60
    4- (SeZaR 800 (32
    آمار مطالب يک ساعت پيش: 0
    امروز: 0
    اين ماه: 3
    کل: 368
    کل نظرات: 192
    آمار اعضا يک ساعت پيش: 1
    امروز: 3
    اين ماه: 110
    کل: 926
    بن شدگان: 1
    سه عضو آخر:
    gykjuol
    mahmood
    amirkia_46560

    آمار بازدیدها
     
    لینکهای سایت
    » آموزشگاه کامپیوتر HDsoft
    » دانلود بهترین نرم افزار،فیلم،بازی
    » ایران پی اچ پی
    » برنامه نویس
    » کارشناسی دات کام
     
     
     
    CopyRight All Reserved By .:Web2Fa.com:.-2008-2009- Powered By DataLife Engine