نکته :توابع
عملیاتی
API
در صورتی که کار خود را بدرستی انجام ندهند مقدار صفر، در غیر این صورت مقدار
غیر صفر را برمیگردانند.
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 window = FindWindow(null,
t3.Text );
int
i= ShellAbout(window,"ghaffar","ghaffar
yarke salkhory",IntPtr.Zero
);
}
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)
{
string sd = Convert.ToString(timeGetTime());
int i = Convert.ToInt16(sd.Substring(0,
sd.Length - 3));
if
(i < 60)
t1.Text =
"00:00:" + i.ToString();
else if (i >= 60 && i < 3600)
{
int m = i / 60;
int s = i % 60;
t1.Text =
"00:" + m.ToString() +
":" + s.ToString();
}
else
{
int h = i / 3600;
int mm = i % 3600;
if (mm > 59)
{
int m = mm / 60;
int s = mm % 60;
t1.Text = h.ToString()
+ ":" + m.ToString() +
":" + s.ToString();
}
else
{
t1.Text = h.ToString()
+ ":00:" + mm.ToString();
}
}
6-SetCurrentDirectory:
تغيير مسير جاري سيستم
Lppathname:مسير
يك پوشه يا درايو
[DllImport("kernel32.DLL")]
public
static extern
long SetCurrentDirectory(string
lppathname);
private
void button18_Click(object
sender, EventArgs e)
{
SetCurrentDirectory(td1.Text);
}