PDA

View Full Version : آموزش: توابع جالب ، مفید و کاربردی API و آموزش های ویدویی آنها در #C



sagggad
سه شنبه 01 بهمن 1392, 13:37 عصر
با عرض سلام خدمت شما دوستان و اساتید گرامی
طبق جستجو هایی که در تایپیک های سایت داشتم متوجه این موضوع شدم که:
بسیاری از دوستان دنبال یادگیری توابع بسیار جالب و کاربردی API در سی شارپ ، وی بی دات نت و کلا زبان های شی گرا هستند
و من با جستجو هایی که در سایت انجام دادم موضوعی مفید برای این آموزش ها ندیدم
به همین علت به فکر افتادم تا با اجازه ی مدیران محترم سایت و شما دوستان در این تایپیک آموزش های کاربردی انواع توابع و متد های کاربردی استفاده از توابع API در سی شارپ را برای شما دوستان قرار دهم.
آموزش ها انشاالله به صورت ویدئویی و یا نوشتاری در همین تایپیک قرار خواهد گرفت
چنانچه مدیران عزیز اجازه میدهند من تایپیک را شروع کنم
دوستان نیز موافقتون رو بازدن دکمه ی تشکر را اعلام کنند
با تشکر

______________تمامی فصل های آموزش در همین بخش قرار میگیرند ____________________
فصل اول :
توضیحات:
1-توضیح APi
2-ایجاد صدای آلارم توسط APi
مدت زمان : 15 دقیقه
حجم ویدئو : 7 مگابایت
لینک دانلود:
http://s5.picofile.com/file/81100323...Api_1.rar.html (http://s5.picofile.com/file/8110032376/Learning_Api_1.rar.html)
__________________________________________________ ____________________________-
فصل دوم:
خوب دوستان در این فصل (فصل 2 ) شما بیشتر با توابع API آشنا خواهید شد
توضیحات:
1- جستجو کردن یک پنجره در ویندوز و بستن آن با API .
2- استفاده از کلید های ترکیبی و توابع SendKeys .
حجم : 10 مگابایت
مدت زمان ویدئو: 20 دقیقه
لینک دانلود:http://s5.picofile.com/file/8110134100/Learning_API_2.rar.html

با تشکرهاتون ما رو خوشحال کنید:لبخندساده:
__________________________________________________ ________________________________

دوستان تکه کدهای خود را در همین تایپیک قرار دهید

sagggad
سه شنبه 01 بهمن 1392, 14:54 عصر
خب دوستان
فصل اول آموزش ویدئوییAPI آماده شد:
توضیحات:
1-توضیح APi
2-ایجاد صدای آلارم توسط APi
مدت زمان : 15 دقیقه
حجم ویدئو : 7 مگابایت
لینک دانلود:
http://s5.picofile.com/file/8110032376/Learning_Api_1.rar.html
دوستان نیز اگر تکه کدی میدونن بذارن تا همه استفاده کنن

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

sagggad
سه شنبه 01 بهمن 1392, 15:24 عصر
دوستانی که آموزشی دارن با پیام خصوصی برام بفرستن تا با ذکر اسمشون در همین تاپیک قرار بدم
متشکر
این یک لینک برای استفاده از انواع توابع API البته در صورتی که ویدئو را دیدید این سایت روببینید:
http://www.pinvoke.net
فرستاده شده توسط :
forodo
دوستان تکه کدهای خود را در همین تایپیک قرار دهید

sagggad
سه شنبه 01 بهمن 1392, 17:05 عصر
دوستان از این پس میتوانید کدهای خود را در همین تایپیک قرار دهید

forodo
سه شنبه 01 بهمن 1392, 17:38 عصر
گذاشتن متن دلخواه روی عنوان فرمی که فعال است


[System.Runtime.InteropServices.DllImport("user32")]
public static extern IntPtr GetForegroundWindow(); // کدام فرم فعال است

[System.Runtime.InteropServices.DllImport("user32")]
public static extern bool SetWindowText(IntPtr hwnd, String lpString); // انداختن متن رو عنوان فرم فعال

