2012-04-28 2 views
0

나는 창에 본질적으로 포커스가 있다고 생각하도록 속일 수있는 방법을 알아 내려고하고있다. 검색을 통해 알아 낸 점은이를 달성하기 위해 일종의 샌드 박스가 필요하다는 것입니다. OS와 창 사이의 중간 계층.Fake window focus (sandbox?, App-V?)

필자는 C# (pinvoke 등 필요한 경우 등)을 통해이 작업을 수행 할 수있는 방법을 올바른 방향으로 알려주는 데 도움을 주시면 감사하겠습니다. 근본적으로 C# 프로그램에서 다른 실행 파일을 시작하고, 어떤 방식 으로든 꾸준한 창 포커스가있는 인위적인 데스크톱에 있도록 설정하십시오. 하지만 여전히 정상적으로 창과 상호 작용할 수 있어야합니다 (예 : 창 래퍼와 같이 원하는 모든 것을 잃을 수 있지만 포함 된 창은 초점이 맞지 않는다고 생각하지는 않습니다).

나는 이것이 확실히 사업임이 틀림 없다 (그러나 어쩌면 그렇지 않을 것인가, 아마도 누군가는 이것에 대한 우아한 해결책을 알고있을 것이다).하지만 상업적으로 비슷한 것을 보았을 때 가능하다는 것을 알고있다. 생성물. (이 샌드 박스 제품의 동작 중 하나를 에뮬레이트하려고합니다.) 당신이 가짜에 초점을 원하는 경우, 전화, 마지막으로

private EventArgs ev; 

:

private void Form1_Activated(object sender, EventArgs e) 
{ 
    //Code 
} 

그런 다음 어떤 기능에서, eventarg를 선언 : 모든

답변

0

먼저, 활성화 이벤트를 호출 시도 활성화 된 기능 :

Form1_Activated(this, ev); 

희망 하시겠습니까?

+0

죄송 합니다만, 이것은 제가 말씀 드린 것과 관련이 없습니다. 나는 그것이 제 3 자 응용 프로그램을 속여서 게임에 초점을 맞추고 있다고 믿게 만들었습니다. – Hydra

0

대상 창 메시지 큐에 WM_ACTIVATE 메시지를 주입 할 수 있습니다. 이것은 초점이 맞다고 생각하도록 속일 수 있습니다. 응용 프로그램이 포커스를 확인하는 방법에 따라 달라집니다.