나는이 P/원용을 많이 필요로하는 것처럼, 어떤 C# 코드를 준비하지 않지만, 당신은 윈도우 CE에 외국 응용 프로그램을 '자동'하는 방법에 대한 아이디어를 제공하기 위해/Mobile은 https://code.google.com/p/rdp-auto-login/source/browse/trunk/rdp-auto-login/tscDialog.cpp?r=20에있는 tscDialog.cpp를 살펴보십시오.
tscDialog.cpp는 Windows Mobile에서 Remote Desktop Mobile (RDM) 대화 상자를 확인하고 변경하는 코드입니다. 그러나 메뉴가 외부 창의 윈도우 계층 구조의 일부가 아니고 데스크탑의 일부이기 때문에 Windows Mobile에서 외부 윈도우의 메뉴를 처리하지 못할 수도 있습니다 (Windows CE에서 작동 할 수도 있음).
tscdialog.cpp를 보면 scanTscWindow 함수를 찾을 수 있습니다. 이 도구는 RDM의 모든 창 요소를 열거하여 나중에 자동화 된 로그인 (디버그 및 개발 중에 사용됨)을위한 요소를 파악합니다.
RDM 대화 상자를 채우고 변경 한 후 연결 메뉴 항목에서 클릭을 수행해야합니다. 이것은 마우스 클릭을 시뮬레이션하여() 함수 starTSC로 수행됩니다
//Solution two with mouse_event, click at 13,306. The 13 comes from the assumption that hight of
//menu bar is 26 pixel and I want to click in the mid
//this solution does work as keyb_event does work
// normalized coordinates:
// (0,0) = upper left corner
// (0xFFFF,0xFFFF) = lower right corner
DWORD dX = (0xFFFF/iScreenWidth) * (80); // changed from 13 to width=240, 1/3=80
DWORD dY = (0xFFFF/iScreenHeight) * (iScreenHeight - 13);
DEBUGMSG(1, (L"mouse click at: %u, %u\n", dX * 0xFFFFFFFF/240, dY * 0xFFFFFFFF/320));
//SetForegroundWindow(hTscDialog); //dont mess with windows z-order
//this will make a cursor visible
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, dX, dY, 0, 0);
Sleep(5);
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, dX, dY, 0, 0);
Sleep(30);
/*
//this is what happens, if you tap the screen
mouse_event(MOUSEEVENTF_TOUCH | MOUSEEVENTF_LEFTDOWN, dX, dY, 0, 0);
mouse_event(MOUSEEVENTF_TOUCH | MOUSEEVENTF_LEFTUP, dX, dY, 0, 0);
//Sleep(3000);
*/
은 오른쪽 창 핸들 et Wi ndow Te xt는를 사용할 필요가 윈도우 (또는 입력 필드)의 텍스트를 얻으려면.
그래서 메뉴를 실행하는 가장 간단한 방법은 메뉴에서 마우스 클릭을 시뮬레이션하는 것입니다.
내가 사용하십시오 windos 가전/모바일 장치 zDump라는
http://www.codeproject.com/Articles/9549/Capturing-Window-Controls-and-Modifying-their-prop의 수정 된 버전 (작은 화면)에 창에 면밀한 관찰을 얻으려면 :
http://www.hjgode.de/wp/2009/06/11/zdump-take-a-look-inside-windows-ce/
당신은 그것을 메뉴 핸들을 얻을 불가능하다고 볼 수 있습니다 외국 창문. AFAIK에는 외부 프로세스를위한 방법이 없습니다. 가능하면 DLL을 삽입하고 외부 프로세스 내에서 실행되는 코드로 창 핸들을 가져올 수 있습니다.