// Example:
private void timer1_Tick_1(object sender, EventArgs e)
{
SetWindowText(GetForegroundWindow(), "This is WOW!");
}

forodo
سه شنبه 01 بهمن 1392, 20:27 عصر
بستن یک پنجره خاص


[System.Runtime.InteropServices.DllImport("user32")]
public static extern int FindWindow(string lpClassName, string lpWindowName); // کدام پنجره بسته شود

[System.Runtime.InteropServices.DllImport("user32")]
public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam); // بستن پنجره مربوطه

//Example:
private void timer1_Tick(object sender, EventArgs e)
{
SendMessage(FindWindow(null, "Run"), 0x0112, 0xF060, 0);
}

khokhan
سه شنبه 01 بهمن 1392, 21:52 عصر
دوستان از این پس میتوانید کدهای خود را در همین تایپیک قرار دهید
استفاده از تایمر و ترد برای جلوه دادن هنگام باز شدن فرم موجب می شه تا برنامه دچار مشکل بشه و هزار ویک مکافات به همراه داره
اما استفاده از دستورات Api این مشکل رو برطرف می کنه
منبع www.codeproject.com (http://www.codeproject.com/Articles/30255/C-Fade-Form-Effect-With-the-AnimateWindow-API-Func)

sagggad
سه شنبه 01 بهمن 1392, 22:25 عصر
بستن یک پنجره خاص


[System.Runtime.InteropServices.DllImport("user32")]
public static extern int FindWindow(string lpClassName, string lpWindowName); // کدام پنجره بسته شود

[System.Runtime.InteropServices.DllImport("user32")]
public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam); // بستن پنجره مربوطه

//Example:
private void timer1_Tick(object sender, EventArgs e)
{
SendMessage(FindWindow(null, "Run"), 0x0112, 0xF060, 0);
}

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

drsina
سه شنبه 01 بهمن 1392, 22:27 عصر
سلام .
ممنون داداش سجاد تاپیک خوبی هست .
منم خیلی کد دارم ، سعی می کنم اینجا قرار بدم .
اولیش :

مسیج باکس به وسیله API
using System;
using System.Runtime.InteropServices;

namespace FirstAPI
{
class Program
{
[DllImport("user32.dll", EntryPoint = "MessageBox")]
private static extern int ShowMessage(
int hWnd,
string text,
string caption,
uint type);

static void Main()
{
string caption = "Visual C# 2008";
string text = "Hello, world!";
ShowMessage(0, text, caption, 0);

Console.WriteLine("Press a key to exit... ");
Console.ReadKey();
}
}
}

drsina
سه شنبه 01 بهمن 1392, 22:28 عصر
دومیش :
اطلاعات سیستم با API
using System;
using System.Runtime.InteropServices;

