나는 여기서 막 다른 길을 걷고있는 것 같습니다. 나는 다음을 수행 프로젝트가 :UAC 창 상단에
- 그냥 실행하고 사용자가 마우스 가운데 버튼을 누를 때, 그것은
- 사용자가 다음 폼에서 어떤 선택 할 수있는 형태를 보여줍니다
- 알림 영역에 남아, 그리고 수 행복.
이것은 제대로 작동하지만 작동하지 않는 것은 양식이 표시 될 때 활성화되지 않는다는 것입니다.
이제는 app.manifest를 requireAdmin
으로 수정하기 전에 문제가 없었습니다. 폼이 보여 질 때마다, 그것은 활발했습니다.
하지만 이제 관리자로서 양식을 실행 중이므로 다른 응용 프로그램 중 하나를 제어 할 수 있어야합니다 (관리자도 실행 됨). 양식은 잘 처리되지만 활성화되지 않습니다. ShowDialog
모두의 Form_Load에 호출 양식이 만들어진 경우에도 그것을 시도 -의 Form_Load 에 처리하는 형태의 SetForegroundWindow
를 호출 -의 Form_Load 방법 의 내부 TopMost = true
- 을 :
는 내가 노력했다. - 의 Form_Load에 Activate
뿐만 아니라 양식이 여기에
- 프로그램 실행을 인해 매니페스트에 UAC 권한이 필요, 사용자가 동의하고 만
- 개막 알림 아이콘이 표시는
- Program.cs가 마우스 가운데 버튼 또는 키보드 후크 중 하나가 트리거 될 때 이
- , 그것은 새를 만드는 키보드/마우스 후크를 모니터링 실행중인 말하는 좋은 작은 거품을 보여줍니다 양식 개체
- 은 양식을 표시 할 위치를 설정합니다.
- 마지막으로 양식을 표시합니다.
다시 말해서 UAC 및 requireAdmin
이 app.manifest 내부에 없어도 정상적으로 작동합니다. 하지만 일단 관리자로서 운영되고 있다면, 앞으로는 머물러 가지 않을 것입니다.
나는 MS가 SetForegroundWindow
요구 사항을 훨씬 더 최신 버전의 윈도우 (Vista, 7, 8)로 만들었지 만,이 양식을 맨 위의 활성 창으로 표시 할 수 있어야합니다. 상황 별 메뉴).
어떻게 제대로 할 수 있습니까?
몇 가지 사용성 죄를 저지르고 있습니다. 윈도우가 전경 사랑을 얻고 싶다면 컨텍스트 메뉴를 사용하여 활성화시켜야합니다. –
당신이 무엇을 언급하고 있는지 확실하지 않습니다. 내가 중요한 로깅이나 그런 것 같지는 않다. – zackrspv