2010-12-20 4 views
2

현재 Win7에서 내 Winforms 앱을 실행중인 사용자가 있습니다. 내 앱을 사용하면 열려있는 Excel 스프레드 시트에서 행을 선택하고 드래그 앤 드롭하여 앱에 드롭 할 수 있습니다. 그러나이 사용자는 드래그 앤 드롭을 할 수 없습니다. 커서가 "아니오"커서 (줄이 그어진 작은 원)로 바뀌고 작업이 완료되지 않습니다.Win7 컴퓨터에서 내 앱에 끌어서 놓기

나는 드래그 앤 드롭과 Win7과 UAC 및/또는 UIPI를 발견 한 모든 것을 연구했습니다. 나는 몇 가지 솔루션을 찾고과의 아래 일하는 것이 확실하지 오전되었습니다

  • 을 사용자가 관리자로 로그인 할 경우 그 드래그 N-을 허용 것이다 (그 결과 admin으로 내 응용 프로그램을 실행) 일하러 가겠 니?

  • 사용자가 드래그 앤 드롭 할 수 있으려면 UAC/UIPI 설정을 끄거나 변경해야합니까?

무엇이 문제인지 잘 모르겠습니다. 내 응용 프로그램은 대개 C :/Documents and Settings/... (Win7에서는 C :/Users/...)에서 실행됩니다. 그것은 물질에서 어디에서 달리고 있습니까? 사용자가 충분한 권한으로 내 앱을 실행하지 않기 때문에 드래그 앤 드롭이 작동하지 않습니까? 엑셀과 내 앱이 서로 다른 권한 수준에 있습니까? 그렇다면 무엇을 할 수 있습니까? 비록 내 애플 리케이션은 사용자가 파일을 직접 드래그 할 수 있습니다, 그 중 하나를 작동하지 않습니다.

또한 다른 사용자가이 문제를 재현하도록 할 수있는 방법이 있습니까? Win7과 함께 제공되는 앱에서 동일한 문제를 볼 수 있습니까? 예를 들어 메모장을 사용하여 이것을 재현 할 수 있습니까?

감사합니다.

+1

보안 경계를 가로 질러 끌어서 놓을 때 제한이 있습니다. 소스 및 대상이 동일한 보안 수준 (즉, 표준 사용자 또는 둘 다 상승 된)에서 실행중인 경우 문제가 없어야합니다. –

+0

앱의 보안 수준은 어떻게 결정됩니까? 사용자가 자신의 컴퓨터에 관리자가 없다고 가정합니다. 따라서 Excel을 정상적으로 실행하면 어떤 보안 수준이 사용됩니까? 앱을 두 번 클릭하여 실행하면 앱 보안 수준은 어떻게됩니까? 필자는 Win7 보안 기능에 대해 많이 모른다. 이 모든 것이 UAC의 설정에 의해 결정됩니까? – Flack

+0

Windows Vista 또는 Windows 7 시스템을 구해서 직접 사용해보십시오!UAC를 사용하지 않고서는 실제로 얻을 수 없습니다. –

답변

4

UIPI가이 문제를 설명 할 때 은 매우 길다. 사용자가 관리자로 로그인했는지 여부는 UAC에 영향을 미치지 않으며 프로그램은 동일한 계정으로 실행됩니다. UIPI가 D + D를 막을 수있는 유일한 방법은 프로그램이 상승되어 있고 Excel이 아닌 경우입니다.

자신을 높이기 위해서는 작업이 필요하며 우발적으로 발생하지 않아야합니다. 사용자가 UAC 프롬프트를 표시 할 수 있도록 매니페스트를 포함시켜야합니다. 또는 사용자가 바탕 화면 바로 가기를 변경하고 "이 프로그램을 관리자 권한으로 실행"옵션을 선택해야합니다. 그녀는 그 사실을 알고 있습니다. UIPI는 Windows 메시지 (ChangeWindowMessageFilter)에 대해 무시할 수 있지만 끌기 및 놓기에 사용할 수 없으므로 모든 고도가 계속되는 경우 멈 춥니 다. 궁극적 인 테스트는 사용자에게 UAC 슬라이더를 끝까지 내려달라고 요청하는 것입니다.

DragEnter 이벤트 처리기가 단순히 보는 데이터에 만족하지 않아서 e.Effect 속성을 할당하지 않는다는 훨씬 더 많은 시나리오가 있습니다. 현장에서 디버거를 얻을 수 없다면 e.Data.GetFormats()의 값을 기록한 작은 테스트 프로그램을 작성하고 드롭이 허용되는지 여부를 확인하는 데 사용하는 다른 프로그램을 작성하십시오. 그리고 명백한 것을 잊지 마라. 사용자는 어떻게해서든지 드래그를 어지럽게 어슬렁 거리게된다.

+0

정보 주셔서 감사합니다. 나는 그것이 떨어지는 데이터 때문이라고 생각하지 않습니다. WinXP에서 사용자 및 동일한 버전의 Excel과 동일한 빌드를 사용하면 모든 것이 잘 동작합니다. 또한 사용자는 드래그 앤 드롭 대신 내 앱의 '가져 오기'버튼을 사용하여 Excel 파일을 열 수 있습니다. 그렇게하면 표준 파일 브라우저 대화 상자를 사용하여 파일을 선택하기 만하면됩니다. 나는 사용자에게 일시적으로 UAC 슬라이더를 끝까지 내리고 어떤 영향을 미치는지 확인하도록 요청할 것입니다. – Flack

+0

@Flack UAC에 액세스하지 않고 Windows를 개발하는 방법을 어떻게 생각할 수 있습니까?! 나는 UIPI가 가장 가능성있는 범죄자가 아니라는 한스의 의견에 동의하고 싶다. –

+0

@David 앱은 매우 오래된 앱이며 Win7에 몇 명의 사용자 만 있습니다. Win7 머신에 액세스 할 수 있지만 원래 발견 및 게시 한 것은 Google에서 간단히 검색 한 것입니다. Win7 머신을 사용하여 테스트를하고 내가 무엇을 발견 할 수 있는지 살펴볼 것입니다. 거의 모든 기존 사용자가 여전히 XP에 있기 때문에 UAC를 다루지 않아도됩니다. 도와 주셔서 감사합니다 :) – Flack