1
2 개의 Guitar Pro 파일을 열고 여러 화면 설정에서 다른 화면에 표시 할 프로그램을 개발하려고합니다.프로그래밍 방식으로 마우스 끌기 창
나는 모든 화면에 화면 1에서 1 윈도우의 이동을 제외하고 작업이 2
기타 프로는 약간 사기이고 어떤 이유로 화면 1 만 열려있는 파일은 ... 나는 이동하려고 할 것이다 창 핸들을 잡아 창을 열지 만 주 컨테이너 만 이동하고 모든 하위 창을 제자리에 둡니다. 나는 조금을 속이고 프로그램을 클릭 마우스 커서를 이동하고 화면 화면에서 창을 드래그하기로 결정했습니다,하지만 여전히 위의 코드를 사용하여
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool SetCursorPos(int x, int y);
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
public void OpenFileFn()
{
Process file1 = new Process();
file1.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
file1.StartInfo.FileName = file;
file1.Start();
Thread.Sleep(500);
Process file2 = new Process();
file2.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
file2.StartInfo.FileName = file;
file2.Start();
file2.WaitForInputIdle();
Thread.Sleep(3000);
int posX = Cursor.Position.X;
int posY = Cursor.Position.Y;
SetCursorPos(-960, 15);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
SetCursorPos(960, 15);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
SetCursorPos(posX, posY);
}
... 문제로 실행하고 커서를 수평으로 이동 하지만 창문이 ... 커서 Y 축을 변경하면 창이 수직으로 이동합니다 ...
어떻게 해결할 수있는 아이디어? 사전에 감사합니다 ...
당신은 [SetWindowPosition] 더 많은 행운을해야 할 수도 있습니다 (http://www.pinvoke.net/default.aspx/user32.setwindowpos) 프로그래밍 방식으로 마우스 끌기를 다시 작성하는 대신 –
이것은 C#이 아닌 것 같습니다. 꼬리표가 그리웠 니? 또는 코드의 대부분을 놓치셨습니까? – nvoigt
@nvoigt는 WPF와 비슷하지만 코드는 C#을 정확히 대표하지 않습니다. –