Varona
Megapat
- Katılım
- 16 Ekim 2016
- Mesajlar
- 431
- Çözümler
- 10
Şöyle basit bir program var, ayarlanan tuşa basılı tuttuğumda fareyi ayarlanan değerde hareket ettirmeye yarayan. Macro türevi de diyebiliriz. Asıl size sormak istediğim şu ki bu program bahsettiğim işlemi yaparken fareyle seri tıklamalar yaparak yapıyor. Ben tek tıklamada yapmasını istiyorum, yani belirlenen tuşa basılı tuttuğum sürece sol tık tuşuna basılı tutarak işlemini yapacak ve tuşu bıraktığım zaman sol tık tuşunu da bırakacak. Aşağıdaki fonksiyonda
PRGClass.LeftClickUp();
satırını sildiğimde istediğim oluyor ama ayarlanan tuşu bıraktığımda sol tık tuşu hâlâ basılı kalıyor. Konu hakkında bana yardım edebilir misiniz?
C#:
private void PollLButton()
{
this.shootTimer.Interval = this._shotInterval;
Keys LKey = Keys.MButton; //Varsayılan tuş mouse orta tuşu
LKey = PRGFunctions.GetFireKeyFromString(this._LButton);
short gaks = GetAsyncKeyState(LKey);
if ((gaks & 0b10000000_00000000) > 0) //tuş basılı tutuluyorsa
{
PRGClass.LeftClickDown();
PRGClass.LeftClickUp();
this.firingState = true;
}
else
{
this.firingState = false;
}
}
private void PullDownMouse()
{
Keys LKey = PRGFunctions.GetFireKeyFromString(this._LButton);
short gaks = GetAsyncKeyState(LKey);
bool fireKeyPressed = (gaks & 0b10000000_00000000) > 0;
while (this.Activated && this.PerformRecoilCompensation && LKeyPressed)
{
PRGClass.MouseMove(this._dy, this._pullDelay);
LKey = PRGFunctions.GetFireKeyFromString(this._LButton);
gaks = GetAsyncKeyState(LKey);
fireKeyPressed = (gaks & 0b10000000_00000000) > 0;
}
this.pullDownMouseTimer.Start();
Son düzenleyen: Moderatör: