Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 팁&트릭
Delphi Programming Tip&Tricks
[161] 팁! 윈도우즈의 찾기다이얼로그 실행하기 (다른 방법)
박지훈.임프 [cbuilder] 12051 읽음    1999-06-04 00:00
임프입니다.. 오늘도 변함없이 나가는.... 오늘으... 팁!! --;;;

오늘의 팁은, 윈도우즈의 찾기다이얼로그 실행하기 입니다..
저번에 하지 않았냐구요? 했지요. 근데요. 딴 방법으로 해봅시다.
오늘은 ShellExecute() 함수로 해보죠. 저번엔 DDE를 이용해서 실행했었죠?
(DDE를 이용한 찾기다이얼로그 실행은 1469번 글을, 그리고 ShellExecute()함수에
대해서는 1473번 글을 참고하세요~)

저번 웹브라우저 실행에서 봤듯이, ShellExecute()의 첫번째 인자로 "open" 커맨드를
넘겨주면 되었죠. 이번에도 방법은 비슷하지만, 컴맨드는 "find"를 사용합니다.
쓸데없이 사설만 늘어놓기보단... 봅시다.

ShellExecute(Handle, "find", NULL, NULL, NULL, SW_SHOWDEFAULT); // C++

ShellExecute(Handle, 'find', nil, nil, nil, SW_SHOWDEFAULT);  // 델파이


이렇게만 해주면 찾기 다이얼로그가 떠억~ 하고 뜹니다.
근데.. 뭐 아무것도 옵션이 없냐구요. 있죠. 찾을 대상 디렉토리는 지정해 줄 수
있습니다. 근데, 불행히도 그 외의 옵션은 전혀 지정할 수 없죠.

ShellExecute(Handle, "find", "c:\\windows", NULL, NULL, SW_SHOWDEFAULT); //C++

ShellExecute(Handle, 'find', 'c:\\windows, nil, nil, SW_SHOWDEFAULT);  // 델파이

이렇게 하면 찾을 대상 디렉토리가 c"\windows 로 설정된 채로 뜹니다.

꼭 찾을 이름을 지정해줘야 한다면.. WM_KEYDOWN과 ~UP 메시지, 그리고 WM_CHAR
메시지를 이 찾기 다이얼로그의 윈도 핸들에 보내면 되긴 하겠죠?

근데.. 이렇게 더 쉬운 방법이 있는데 왜 저번엔 DDE를 써서 더 복잡한 방법을
알려줬냐구요? 헐~ 왜긴 왜겠어요~ 그땐 이 방법을 몰랐으니 그렇지~ --;;;;

그럼 도움되시길 바라면서, 이만...




독립문에서 임펠리테리였습니다.

+ -

관련 글 리스트
161 팁! 윈도우즈의 찾기다이얼로그 실행하기 (다른 방법) 박지훈.임프 12051 1999/06/04
(링크)     C++Builder Tip'N Tricks > 팁! 윈도우즈의 찾기다이얼로그 실행하기 (다른 방법)
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.