namespace SystemInfo
{
class Program
{
public struct SYSTEM_INFO
{
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}

public struct MEMORY_STATUS
{
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
}

public struct OS_VERSION_INFO
{
public Int32 dwOSVersionInfoSize;
public Int32 dwMajorVersion;
public Int32 dwMinorVersion;
public Int32 dwBuildNumber;
public Int32 dwPlatformId;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public String szCSDVersion;
}

[DllImport("kernel32")]
static extern bool GetVersionEx(ref OS_VERSION_INFO lpVersionInfo);

[DllImport("kernel32")]
static extern void GetSystemInfo(ref SYSTEM_INFO pSI);

[DllImport("kernel32")]
static extern void GlobalMemoryStatus(ref MEMORY_STATUS buf);

static void Main()
{
const int MB = 1048576;//MEGABYTE

string osName = "Unknown";
OS_VERSION_INFO info = new OS_VERSION_INFO();
info.dwOSVersionInfoSize = Marshal.SizeOf(info);

if (!GetVersionEx(ref info))
Console.WriteLine("GetVersion failed");

switch (info.dwMajorVersion + "." + info.dwMinorVersion)
{
case "6.1":
osName = "Win 7";
break;

case "6.0":
osName = "Win Vista";
break;

case "5.2":
osName = "Win 2003";
break;

case "5.1":
osName = "Win XP";
break;

case "5.0":
osName = "Win 2000";
break;

case "4.0":
osName = "Win NT 4.0";
break;
}

Console.WriteLine("OS Name: {0}", osName);
Console.WriteLine("Version: {0}.{1}.{2}",
info.dwMajorVersion, info.dwMinorVersion, info.dwBuildNumber);
Console.Write("\n");

SYSTEM_INFO pSI = new SYSTEM_INFO();
GetSystemInfo(ref pSI);

MEMORY_STATUS memSt = new MEMORY_STATUS();
GlobalMemoryStatus(ref memSt);

Console.WriteLine("Number Of Processors: {0}",
pSI.dwNumberOfProcessors);

Console.WriteLine("Application Address: {0} to {1}\n",
pSI.lpMinimumApplicationAddress / MB,
pSI.lpMaximumApplicationAddress / MB);

Console.WriteLine("Physical Memory: {0}:{1} (available:total)",
memSt.dwAvailPhys / MB, memSt.dwTotalPhys / MB);

Console.WriteLine("Virtual Memory: {0}:{1} (available:total)\n",
memSt.dwAvailVirtual / MB, memSt.dwTotalVirtual / MB);

Console.WriteLine("Press a key to exit... ");
Console.ReadLine();
}
}
}

drsina
سه شنبه 01 بهمن 1392, 22:29 عصر
سومیش :
ارائه ی ارور قبلی داده شده توسط کامپیوت با API :
using System;
using System.Runtime.InteropServices;

namespace GetLastError
{
class Program
{
[DllImport("user32", EntryPoint = "MessageBox")]
static extern int ShowMessage(
int hWnd,
string text,
string caption,
uint type);

[DllImport("kernel32")]
static extern int GetLastError();

static void Main()
{
int errorCode;
string caption = "Visual C# 2008";
string text = "Hello, world!";
ShowMessage(10, text, caption, 0);
errorCode = GetLastError();

Console.WriteLine("Error Code={0}\n", errorCode);
Console.WriteLine("Press a key to exit... ");
Console.ReadKey();
}
}
}

drsina
سه شنبه 01 بهمن 1392, 22:30 عصر
چهارمیش :
این خیلی باحاله حتما امتحان کنید ................. رسم برروی صفحه نمایش

using System;
using System.Drawing;
using System.Runtime.InteropServices;

namespace DrawOnScreen
{
class Program
{
[DllImport("user32")]
static extern IntPtr GetDesktopWindow();

[DllImport("user32")]
static extern IntPtr GetDCEx(IntPtr hwnd, IntPtr hrgn, uint flags);

private static Graphics g;
private static Random random = new Random();

static void Main()
{
int x = 300, x1 = 600, x2 = 300, x3 = 600;
int y = 200, y1 = 200, y2 = 400, y3 = 400;

IntPtr hdc = GetDCEx(GetDesktopWindow(), IntPtr.Zero, 1027);
g = Graphics.FromHdc(hdc);

while (true)
{
go(Brushes.Red, ref x, ref y);
go(Brushes.Blue, ref x1, ref y1);
go(Brushes.Green, ref x2, ref y2);
go(Brushes.Yellow, ref x3, ref y3);
}
}

static void go(Brush b, ref int x, ref int y)
{
switch (random.Next() % 4)
{
case 0:
x += 1;
break;

case 1:
y += 1;
break;

case 2:
x -= 1;
break;

case 3:
y -= 1;
break;
}

g.FillEllipse(b, x, y, 10, 10);
}
}
}

drsina
سه شنبه 01 بهمن 1392, 22:31 عصر
پنجمیش :
گرفتن عکس از کامپیوتر با API
using System;
using System.Drawing;
using System.Runtime.InteropServices;

