PDA

View Full Version : کلیک مستقیم بر دسکتاپ ویندوز



alinaghiha
جمعه 06 اردیبهشت 1387, 22:12 عصر
خسته نباشید
من میخوام برنامه ای بنویسم که در یک زمان مشخص روی یه قسمت دسک تاپ کلیک کنه
البته صرفا هدفم از این تاپیک کلیک روی دسک تاپ یا برنامه در حال اجرا(مثلا پاورپوینت) هستش
با تشکر

alinaghiha
شنبه 07 اردیبهشت 1387, 15:11 عصر
احتمالا سوالم رو خوب بیان نکردم
چگونه میتوان بر روی دسک تاپ کلیک کرد.

sinpin
شنبه 07 اردیبهشت 1387, 15:22 عصر
با استفاده از SendMessage، در گوگل به این شکل جستجو کنید :
http://www.google.com/search?hl=en&q=how+mouse+click++SendMessage+C%23+code&btnG=Search

چند مثال :
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3040429&SiteID=1
http://www.dotnet247.com/247reference/msgs/15/78924.aspx
http://www.developerfusion.co.uk/show/34/3/
http://www.xtremevbtalk.com/archive/index.php/t-241840.html
http://www.csharphelp.com/board2/read.html?f=1&i=20033&t=20033

alinaghiha
جمعه 20 اردیبهشت 1387, 17:59 عصر
من روي دسك تاپ كليك كردم
حالا چه طوري به برنامه خودم برگردم
اينم كدش



private const UInt32 MOUSEEVENTF_LEFTDOWN = 0x0002;
private const UInt32 MOUSEEVENTF_LEFTUP = 0x0004;

[DllImport("user32.dll")]
private static extern void mouse_event(
UInt32 dwFlags, // motion and click options
UInt32 dx, // horizontal position or change
UInt32 dy, // vertical position or change
UInt32 dwData, // wheel movement
IntPtr dwExtraInfo // application-defined information
);
[DllImport("user32")]
public static extern int SetCursorPos(int x, int y);
public static void SendClick()
{

mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, new System.IntPtr());
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, new System.IntPtr());
}
private void button1_Click(object sender, EventArgs e)
{
SetCursorPos(500, 500);
SendClick();

}

alinaghiha
سه شنبه 24 اردیبهشت 1387, 20:42 عصر
آقا كسي نيست كدي داشتم كه با showmessage اين كار رو انجام ميدادند اما واسه Notpad بود