امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
توابع API ویندوز در سی شارپ
نویسنده پیام
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #1
توابع API ویندوز در سی شارپ
برنامه زیر 4 تابع API را مورد بررسی قرار داده است
کد:
using System.Runtime.InteropServices;
namespace CSharpWin32APICall
{
    public partial class Form1 : Form
    {
        [DllImport("User32.dll")]
        public static extern IntPtr CloseWindow(IntPtr hWnd);
        [DllImport("User32.dll")]
        public static extern IntPtr BringWindowToTop(IntPtr hWnd);
        [DllImport("User32.dll")]
        public static extern IntPtr DestroyWindow(IntPtr hWnd);
        [DllImport("User32.dll")]
        public static extern IntPtr AnimateWindow(IntPtr hWnd,
             int time, AnimateWindowFlags flags);
در بخش بالا 4 عدد از توابع API را از کتابخانه هایشان فراخوانی کرده ایم . همانطور که واضح است نام کتابخانه

چیزی نیست جز User32.dll .

بعضی از توابع یکسری Flag دارند . ( یک عددی که به عنوان پارامتر به تابع پاس داده میشود و رفتار تابع را مشخص

می کند.)برای مثال در بالا پارامتر سوم تابع AnimateWindow یک فلگ می باشد که نوع انمیشن پنجره را مشخص

میکند. ( مثلا میگوید Fade شو یا به راست برو یا به چپ حرکت کن و ....) برای فراخوانی فلگ ها در زبان های

شی گرا ، از نوع های شمارشی استفاده میشود. یک نوع شمارشی یا enum مانند یک مجموعه است که هر

عضو آن می تواند یک عدد داشته باشد . ( می توانید آن را مجموعه ای از زوج مرتب ها تلقی کنید که یک بخش

آنها نام صفت ، و بخش دیگر مقدار آن است.) برای AnimateWindow خواهیم داشت :
کد:
public enum AnimateWindowFlags
        {
            AW_SLIDE = 0x00040000,
            AW_VER_POSITIVE = 0x00000004,
            AW_VER_NEGATIVE = 0x00000008,
            AW_HIDE = 0X40000,
            AW_BLEND = 0X80000,
            AW_ACTIVATE = 0x00020000
        }
برای مثال موقعی که فرم لود میشود ، تابع Animate Window را فراخوانی می کنیم تا فرم به صورت Fade لود

شود :
کد:
AnimateWindow(this.Handle, 1000,AnimateWindowFlags.AW_ACTIVATE
                | AnimateWindowFlags.AW_BLEND);
که در کد بالا ، آنجایی که پر رنگ شده است ، دارد از نوع شمارشی بالا استفاده میکند و جای آنها اعداد معادل آنها

قرار میگیرد و به تابع پاس داده میشوند. پارامتر دوم نیز زمان به میلی ثانیه است که در اینجا 1000 برابر یا یک ثانیه

است.

بقیه توابع یک پارامتر عدد صحیح دارند که ID فرم است که باز شده است . این ID نامش HWND یا به عبارتی

Window Handle می باشد. برای دسترسی به این شماره در سی شارپ از عبارت this.Handle استفاده میکنیم.
   

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
(آخرین ویرایش در این ارسال: ۱۲-مهر-۱۳۹۲, ۲۲:۲۴:۳۲، توسط babyy.)
۱۲-مهر-۱۳۹۲, ۱۰:۵۰:۰۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : behzady, babyy, A.P-H@ck3r


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  رایت dvd سی شارپ Ghoghnus 0 649 ۲۱-تير-۱۳۹۹, ۱۷:۵۶:۱۵
آخرین ارسال: Ghoghnus
  کد باز کردن عکس gif در سی شارپ اگه دارید لطفا بهم بدید. game_is_over 2 6,008 ۲۳-خرداد-۱۳۹۶, ۱۲:۴۴:۰۹
آخرین ارسال: sani8888
  برنامه چت در سي شارپ paeezesahar 2 5,289 ۱۰-فروردین-۱۳۹۵, ۰۰:۴۴:۲۹
آخرین ارسال: Ghoghnus
  آموزش مقدماتی سی شارپ به زبان فارسی rastin289 0 2,499 ۰۹-فروردین-۱۳۹۵, ۰۱:۵۷:۰۸
آخرین ارسال: rastin289
  Telnet در محیط ویندوز فرم، نه کنسول sharin 11 8,929 ۱۹-دى-۱۳۹۴, ۲۲:۴۹:۵۴
آخرین ارسال: sharin
  خواندن فایل از وب با سی شارپ Ghoghnus 0 2,516 ۱۹-خرداد-۱۳۹۴, ۰۰:۰۵:۴۱
آخرین ارسال: Ghoghnus
  اتصال به mysqlتحت وب در سی شارپ taksa2012 1 3,482 ۰۵-فروردین-۱۳۹۴, ۱۱:۴۴:۳۶
آخرین ارسال: Ghoghnus
  پردازش تصویر با سی شارپ Lian 3 8,102 ۰۲-فروردین-۱۳۹۴, ۰۲:۵۴:۴۷
آخرین ارسال: rsaghi
  رسم نودار در سی شارپ salmon 1 2,770 ۲۰-آذر-۱۳۹۳, ۱۸:۲۴:۵۳
آخرین ارسال: salehjg
  معادل این دستور تور سی شارپ mehrdad8 1 2,535 ۲۲-اردیبهشت-۱۳۹۳, ۱۴:۵۴:۲۵
آخرین ارسال: Di Di

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS