2012-01-05 4 views
0

응용 프로그램이 있고 미디어 센터가 전체 화면에있을 때 Media Center에서 시작하고이 타일을 열면 배치 파일이 백그라운드에서 내 응용 프로그램을 엽니 다. 어떻게하면 미디어 센터에서 열 수 있습니까? C#으로 코딩앞 화면에서 배치 파일을 실행하는 방법

+0

그게 아마 뭔가를 호출하여 일괄 적으로 다음 줄을 사용합니다. –

+0

명령 줄에서 실행 파일 경로를 허용하는 일반 응용 프로그램을 만들 수도 있습니다. dot net을 사용하면 Process 클래스를 통해 응용 프로그램을 시작하고 프로세스 ID를 얻을 수 있습니다. 그런 다음 창 API를 사용하여 창을 앞으로 가져올 수 있습니다. 이점은이 코드를 재사용 할 수 있으며 실행중인 앱 코드를 변경할 필요가 없다는 것입니다. – Aphelion

+0

그러면 어떻게 될까요? 내 wpf 응용 프로그램에서 – Letoir

답변

0

빠른 방법은 다음과 같습니다이 예제는 당연히 오류 처리와 인수의 유효성 검사를 필요로하는

using System; 
using System.Runtime.InteropServices; 
using System.Diagnostics; 

namespace Example 
{ 
    class Program 
    { 
     [DllImport("USER32.DLL")] 
     public static extern bool SetForegroundWindow(IntPtr hWnd); 

     static void Main(string[] args) 
     { 
      Process process = Process.Start(args[0]); 
      if (process != null) SetForegroundWindow(process.Handle); 
     } 
    } 
} 

참고. 필요한 경우 작업 폴더에 대한 지원을 개발할 수도 있습니다 (선택 사항).

응용 프로그램을 응용 프로그램이 아닌 배치 파일에서 코딩 할 필요가

Example.exe "c:\sample\path\app.exe" 
+0

난 정적 void 메인 (string [] args) 없습니까? – Letoir

+1

이 예제는 콘솔 응용 프로그램 템플리트에서 개발해야하는 '도우미'실행 파일에 대한 것입니다. 이것을 WPF 응용 프로그램에 구현하려면 코드를 사용해야하지만 WPF 응용 프로그램의 시작 메서드에 배치해야합니다. dllimport와 setforeground 윈도우의 사용법은 새로운 프로세스 대신 현재 프로세스에서 프로세스 ID를 얻어야한다는 것을 제외하고는 동일합니다. – Aphelion

관련 문제