Windows(.NET)에서 파일 형식을 열기 위한 기본 응용 프로그램 찾기
C#을 사용하는 .NET Framework 2.0에서는 다음이 가능합니다. System.Diagnostics.Process.Start()를 활용하여 기본 응용 프로그램에서 파일을 엽니다. 그러나 특정 확장자가 없는 파일의 경우 관련 애플리케이션을 결정하는 것이 까다로울 수 있습니다.
Win32 API 사용
이 제한을 극복하려면 Win32 API 함수 AssocQueryString( )을 권장합니다. 이 함수는 특정 파일 형식과 관련된 문자열을 반환하므로 개발자는 기본 애플리케이션의 실행 경로를 추출할 수 있습니다.
아래 코드 조각은 AssocQueryString() 사용 방법을 보여줍니다.
using System.Runtime.InteropServices; using System.Text; public static string GetDefaultApplicationForExtension(string extension) { const int S_OK = 0; const int S_FALSE = 1; uint length = 0; uint ret = AssocQueryString(AssocF.None, AssocStr.Executable, extension, null, null, ref length); if (ret != S_FALSE) { throw new InvalidOperationException("Could not determine associated string"); } StringBuilder sb = new StringBuilder((int)length); // (length-1) will probably work too as the marshaller adds null termination ret = AssocQueryString(AssocF.None, AssocStr.Executable, extension, null, sb, ref length); if (ret != S_OK) { throw new InvalidOperationException("Could not determine associated string"); } return sb.ToString(); }
이 함수를 호출하고 파일 확장자를 인수로 제공함으로써 개발자는 기본 애플리케이션 경로를 얻어 프로그래밍 방식으로 원하는 애플리케이션에서 파일을 열 수 있습니다.
위 내용은 .NET에서 파일 형식에 대한 기본 응용 프로그램을 프로그래밍 방식으로 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!