2012-02-23 2 views
0

Excel을 포함하고 COM 개체를 처리하는 프로그램을 C \ C++로 작성하고 있습니다. 이 자동화 프로세스는 완벽하게 작동하여 시트를 조작하고 Excel 기능의 이점을 얻습니다.임베디드 Excel COM 개체 클립 보드 interefernce

M 문제는 데이터를 처리하는 동안 내가 복사/붙여 넣기 작업을 사용하는 것이, 그래서 처리에 시간이 걸린다면, 그것은 간섭이 클립 보드 실행 사이의 공통으로 발생이 있는지 모르겠어

처리하는 가능 방법은 문제를 사전

답변

1

당신은 개인 클립 보드를 만들 수 없습니다에서

감사를 피하기 위해 클립 보드 또는 다른 생각을 민영화하고 정상 잘라 내기/복사/붙여 넣기 작업과 함께 작동하는 것을 기대한다. 지연을 사용하여 클립 보드 충돌을 피할 수 있습니다. 즉, 복사 작업을 강제 한 후 붙여 넣기 전에 몇백 밀리시를 기다려야합니다.

또한 클립 보드의 프로그래밍 방식 사용은 나쁜 습관으로 간주됩니다. 클립 보드는 프로그래머가 아닌 사용자의 편의를 위해 제공됩니다. 주제에 내 좋아하는 인용구를 참조하십시오

"사용자로부터 명시 적으로 지시하지 않고 클립 보드 우리의 외부에 데이터를 전송하지 말아야 프로그램."- 찰스 페 졸드, 프로그래밍 Windows 3.1, Microsoft Press에서 1992

+0

답장을 보내 주셔서 감사합니다.
motash

+0

답장을 보내 주셔서 감사합니다. 먼저, 최종 사용자가 내 프로그램에서 클립 보드를 조작하는 것을 알고 싶지만 내 문제는 내 응용 프로그램과 최종 사용자가 수행하는 다른 작업/응용 프로그램간에 발생할 수있는 클립 보드 간섭을 방지하는 것입니다. - 개인 클립 보드가 도움이 될 것이라고는 부인했지만 개인 클립 보드가 존재할 수 있다는 것을 부인하지 않았습니까? 일부 프로세스에 개인 클립 보드를 제공 할 수 있습니까? - 지연 제안의 목적을 설명해 주시겠습니까? 간섭을 최소화/제거하기 위해 이전 작업을 지연시킬 수있는 방법은 무엇입니까? 다시 한번 감사드립니다. – motash

0

나는 PowerShell 스크립트를 위해 그것을 할 수있는 방법을 발견 :

  • 를 스크립트/프로그램 호출 예약 된 작업을 만들기
  • 당신이 예약 된 작업을 실행하면

는 Windows가의 일을 방해하지, 자신의 클립 보드를 사용하는 배경 세션에서 스크립트/프로그램을 실행 "사용자가 로그온 여부 실행"로 설정 활동중인 세션.