VB.NET Winforms 앱을 실행할 때 다른 열린 응용 프로그램에서 포커스를 훔치지 않게하고 싶습니다. 참고로, 내 응용 프로그램은 명령 줄에서 시작했지만 차이가 없어야합니다. 질문이 577076 인 것을 보았지만 작동하지 않는 것 같습니다.폼이 포커스를 훔치는 것을 막을 수 있습니다.
가장 좋은 방법은 무엇입니까?
VB.NET Winforms 앱을 실행할 때 다른 열린 응용 프로그램에서 포커스를 훔치지 않게하고 싶습니다. 참고로, 내 응용 프로그램은 명령 줄에서 시작했지만 차이가 없어야합니다. 질문이 577076 인 것을 보았지만 작동하지 않는 것 같습니다.폼이 포커스를 훔치는 것을 막을 수 있습니다.
가장 좋은 방법은 무엇입니까?
Protected Overloads Overrides ReadOnly Property ShowWithoutActivation() As Boolean
Get
Return True
End Get
End Property
하지만 여전히 성공하지 :
나는 나의 Form1.vb를 파일에 다음 코드를 추가.
그런 다음 프로젝트 속성의 응용 프로그램 탭에서 응용 프로그램 프레임 워크 사용 확인란의 선택을 취소했습니다.
성공 !!!
링크 된 예제에서 일부 상수는 메서드의 범위 밖에서 선언됩니다.
:protected CreateParams CreateParams {
get {
CreateParams baseParams = base.CreateParams;
const int WS_EX_NOACTIVATE = 0x08000000;
const int WS_EX_TOOLWINDOW = 0x00000080;
baseParams.ExStyle |= (int) (WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW);
return baseParams;
}
}
...
당신은거야 여기
감사합니다. Julien, 내 원래 질문에 대한 답변을했지만 여전히 양식이 포커스를 훔치는 것을 막지 못했습니다. 나는 그것을 명확하게하기 위해 나의 질문을 편집했다. – JapNolt
다음은 ShowWithoutActivation()에 대한 기사입니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.showwithoutactivation.aspx – Achilles