2009-02-03 6 views
1

탐색기에서 다른 탭으로 파일을 여는 방법. 메뉴가 열려있는 메뉴를 파일 유형과 연관시킬 수 있습니다. 이제는 이미 프로그램이 작동 중일 때, 새 프로그램 대신 새 탭을 다른 탭으로 열 수 있습니다. 이름이 아닌 이미 실행중인 프로세스를 찾는 방법과 이름을 파일 이름으로 보내는 방법.탐색기에서 다른 탭으로 파일을 여는 방법

내 응용 프로그램을 단일 인스턴스로 설정하여 사용자가 10 개의 텍스트 파일을 선택하고 Enter 키를 누르면 10 개의 프로세스를 만드는 대신 10 개의 텍스트 파일을 모두 10 개의 탭으로 열도록합니다. . 그렇게하는 방법? 동일한 프로세스의 다양한 인스턴스간에 통신하는 방법.

EDIT SOLVED : C#의 WM_COPYDATA 및 codeproject의 SingleApplication 클래스를 사용하여 기능을 구현했습니다.

+0

당신이 원하는 것은 프로그램을 단일 인스턴스로 만들고 매번 새로운 프로세스를 생성하지 않는 것입니다. –

+0

네, 맞습니까? –

답변

1

본인이이 질문에서 의미하는 바가 확실하지 않습니다. Windows 탐색기 창을 탭이있는 하나의 창으로 열려고합니까? 그렇다면 QT TabBar을 조사하는 것이 좋습니다. Windows 탐색기가 이러한 동작을 허용하도록 확장됩니다.

또는 웹 브라우저에서 새 탭에 대한 링크를 열려고 시도했을 수 있습니다. 이 경우 웹 브라우저 자체에서이 동작을 정의합니다. Internet Explorer 7의 경우이 동작을 에서 설정할 수 있습니다. 도구>인터넷 옵션.

일반 탭에서 "탭"섹션 옆에있는 설정 버튼을 클릭하십시오. 새 탭을 열려면 "다른 프로그램의 링크 열기 :"옵션을 설정해야합니다.

이 동작은 각 사용자에 의해 정의되며 사용자가 설정 한 브라우저 설정과 동일한 브라우저 설정을 보장 할 수는 없습니다.


의견을 읽은 후에는 조금 더 잘 이해할 수 있습니다. 응용 프로그램이 한 번에 하나의 인스턴스 만 허용하도록하려는 것 같습니다. 이 게시물 C#을 태그 했으므로 프로그램을 작성한 것으로 가정합니다.

Codeproject.com은 프로그램이 단일 인스턴스 만 허용하도록 만드는 방법에 대해 훌륭한 tutorial을 제공합니다. 당신은 기존의 인스턴스가 새 탭에서 파일을 열이 그냥 반환 문 앞에 코드를 작성 할 것

static void Main() 
{ 
    if(SingleInstance.SingleApplication.Run() == false) 
    { 
     return; 
    } 
    //Write your program logic here 
} 

: 여기

는 자신의 사이트에서 코드의 조각이다.

프로그램에서 수행하는 작업에 대한 자세한 정보를 제공 할 수 있다면 Google에서 구체적인 사항을 알려 드릴 수 있습니다.

+0

질문과 코멘트를 더 자세히 업데이트했습니다. –

+0

이미 SingleInstance.SingleApplication을 사용하고 있었으므로 사용할 IPC 메커니즘을 알고 싶었습니다. WM_COPYDATA가 가장 쉽고 간편한 방법이라고 생각했습니다. 많은 감사. –