티스토리 뷰
안녕하세요. 마우스오토클릭을 만들어봤습니다.
좌표를 설정해서 그 부분만 오토클릭하는 것입니다.
클릭수를 지정할수 있습니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Runtime.Remoting.Contexts;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Net.Mime.MediaTypeNames;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace autoclick
{
public partial class Form1 : Form
{
[DllImport("user32.dll")]
private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
public Form1()
{
InitializeComponent();
textBoxX.Text = (Properties.Settings.Default.pos_x).ToString();
textBoxY.Text = (Properties.Settings.Default.pos_y).ToString();
hScrollBar1.Value = Properties.Settings.Default.click_count;
label_click.Text = "클릭수: " + hScrollBar1.Value.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
mouse_event(0x02, 0, 0, 0, 0);
System.Threading.Thread.Sleep(10);
mouse_event(0x04, 0, 0, 0, 0);
Point p = Cursor.Position;
if(p.X != Convert.ToInt32(textBoxX.Text))
StopAutoclick();
}
private void buttonStart_Click(object sender, EventArgs e)
{
StartAutoclick();
}
private void buttonStop_Click(object sender, EventArgs e)
{
StopAutoclick();
}
private void StartAutoclick()
{
int x, y;
x = Convert.ToInt32(textBoxX.Text);
y = Convert.ToInt32(textBoxY.Text);
Properties.Settings.Default.pos_x = x;
Properties.Settings.Default.pos_y = y;
Properties.Settings.Default.click_count = hScrollBar1.Value;
Properties.Settings.Default.Save();
Cursor.Position = new Point(x, y);// 마우스 좌표 설정
timer1.Interval = (int)(1000.0 / hScrollBar1.Value);
timer1.Start();
buttonStart.Enabled = false;
buttonStop.Enabled = true;
}
private void StopAutoclick()
{
timer1.Stop();
buttonStart.Enabled = true;
buttonStop.Enabled = false;
}
private void timer2_Tick(object sender, EventArgs e)
{
Point p = Cursor.Position;
label_mouse.Text = "마우스 좌표 X 위치: " + p.X + " Y 위치: " + p.Y;
}
private void Form1_Load(object sender, EventArgs e)
{
timer2.Start();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
timer1.Stop();
timer2.Stop();
}
private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
label_click.Text = "클릭수: " + hScrollBar1.Value.ToString();
}
}
}
'프로그래밍 > C#' 카테고리의 다른 글
C# 오토 마우스 매크로 소스코드 (0) | 2024.10.17 |
---|---|
c# 문장에서 특정 문자 가져오기 (0) | 2022.08.22 |
C# 폴더의 파일명을 불러오기 (0) | 2022.08.17 |
C# 웹브라우져(webBrowser)를 이용해 파일익스플러어(File Explorer)만들어 보기 (0) | 2021.11.26 |
c# 동적으로 버튼 생성하고 그 버튼으로 메시지 박스 띄우기 (0) | 2021.11.24 |
댓글