namespace CaptureScreen
{
class Program
{
const int SM_CXSCREEN = 0;
const int SM_CYSCREEN = 1;
const int srcCopy = 13369376;

struct SIZE
{
public int cx;
public int cy;
}

[DllImport("user32")]
static extern IntPtr GetDesktopWindow();

[DllImport("user32")]
static extern IntPtr GetDC(IntPtr ptr);

[DllImport("user32")]
static extern int GetSystemMetrics(int abc);

[DllImport("user32")]
static extern IntPtr GetWindowDC(Int32 ptr);

[DllImport("user32")]
static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDc);

[DllImport("gdi32")]
static extern IntPtr DeleteDC(IntPtr hDc);

[DllImport("gdi32")]
static extern IntPtr DeleteObject(IntPtr hDc);

[DllImport("gdi32")]
static extern bool BitBlt(
IntPtr hdcDest,
int xDest,
int yDest,
int wDest,
int hDest,
IntPtr hdcSource,
int xSrc,
int ySrc,
int RasterOp);

[DllImport("gdi32")]
static extern IntPtr CreateCompatibleBitmap(
IntPtr hdc,
int nWidth,
int nHeight);

[DllImport("gdi32")]
static extern IntPtr CreateCompatibleDC(IntPtr hdc);

[DllImport("gdi32")]
static extern IntPtr SelectObject(IntPtr hdc, IntPtr bmp);

static void Main()
{
screenshot();

Console.WriteLine("\nPress enter to exit... ");

Console.ReadLine();
}

static void screenshot()
{
SIZE scrSize;
IntPtr hBitmap;

IntPtr scrHDC = GetDC(GetDesktopWindow());

//Create memory DC
IntPtr hMemDC = CreateCompatibleDC(scrHDC);

scrSize.cx = GetSystemMetrics(SM_CXSCREEN);
scrSize.cy = GetSystemMetrics(SM_CYSCREEN);

//Create a compatible bitmap of screen size
hBitmap = CreateCompatibleBitmap(scrHDC, scrSize.cx, scrSize.cy);

if (hBitmap != IntPtr.Zero)
{
//Select the image in memory
IntPtr hOld = (IntPtr)SelectObject(hMemDC, hBitmap);

//Copy the new bitmap into memory
BitBlt(hMemDC, 0, 0, scrSize.cx, scrSize.cy,
scrHDC, 0, 0, srcCopy);

//Select the old bitmap into memory
SelectObject(hMemDC, hOld);

DeleteDC(hMemDC);
ReleaseDC(GetDesktopWindow(), scrHDC);

Bitmap bitmap = Image.FromHbitmap(hBitmap);
bitmap.Save("Shot.bmp");

Console.WriteLine("Create Screenshot Complete");
}
else
{
Console.WriteLine("Error!");
}
}
}
}

drsina
سه شنبه 01 بهمن 1392, 22:34 عصر
ششمیش :
اینم خیلی توپه حتما ببینید : نوت ها موسیقی fa so la si و از این چیزا رو با Console.Beep() اجرا می کنه .
حدود 500 تا کد دارم ، فردا امتحان دارم ، بقیه شو فردا میزارم :بوس:

using System;
using System.Runtime.InteropServices;

namespace Note
{
class Program
{
[DllImport("kernel32")]
private static extern int Beep(int dwFreq, int dwDuration);

static double Do = 32;
static double Re = 32 * Math.Pow(1.0595, 2);
static double Mi = 32 * Math.Pow(1.0595, 4);
static double Fa = 32 * Math.Pow(1.0595, 5);
static double Sol = 32 * Math.Pow(1.0595, 7);
static double La = 32 * Math.Pow(1.0595, 9);
static double Si = 32 * Math.Pow(1.0595, 11);

static void Main()
{
for (double i = 5; i > 0; i--)
{
Beep((int)(Do * Math.Pow(2, i)), 300);
Beep((int)(Re * Math.Pow(2, i)), 300);
Beep((int)(Mi * Math.Pow(2, i)), 300);
Beep((int)(Fa * Math.Pow(2, i)), 300);
Beep((int)(Sol * Math.Pow(2, i)), 300);
Beep((int)(La * Math.Pow(2, i)), 300);
Beep((int)(Si * Math.Pow(2, i)), 300);
}
}
}
}

