3

Arik Poznanski's blog에서 Windows 7에서 Windows Ribbon UI Framework은 COM 개체이고 WindowsRibbon wrapper은 그저 .NET 베니어 인 것으로 이해하여 Windows Forms 응용 프로그램에서 리본 UI를 사용할 수 있도록합니다.Windows XP에서 Windows 리본 UI를 사용할 수 있습니까? 방법?

나는이 래퍼를 이용한 안녕하세요 윈도우 폼 응용 프로그램을 구현 성공했습니다 그것은 Windows7의 내 개발 컴퓨터에서 실행되는

Windows Ribbon HEllo World

.


질문 :

  • 윌 Vista에서이 "안녕, 세계"응용 프로그램 실행? XP? 그런 일이 일어나기 위해서는 그 기계에 무언가를 다운로드해야합니까?

  • MSI 설치 프로그램에서 필수 구성 요소로 Windows 리본 UI 구성 요소를 지정하는 방법이 있습니까?

감사

나는 리본 UI를 제공 Windows7의에 DLL 인, the documentation for UIRibbon.dll을 발견 주위

브라우징. 그것은 나열 지원되는 최소 클라이언트로이 : SP2 및 플랫폼 업데이트와

윈도우 7, 윈도우 비스타 Windows Vista 용

어떻게 내가 MSI에서 그 확인까요?

+0

XP에서 리본 UI의 경우를 HTTP를 체크 아웃 : // WWW를 .bcgsoft.com/ – saschabeaumont

답변

1

내가 Windows XP에서 작동하지 않는 종속성을 가지고 있음을 알 수 있습니다. 이것은 재배포 가능 구성 요소로 보이지 않습니다 (비록 VM 컴퓨터에서 XP 기계로 이식 할 수 있는지 알아보기 위해 해킹하는 것을 인정합니다).

재배포 할 수 없으므로 OS 주요 버전 (Win7)을 확인하는 데 의존 할 수 있으므로 MSI에서 검색을 수행해야 할 시점이 있는지 확신 할 수 없습니다.

+0

답장을 보내 주셔서 감사합니다. WinXP에서는 사용할 수 없습니다. 비스타는 어떻습니까? 문서 페이지는 Vista에서 "플랫폼 업데이트"와 함께 작동한다고 말합니다. 그것에 대한 아이디어가 있습니까? 그걸 어떻게 확인하겠습니까? 또한 - 나는 궁금하다. XP에서 해킹을 한 적이 있습니다. UIribbon.dll에 의존하는 XP에서 앱을 실행할 때 어떤 일이 발생합니까? 시도해 보았 니? – Cheeso

+0

나는 CLSID를 등록 할 수 있는지에 따라 달라지기까지했다. 해당 CodePlex 프로젝트의 소스 코드를 보면 CLSID guid가있는 클래스 파일을 찾을 수 있습니다. MSI의 경우 해당 CLSID의 레지스트리를 검색하는 AppSearch/RegLocator 조합을 작성합니다. –

+1

BTW에 대한 KB971644는 플랫폼 업데이트이지만 WSUS 및 Windows Update를 통해서만 사용할 수 있습니다. 그러나 다운로드 할 수있는 KB960362 (http://support.microsoft.com/kb/960362/)의 하위 버전이 있습니다 (Vista/2008/x86/x64 용 4 가지 버전) –

1

원하는 경우 언제든지 리본 UI를 사용할 수 있습니다 (the Ribbon license agreement에 따라 달라질 수 있음). 기본적으로 반쯤 자르지 않는 것이 좋습니다.

자체 리본 컨트롤을 만든 회사가 있습니다. 이러한 구현 중 일부 (즉, Microsoft의 Windows 리본 프레임 워크)는 Windows 7 또는 Windows Vista에서만 작동하며 다운로드가 먼저 설치됩니다.


는 Windows 리본 프레임 워크는 클라이언트 컴퓨터에서 사용할 수 있는지 확인하고 싶은 경우에, UIRibbonFramework 개체를 만들려고 :

IUIFramework* pFramework = NULL; 
HRESULT hr = ::CoCreateInstance(
      CLSID_UIRibbonFramework, 
      NULL, 
      CLSCTX_INPROC_SERVER, 
      IID_PPV_ARGS(&pFramework)); 
if (FAILED(hr)) 
{ 
    //Ribbon not available - fallback to something else 
    return; 
} 
관련 문제