2012-08-31 3 views
-1

인쇄 대화 상자에 액세스하여 Winforms에서 프로그래밍 방식으로 닫을 수 있습니까? 이 인쇄 대화 상자는 웹 브라우저, 메모장 또는 페인트와 같은 다른 프로그램에서 열 수 있습니다.C# 다른 프로그램에서 열린 인쇄 대화 상자에 액세스하는 Winforms

예를 들어 인터넷 익스플로러에있는 사람이 웹 사이트에서 Ctrl + P를 누르면 인쇄 대화 상자가 열립니다. 내 콘솔/winform 응용 프로그램에서 해당 내용을 찾아서 확인하거나 자동으로 취소합니다.

+0

정확히 이것을 수행 할 소프트웨어를 작성 하시겠습니까? 이것은 매우 국한된 문제로 간주됩니다. –

+0

@Teomanshipahi : 당신이 묘사하고있는 것과 비슷한 바이러스 같은 행동처럼 downvotes에 대한 다른 이유가있을 것으로 확신합니다. –

+0

그래서 스택 오버플로를 사용하면 사람들이 다운 투표의 이유를 설명하도록해야합니다. 그래서 많은 windows api 관련 질문은 바이러스와 관련있는 것으로 간주 될 수 있습니다. 전혀 이해가되지 않습니다. –

답변

-1

가능합니다. 그러나 관리되지 않는 코드를 사용해야 할 것입니다. WinDows API를 사용하여이를 수행하는 것이 좋습니다. FindWindow 함수를 사용하여 창 핸들을 찾을 수 있으며 해당 메시지를 해당 창에 게시 할 수 있습니다. 또는이 윈도우를 활성화 한 후에 해당 버튼의 좌표를 가져올 수 있습니다.

+0

'WinDows API'는 정확히 무엇인가? 왜 그렇게 쓰여졌습니까? 당신이 말할 수있는 모든 것은 그가하고 싶은 일조차 할 수 없습니다. 다른 프로세스의 '창'을 닫으려고합니다. 나는 Windows가 이것에 문제가있을 것이라고 확신한다. –

+0

@Ramhound 먼저 .net 관리 코드를 사용하여 프로세스를 종료 할 수 있습니다 (system.diagnostics 네임 스페이스 참조). 그리고 Windows API를 사용할 때뿐만 아니라 여기에 문제가있을 수도 있습니다. 이것은 기술이 아닌 시스템 설정에 달려 있습니다. 둘째, 각 프로세스에는 여러 개의 창이있을 수 있습니다. 그래서 나는 downvote뿐만 아니라 당신의 의견으로 무엇을 의미하는지 확신하지 못합니다. – seeker

+0

@seeker : 코드 또는이 응답은 가치가 거의 없습니다. –

0

간단한 작업 만 수행하려는 경우 AutoHotkey와 같은 프로그램이 이러한 상황에 이상적 일 수 있습니다. 이 같은 작은 작업을 돕기 위해 설계되었습니다. 어떤 창이 표시되는지에 따라 다른 작업을 수행 할 수 있습니다. 이 경우 Enter, Escape 또는 Alt-K와 같은 키 입력을 수행 할 수 있습니다. 애플리케이션과의 통합을 더 원한다면 이것이 적절한 해결책이 아닐 수도 있습니다. 그러나 만약 당신이 단지 자동화를 증가 시키려고한다면 나는 그것 (또는 비슷한 해결책)이 완벽하다고 생각한다.

http://www.autohotkey.com/

+0

어쨌든 정보 덕분에 프로그래밍 방식으로 만들고 싶습니다. –