sagggad
سه شنبه 01 بهمن 1392, 22:38 عصر
ممنون ازت اگه کدهات خیلی زیاده همش رو تو یه فایل متنی بذار که تایپیک شلوغ نشه
متشکر

forodo
سه شنبه 01 بهمن 1392, 23:03 عصر
غیر فعال کردن دکمه خروج فرم


[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern int GetMenuItemCount(IntPtr hMenu);

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags);

private const Int32 MF_BYPOSITION = 0x400;

//Example:
private void Form1_Load(object sender, EventArgs e)
{
IntPtr hMenu = GetSystemMenu(this.Handle, false);
int n = GetMenuItemCount(hMenu);
if (hMenu != IntPtr.Zero)
{
if (n > 0)
{
RemoveMenu(hMenu, (uint)(n - 1), MF_BYPOSITION);
}
}
}

forodo
سه شنبه 01 بهمن 1392, 23:06 عصر
تعیین زمان بین دوبارکلیک کردن

این کدرو اجرا کن اگه تونستی حالا دوبارکلیک کن :قهقهه:

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool SetDoubleClickTime(uint uInterval);

// Example:
private void button1_Click(object sender, EventArgs e)
{
SetDoubleClickTime(1);
}

forodo
سه شنبه 01 بهمن 1392, 23:08 عصر
چشمک زدن آیکون برنامه در Task Manager


