2010-05-05 5 views
2

파일 열기/저장 대화 상자에서 디렉토리를 탐색하려고합니다. 공통 대화 상자와 제어 창을 처리 할 수있었습니다. 하지만 파일 이름을 제공하고 저장/열기 버튼을 클릭하여 파일을 저장/열기하는 방법을 모르겠습니다. 이 작업을 수행하는 데 필요한 SendMessage 매개 변수를 찾을 수 없습니다. 어떤 제안?파일 열기/저장 대화 상자

+0

내 문제가 해결되었습니다 ... –

+0

내가 여기 CustomViewAPI.Win32.SendMessage (handleWnd, CommonConst.WM_SETTEXT, this.CurrentSearchPath했을 무엇. 길이, this.CurrentSearchPath); CustomViewAPI.Win32.SendMessage ((IntPtr) handleWnd, CommonConst.WM_SETFOCUS, IntPtr.Zero, IntPtr.Zero); CustomViewAPI.Win32.SendMessage ((IntPtr) handleWnd, CommonConst.WM_KEYDOWN, (IntPtr) CommonConst.VK_RETURN, IntPtr.Zero); CustomViewAPI.Win32.SendInput (1, ref structInput, Marshal.SizeOf (new CommonStruct.INPUT())); –

답변

0

난 당신이 다른 응용 프로그램을 제어하기 위해 노력하고있다 있으리라 믿고있어, 당신은 윈도우의 핸들을 얻고있는 이유입니다 등

그런 경우가 있다면, 당신은하려면 Alt-N을 보내 SendKeys를 사용할 수 있습니다 이름 필드를 선택한 다음 파일 이름을 선택한 다음 Alt-S를 눌러 저장하십시오.

사용자가 직접 프로그램에서 열기 또는 저장 대화 상자를 사용하려는 경우 기본 제공 OpenFileDialog 및 SaveFileDialog 구성 요소를 사용해야합니다.

+0

내 자신의 사용자 지정보기를 사용하여 파일 및 폴더를 표시하고 검색 상자를 사용하여 특정 폴더로 이동합니다. 이 경우 File Open/Save 대화 상자에 메시지를 보내어 현재 표시된 폴더를 변경하도록하는 방법. 예 : 창에 현재 "C : \"가 표시되어 있으면 현재 폴더를 "D : \"로 변경하기 위해 해당 창을 적용하는 API (코드)가 필요합니다. –

0

어떤 작업을 수행하려고합니까? C#으로 태그가 지정된 게시물이 있지만 hwnds를 가져와 SendMessage를 사용하는 이유를 생각할 수 없습니다.

예를 들어 WPF OpenFileDialog/SaveFileDialog에서 FileName (또는 FileNames) 속성을 설정하거나 InitialDirectory를 설정할 수 있습니다.

+0

내 사용자 지정보기를 사용하여 파일을 표시하고 있습니다 특정 폴더로 이동하려면 검색 상자를 사용하십시오. 이 경우 File Open/Save 대화 상자에 메시지를 보내어 현재 표시된 폴더를 변경하도록하는 방법. 예 : 창에 현재 "C : \"가 표시되어있는 경우 현재 창을 "D : \"로 변경하기 위해 해당 창을 적용하는 API (코드 또는 코드)가 필요합니다. –

2

왜 SendMessage를 사용하고 있습니까? OpenFileDialogSaveFileDialog 클래스를 사용하지 않는 이유는 무엇입니까?

OpenFileDialog에 대한 자세한 내용은 여기를 참조하십시오 :

http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx

+0

내 자신의 사용자 지정보기를 사용하여 파일 및 폴더를 표시하고 검색 상자를 사용하여 특정 폴더로 이동합니다. 이 경우 File Open/Save 대화 상자에 메시지를 보내어 현재 표시된 폴더를 변경하도록하는 방법. 예 : 창에 현재 "C : \"가 표시되어있는 경우 현재 창을 "D : \"로 변경하기 위해 해당 창을 적용하는 API (코드 또는 코드)가 필요합니다. –

+0

어떻게해야할지 모르겠습니다. 첫 번째 제안은 대화 상자를 닫은 다음 새로운 'InitialDirectory'를 사용하여 다시 열어 보는 것이지만 실행 가능하지 않은 해결책이라면'FileDialog' 클래스의 서브 클래스를 살펴보고 그런 식으로 그 기능을 추가 할 수 있는지 살펴 보겠습니다. –

관련 문제