تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اغلاق الشاشه من خلال الكود
#1
كاتب الموضوع : AhmedEssawy

بسم الله الرحمن الرحيم و الصلاه و السلام علي اشرف الخلق و المرسلين .

كيفيه اغلاق شاشه الكمبيوتر بواسطه الكود :

اذا كنت من مستخدمي الجهاز بصفه دوريه و لفترات طويله يوميا مثلي و و تتردد علي الشاشه لاغلاقها و فتحها بصفه دوريه كنوع من انواع توفير الطاقه و الاستهلالك للشاشه .
او كنت لا تفضل فتح و اغلاق الشاشه من زر الفتح و الاغلاق (اذا كنت من الدقيقين امثالي ستلاحظ ان هناك صوت مزعج يصدر عند فتح الشاشه من الرز ولا يصدر عندما يفتحها الويندوز .
و هذا هو هدفي هنا . اريد ان اغلق الشاشه و افتحها كما في الويندوز .
سأحاول بإذن الله إيضاحه هنا .


كيفيه إغلق الشاشه بواسطه الكود .


ساعتمد في شرحي علي أي بي أي API تسمي SendMessage في الويندوز التي تتيح لنا التحكم في حالات الشاشه المختلفه من فتح و اغلاق .



كود :
Syntax :
LRESULT SendMessage( HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam );

كما ترى هنا تتكون ال function من اربعه parameters ؛ سأوضحهم كيفيه التعامل معهم في الكود و لكن سأركز هنا علي اخر parameter بصفته المسئول عن حالات الشاشه المختلفه .


LParam (last paramter
1 - the display is going to low power.
استخدام طاقه قليله
2 - the display is being shut off.
اغلاق الشاشه
–1 - the display is being turned on (undocumented value).
فتح الشاشه



Start the coding now :



كود :
First of all you should use
using System.Runtime.InteropServices; //to DllImport

public int WM_SYSCOMMAND = 0x0112;
public int SC_MONITORPOWER = 0xF170; //Using the system pre-defined MSDN constants that can be used by the SendMessage() function .


[DllImport("user32.dll")]
private static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);
//To call a DLL function from C#, you must provide this declaration .


private void button1_Click(object sender, System.EventArgs e)
{

SendMessage( this.Handle.ToInt32() , WM_SYSCOMMAND , SC_MONITORPOWER ,2 );//DLL function
}
}}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم