c# 리스트뷰에 등록된 파일 실행~
leafnaid 2007.12.09 22:32
답변 2| 조회 1,159

리스트 뷰에 폴더내의 파일들을 받아와 출력 시켰습니다.

탐색기같은걸 만들어 보았는데요, 트리 메뉴랑 리스트 뷰 메뉴까진 작성했어요.

문제는 리스트 뷰에 있는 아이템을 클릭시 실행을 시켜야 하는대요,

이건 제가 작성된 프로그램이 아닌 기본 연결된 프로그램으로 실행 시키고 싶습니다.

만약 시스템에 avi 파일이 미플과 연결되 있다면 미플을 실행 시키려구요.

해당 명령어와 리스트 뷰에 어떤 이벤트 처리를 하면 되나요?

리스트뷰에 DoubleClick 과 MouseDoubleClick 에다 다음과 같이 넣어 봤는데요,

File.OpenRead(pathdir + List_file.SelectedItems[0].SubItems[1].Text);

요렇게 넣어 봤어요. 틀린 명령어일 거라 생각은 하는데 아무리 더블 클릭 해도 무응답 인거 보면

아무래도 다른 이벤트에다 넣어야 할듯 하네요. 어디다 넣어야 하는지랑 어떤 명령어 넣어야 하는지

알려 주세요.

또한 리스트 뷰에 불러온 파일들이 직접 설정한 이미지 리스트가 아닌 시스템에 있는 본래의 아이콘으로

보여지게 하려면 어떻게 해야 하나요? 그리고 버튼을로 선택된 아이템의 이미지를 이미지 리스트가 아닌

사용자가 직접 하드에서 가져다 쓰게 하고 싶은데요. 이건 어떻게 해야 하나요?

답변해 주시면 감사하겠습니다.

신고

의견 쓰기
질문자 채택된 경우, 추가 답변 등록이 불가합니다.
re: c# 리스트뷰에 등록된 파일 실행~
gwanunjang 답변채택률 85.4%
2007.12.10 18:02
질문자인사 뭔진 잘모르겠네요., 좀더 노력해봐야 할듯...-ㅅ-

책에 파일탐색기 만들기 예제가 있는데 이렇게 씌여있네요

//~~

파일탐색기는 폴더 및 파일 아이콘을 Win32 함수인 SHGetFileInfo()로 얻어옵니다. 또한 선택한 파일을 실행하는데도 Win32 함수인 ShellExecute()를 사용합니다. 이들 함수에 대한 정보는 MSDN에서 필터링 기준을

Platform SDK로 설정하고 검색하면 얻을 수 있습니다. 파일탐색기 프로그램은 DllImport어트리뷰트 기법을 사용해 두 함수를 사용합니다.

[DllImport("Shell32.dll")]

private static extern int SHGetFileInfo(string pszPath, uint dwFileAttributes, out SHFILEINFO psfi,

uint cbFileInfo, SHGFI uFlags);

[System.Runtime.InteropServices.DllImport("shell32.dll")]

public static extern int ShellExecute(int hwnd, string lpOperation, string lpFile, string lpParameters,

string lpDirectory, int nShowcmd);

~~//

출처 : 책 >> C# Programming Bible with .Net framework 3.0

+ Recent posts