저는 SendKeys를 사용하여 항목 사이를 탐색 할 수있는 응용 프로그램을 만들고 있습니다. 모든 항목은 응용 프로그램 키 (상황에 맞는 메뉴)를 보내서 선택한 항목을 마우스 오른쪽 단추로 클릭 할 때를 제외하고는 꽤 잘 작동합니다.
내가 사용 SendKeys.Send를 통해 응용 프로그램 키를 보내십시오.
SendKeys.Send("{APPSKEY}");
내가 말하는 오류를 얻을 수있는 '키워드'APPSKEY는 "유효하지 않습니다. '
나는 그것을 봤이 웹 사이트에 그것을 발견 :
http://www.autohotkey.com/docs/commands/Send.htm
하지만 난 그 C#을 작동하지 않습니다 같은데요.
다른 방법으로 선택한 항목을 마우스 오른쪽 버튼으로 클릭 할 수 있습니까?
거기에 마우스를 움직이고 마우스 오른쪽 버튼을 클릭하여 앱이 어디에 있는지 알 수있는 방법이 있습니까? 마우스 클릭을 보낼 수 있습니다
내 프로그램 :
public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint
cButtons, uint 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;
private void MoveCursor(Point loc)
{
this.Cursor = new Cursor(Cursor.Current.Handle);
Cursor.Position = loc;
Cursor.Clip = new Rectangle(0, 0, 0, 0);
}
private void DoMouseClick(bool isLeft)
{
int X = Cursor.Position.X;
int Y = Cursor.Position.Y;
if (isLeft) mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, (uint)X, (uint)Y, 0, 0);
else mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, (uint)X, (uint)Y, 0, 0);
}
}
그러나 응용 프로그램은이 위치를 알고있다 그 항목에 마우스 오른쪽 버튼을 클릭을 시뮬레이션하기 위해
.
을보십시오. – rene
SendKeys 클래스는 VB6 응용 프로그램을 포트하는 데 도움을주기위한 것입니다. 15 년 전에 키보드에는 아직이 열쇠가 없었습니다. Windows 키도 awol입니다. SendInput()을 pinvoke해야합니다. –
첫 번째 단계는 ** 양식에서 초점을 맞춘/선택한 항목 **을 찾는 것 같습니다. –