내 Windows Winform에서 Windows 작업 표시 줄에서 주소 도구 모음을 표시하려고합니다. 나는 주소 toobar ({01E04581-4EEE-11d0-BFE9-00AA005B4383}
)의 CLSID를 얻을 수 있으며 그것에 대한 IDeskBand
참조를 얻을 수 있습니다. 하지만 ... 그럼 뭐야?호스트 IDeskBand Windows 양식
Guid bandCLSID = new Guid("{01E04581-4EEE-11d0-BFE9-00AA005B4383}");
Type bandType = Type.GetTypeFromCLSID(bandCLSID);
IDeskBand deskband = (IDeskBand)Activator.CreateInstance(bandType);
가 나는 AxHost
에서 호스팅 시도했지만, 주소 도구 모음 ActiveX 컨트롤이 아닙니다. 나는
(deskband as IOleObjectWithSite).SetSite(various interfaces);
또는
(deskband as IDockingWindow).ShowDW(true);
뿐만 아니라
다양한 인터페이스와 자신의 메소드를 호출하려고했지만, 내가 아무것도 어디서든 저를 얻을 것 같다. 툴바가 실제로 어디서나 나타날 수 있다면 정말 기뻤을 것입니다. 그러나 나는IDeskBand
레퍼런스를 갖는 것과 윈도우 폼에 끼워 넣는 것 사이의 격차를 좁히지 못하는 것 같다.
아무도 이것을 시도한 적이 없으며 내가 가지고있는 것보다 더 많이 얻었습니까?
주소 도구 모음 DeskBand에서 필요한 기능에 대한 자세한 정보를 제공 할 수 있습니까? 이 인터페이스는 Windows 7부터 사용되지 않으므로 향후 Windows 버전에서는 지원되지 않을 수 있습니다. –
저는 Deskband와 Links 나 Custom BAND 같은 다른 deskbands를 WinForm에 넣고 작업 표시 줄에 나타나게하고 싶습니다. – deanis
그래서 구현하고자하는 'IDeskBand'가 아닐 수도 있습니다. 나는 주소와 링크 도구 모음이 DeskBand COM 객체라는 것을 확신합니다. 그래서 나는'IDeskBand'로 점프했습니다. 그래서 내가 실제로하려고하는 것은 대상 COM 객체를 쿼리하는 것입니다.이 객체는 일치하는 Guid를 얻기 위해 할 수 있습니다. Activate.CreateInstance로 인스턴스화합니다. 내가 WinForm에서 COM 개체를 호스팅하기 위해 점프하려고 할 때 상황이 나 빠지게되는 경우가 있습니다. – deanis