사무실 응용 프로그램을 "듣기"하는 순 코드 (사용자가 제기 한 이벤트를 얻음)

StackOverflow https://stackoverflow.com/questions/892187

문제

나는 e- 러닝 신청서를 다시 만들기 직전에 있습니다. 그러나 이제이 새로운 버전을 새로운 수준으로 끌어 올리고 싶습니다.

그래서 이것은 시나리오입니다. 사용자가 내 앱을 열어줍니다. 그런 다음 가장 일반적인 MS Office 응용 프로그램 (Word, Excel, Outlook 등) 중 하나에서 교육을 받기로 선택합니다.

내 앱은 사용자 지침에 무엇을 해야하는지에 대한 지침을 제공합니다. 새 문서를 작성하고, 일부 텍스트를 입력하고, 대담하고, 그림을 삽입하는 등. 사용자에게 포인트가 수여됩니다. 그렇지 않다면, demerits.

그러나 (항상 있지만) 이것을 달성하기 위해서는 사용자가 무엇을하고 있는지 "볼 수있다"고해야합니다. Net (2.0 -C# 또는 VB, 어느 쪽이든 중요하지 않음)를 사용하고 있습니다. 누구 든지이 작업을 수행하는 방법을 말할 수 있습니까? 열린 사무실 앱을 처리하거나 새 앱을 시작한 다음 사용자가하는 모든 일을 듣고 평가해야합니다. 사용자가 잘못한 경우 사무실 앱에 지침을 보내야합니다. /그녀의.

이게 가능해? 누구 든지이 작업을 수행하는 방법에 대한 코드 샘플이 있습니까?

미리 감사드립니다

추신 : 나는 이것을 달성하기 위해 사무실을 추가하고 싶지 않을 것입니다!

편집 : VBA에 들어가기를 원하지 않는 이유는 사용자가 다른 응용 프로그램을 더 많이 사용하는 데 도움이되도록 재사용 할 수 있기를 원했기 때문입니다. 그래서 나는 애플리케이션의 청취자를 만들고 사용자 상호 작용을 해독 할 수있는 방법을 원했습니다.

도움이 되었습니까?

해결책

실제로 WH_CBT라는 컴퓨터 기반 교육 응용 프로그램을 위해 설계된 Windows 후크가 있으며 Windows가 활성화, 최소화, 이동, 크기 조정, 명령이 실행되고 마우스/키보드 이벤트 등이 알림을 제공합니다.

나는 당신에게 거짓말을하지 않을 것입니다. Hooking은 상당히 복잡한 주제이지만 .NET에서 확실히 접근 할 수 있습니다. .NET에서 메시지 hooking을 사용하는 방법을 설명하고 WH_CBT에 대한 자세한 내용을 보려면 다음 두 링크를 살펴 보는 다음 MSDN 기사를 살펴보십시오.

최첨단 : .NET 프레임 워크의 Windows 후크

MSDN 라이브러리 : setwindowshookex 함수

MSDN 라이브러리 : CBTPROC 기능

다른 팁

사무실의 자동화 API는 COM API입니다. Managed (.NET) 코드에서 호출 할 수 있지만 추가 계층을 추가하고 상당히 복잡하게 만듭니다. 나는 VB/VBA와 C#을 모두 사용하여 많은 사무 자동화 작업을 수행했으며 C#을 언어로 좋아하지만 사무실을 운전하는 것이 훨씬 어렵다고 말해야합니다. 많이. (적어도 한 번은 기계에서 작동하는 것이 쉽지만, 그렇게하지 마십시오).

API를 사용하면 메뉴 선택, 명령 막대 버튼 클릭, 창 활성화, 문서 열기/닫기 등과 같은 특정 이벤트를 덫에 걸릴 수 있습니다. 또한 이론적으로 사용할 수있는 "선택 변경"이벤트를 사용자가 무엇인지 알아낼 수 있습니다. 하고있다. 그러나 사용자가 덫을 놓을 수 없도록 (예 : 드래그 앤 드롭, 사진 크기 조정 등), 그리고 목적을 위해 내가 말했던 말을 할 수있는 직접 조작 작업이 많이 있습니다. 큰 문제가 되십시오.

나는 당신이 당신이 제안한 일을 할 수 있을지 의심해야 할 것입니다. 적어도 원활하게 만들기에 충분하지 않습니다. 그리고 나는 당신의 사용자 기반을 감안할 때 그것이 꽤 폭탄이되어야한다고 생각합니다.

죄송합니다. :-(

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top