[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool FlashWindow(IntPtr hwnd, bool bInvert);

// Example:
private void button1_Click(object sender, EventArgs e)
{
FlashWindow(this.Handle, true);
}

forodo
سه شنبه 01 بهمن 1392, 23:10 عصر
عوض شدن جای راست کلیک و چپ کلیک


[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool SwapMouseButton(bool fSwap);

// Example:
private void button1_Click(object sender, EventArgs e)
{
SwapMouseButton(true);
}

sagggad
سه شنبه 01 بهمن 1392, 23:16 عصر
حتما خیلی دوست دارید برنامتون بتونه بهتون نام یک پنجره که دارای فاکوس هست رو بهتون نشون بده
از این کد استفاده کنید:
ابتدا تابع API رو ایجاد کرده و سپس در یک تایمر اون رو فراخوانی میکنیم

[DllImport("user32.dll", ExactSpelling=true, CharSet=CharSet.Ansi, SetLastError=true)]
private static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll", ExactSpelling=true, CharSet=CharSet.Unicode, SetLastError=true)]
private static extern int GetWindowTextW(IntPtr hwnd, System.Text.StringBuilder lpString, int cch);
public static string GetForegroundWindowText()
{
IntPtr hwnd = GetForegroundWindow();
if (hwnd == IntPtr.Zero)
{
return null;
}

System.Text.StringBuilder ret = new System.Text.StringBuilder(1024);
GetWindowTextW(hwnd, ret, ret.Capacity);
if (ret.Length <= 0)
{
return null;
}

return ret.ToString();
}
public void Timer1_Tick(object sender, EventArgs e)
{
TextBox1.Text = GetForegroundWindowText();
}

forodo
چهارشنبه 02 بهمن 1392, 00:38 صبح
بررسی اتصال سیستم به اینترنت


[System.Runtime.InteropServices.DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);

private bool InternetConnection()
{
bool TF;
int Desc;
TF = InternetGetConnectedState(out Desc, 0);
return TF;
}

// Example:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(InternetConnection().ToString());
}

sagggad
چهارشنبه 02 بهمن 1392, 07:58 صبح
فصل دوم آموزش ویدئویی آماده شد:

خوب دوستان در این فصل (فصل 2 ) شما بیشتر با توابع API آشنا خواهید شد
توضیحات:
1- جستجو کردن یک پنجره در ویندوز و بستن آن با API .
2- استفاده از کلید های ترکیبی و توابع SendKeys .
حجم : 10 مگابایت
مدت زمان ویدئو: 20 دقیقه
لینک دانلود:http://s5.picofile.com/file/8110134100/Learning_API_2.rar.html
با تشکرهاتون ما رو خوشحال کنید:لبخندساده:

forodo
چهارشنبه 02 بهمن 1392, 11:34 صبح
حرکت دادن فرم با کلیک بر روی هر نقطه از آن


[System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

[System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();

private void Form1_MouseDown_1(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(this.Handle, 0xa1, 0x2, 0);
}
}

mahdi.compute
چهارشنبه 02 بهمن 1392, 13:50 عصر
با عرض سلام خدمت شما دوستان و اساتید گرامی
طبق جستجو هایی که در تایپیک های سایت داشتم متوجه این موضوع شدم که:
بسیاری از دوستان دنبال یادگیری توابع بسیار جالب و کاربردی API در سی شارپ ، وی بی دات نت و کلا زبان های شی گرا هستند
و من با جستجو هایی که در سایت انجام دادم موضوعی مفید برای این آموزش ها ندیدم
به همین علت به فکر افتادم تا با اجازه ی مدیران محترم سایت و شما دوستان در این تایپیک آموزش های کاربردی انواع توابع و متد های کاربردی استفاده از توابع API در سی شارپ را برای شما دوستان قرار دهم.
آموزش ها انشاالله به صورت ویدئویی و یا نوشتاری در همین تایپیک قرار خواهد گرفت
چنانچه مدیران عزیز اجازه میدهند من تایپیک را شروع کنم
دوستان نیز موافقتون رو بازدن دکمه ی تشکر را اعلام کنند
با تشکر

______________تمامی فصل های آموزش در همین بخش قرار میگیرند ____________________
فصل اول :
توضیحات:
1-توضیح APi
2-ایجاد صدای آلارم توسط APi
مدت زمان : 15 دقیقه
حجم ویدئو : 7 مگابایت
لینک دانلود:
http://s5.picofile.com/file/81100323...Api_1.rar.html (http://s5.picofile.com/file/8110032376/Learning_Api_1.rar.html)
__________________________________________________ ____________________________-
فصل دوم:
خوب دوستان در این فصل (فصل 2 ) شما بیشتر با توابع API آشنا خواهید شد
توضیحات:
1- جستجو کردن یک پنجره در ویندوز و بستن آن با API .
2- استفاده از کلید های ترکیبی و توابع SendKeys .
حجم : 10 مگابایت
مدت زمان ویدئو: 20 دقیقه
لینک دانلود:http://s5.picofile.com/file/8110134100/Learning_API_2.rar.html

با تشکرهاتون ما رو خوشحال کنید:لبخندساده:
__________________________________________________ ________________________________

دوستان تکه کدهای خود را در همین تایپیک قرار دهید

فرم شیشه فقط برای ویندروز های 7 به بالا.
فقط باید تم ویندوزتون روی تم های شیشه ای باشه !
من خواستم کد رو بزارم دیدم کسی شاد متوجه نشه برای همین پروژو میزارم !

sagggad
چهارشنبه 02 بهمن 1392, 14:17 عصر
تغییر زبان کیبورد به نحوی که حتی اگر از برنامه خارج شوید باز هم زبان تغییر نمیکند:
اول این رو Using کنید:

Using System.Runtime.InteropServices

این برای تغییر به زبان فارسی :

[DllImport("User32.dll")]
public static extern int LoadKeyboardLayoutA(string pwzsKLID, int flag);


مثال برای فرخوانی متد:

LoadKeyboardLayoutA("00000429", 1);

تشکر یادتون نره هااااا:لبخندساده:

rasol_afkham
چهارشنبه 02 بهمن 1392, 16:57 عصر
چشمک زدن آیکون برنامه در Task Manager


[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool FlashWindow(IntPtr hwnd, bool bInvert);

// Example:
private void button1_Click(object sender, EventArgs e)
{
FlashWindow(this.Handle, true);
}


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

115758

ببخشید اشتباه رو پیدا کردم. پسوند dll با فاصله نوشته شده. user32.d ll

sagggad
چهارشنبه 02 بهمن 1392, 22:09 عصر
Drisna بقیه کدهات چی شد؟