alexmcse
سه شنبه 28 آبان 1392, 21:29 عصر
نکته :توابع عملیاتی API در صورتی که کار خود را بدرستی انجام ندهند مقدار صفر، در غیر این صورت مقدار غیر صفر را برمیگردانند.
پروپرتی های زیر را تعر یف میکنیم
public static string Lpwindow { get; set; }
public static IntPtr hicon { get; set; }
public static int S { get; set; }
1- ShellAbout : با استفاده از این تابع API می توان پنجره About ویندوز را باز کرد و در ضمن میتوان در متن آن تغییراتی را اعمال کرد.
[DllImport("shell32.DLL")]
public static extern int ShellAbout(IntPtr hwnd,string szApp,string szotherstuff,IntPtr hicon );
[DllImport("User32.DLL")]
public static extern int FindWindow(string str,string lpwindow);
private void button10_Click(object sender, EventArgs e)
{
IntPtr w = (IntPtr)FunctionApi.FindWindow(null,Lpwindow);
ShellAbout(w, "HELLO", "====WINDOW USER====", hicon);
{
2- SetSuspendState : با استفاده از این تابع API می توان سیستم را به حالت Hibernate برد.
[DllImport("powrprof.dll")]
public static extern int SetSuspendState(int hibernate,int forcecritical,int DisablewakeEvent);
private void button11_Click(object sender, EventArgs e)
{
SetSuspendState(1, 0, 0);
}
3- با اجرای این تابع سیستم به حالت Lock میرود و کاربر برای استفاده از سیستم باید کلمه عبور را وارد کند.
[DllImport(“user32.DLL”)]
public static extern int LockWorkStation();
private void button15_Click(object sender, EventArgs e)
{
LockWorkStation();
}
4- FatalAppExit : در صورت اجرای این تابع برنامه یک پیغام خطا نمایش میدهد و بعد از بستن این پیام برنامه بسته می شود.
DllImport("kernel32.DLL")]
public static extern int FatalAppExit(int uAction,string ipmesseg);
private void button17_Click(object sender, EventArgs e)
{
FatalAppExit(0, "Error in Program");
}
5- timeGetTime : این تابع مدت زمان روشن بودن سیستم را به میلی ثانیه برمیگرداند.
[DllImport("Winmm.DLL")]
public static extern long timeGetTime();
private void timer1_Tick(object sender, EventArgs e)
{
var sd = Convert.ToString(TimeGetTime());
var i = Convert.ToInt32(sd.Substring(0, sd.Length - 3));
int m;
if (i < 60)
lable.Text = @"00:00:" + i;
else if (i >= 60 && i < 3600)
{
m = i/60;
S = i%60;
label.Text = @"00:" + m + @":";
}
else
{
var h = i/3600;
var mm = i%3600;
if (mm > 59)
{
m = mm/60;
S = mm%60;
lable.Text = h + @":" + m.ToString(CultureInfo.InvariantCulture) + @":" + S;
}
else
{
lable.Text = h + @":00:" + mm;
}
}
}
:تشویق::تشویق:
پروپرتی های زیر را تعر یف میکنیم
public static string Lpwindow { get; set; }
public static IntPtr hicon { get; set; }
public static int S { get; set; }
1- ShellAbout : با استفاده از این تابع API می توان پنجره About ویندوز را باز کرد و در ضمن میتوان در متن آن تغییراتی را اعمال کرد.
[DllImport("shell32.DLL")]
public static extern int ShellAbout(IntPtr hwnd,string szApp,string szotherstuff,IntPtr hicon );
[DllImport("User32.DLL")]
public static extern int FindWindow(string str,string lpwindow);
private void button10_Click(object sender, EventArgs e)
{
IntPtr w = (IntPtr)FunctionApi.FindWindow(null,Lpwindow);
ShellAbout(w, "HELLO", "====WINDOW USER====", hicon);
{
2- SetSuspendState : با استفاده از این تابع API می توان سیستم را به حالت Hibernate برد.
[DllImport("powrprof.dll")]
public static extern int SetSuspendState(int hibernate,int forcecritical,int DisablewakeEvent);
private void button11_Click(object sender, EventArgs e)
{
SetSuspendState(1, 0, 0);
}
3- با اجرای این تابع سیستم به حالت Lock میرود و کاربر برای استفاده از سیستم باید کلمه عبور را وارد کند.
[DllImport(“user32.DLL”)]
public static extern int LockWorkStation();
private void button15_Click(object sender, EventArgs e)
{
LockWorkStation();
}
4- FatalAppExit : در صورت اجرای این تابع برنامه یک پیغام خطا نمایش میدهد و بعد از بستن این پیام برنامه بسته می شود.
DllImport("kernel32.DLL")]
public static extern int FatalAppExit(int uAction,string ipmesseg);
private void button17_Click(object sender, EventArgs e)
{
FatalAppExit(0, "Error in Program");
}
5- timeGetTime : این تابع مدت زمان روشن بودن سیستم را به میلی ثانیه برمیگرداند.
[DllImport("Winmm.DLL")]
public static extern long timeGetTime();
private void timer1_Tick(object sender, EventArgs e)
{
var sd = Convert.ToString(TimeGetTime());
var i = Convert.ToInt32(sd.Substring(0, sd.Length - 3));
int m;
if (i < 60)
lable.Text = @"00:00:" + i;
else if (i >= 60 && i < 3600)
{
m = i/60;
S = i%60;
label.Text = @"00:" + m + @":";
}
else
{
var h = i/3600;
var mm = i%3600;
if (mm > 59)
{
m = mm/60;
S = mm%60;
lable.Text = h + @":" + m.ToString(CultureInfo.InvariantCulture) + @":" + S;
}
else
{
lable.Text = h + @":00:" + mm;
}
}
}
:تشویق::تشویق: