PDA

View Full Version : سوال: کلیک خارج از برنامه به صورت خودکار



grobech
پنج شنبه 08 اردیبهشت 1390, 17:09 عصر
سلام
یه برنامه میخواستم بنویسم که ادرس چند نقطه روی صفحه نمایش رو بهش بدم بعد به صورت خودکار اونجا کلیک کنه اون نقطه هایی که میخواهم کلیک کنه نرم افزار وجود داره و میخواهد کاری انجام بده مشکل اینجاست که من نمیدونم چطور بهش بگم که خارج از برنامه کلیک کنه
اگر سوالم رو بد گفتم بگید تا بیشتر توضیح بدم
متشکر میشم منو راهامیی کنید

unknown.unforgiven
پنج شنبه 08 اردیبهشت 1390, 17:57 عصر
سلام
با توجه به اون چیزی که متوجه شدم این کارت رو را میندازه. اگه منظورت چیز دیگه ای بود بگو
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0);

grobech
پنج شنبه 08 اردیبهشت 1390, 18:55 عصر
متشکرم دوست عزیز اگر میشه یه توضیح کوچولو هم بده لطفا

unknown.unforgiven
پنج شنبه 08 اردیبهشت 1390, 19:03 عصر
توضیح راجع به چی؟ اگه منظورت اینه که چه جوری کار میکنه نمیدونم. اما اگه منظورت اینه که چه جوری ازش استفاده کنی، میتونی از کد زیر کمک بگیری (به جای x و y باید مختصات نقطه ای که میخوای کلیک کنی رو بدی)
public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
int x, y;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0);
}
}