임프입니다.. 오늘도 변함없이 나가는.... 오늘으... 팁!! --;;;
오늘의 팁은, 윈도우즈의 찾기다이얼로그 실행하기 입니다..
저번에 하지 않았냐구요? 했지요. 근데요. 딴 방법으로 해봅시다.
오늘은 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를 써서 더 복잡한 방법을
알려줬냐구요? 헐~ 왜긴 왜겠어요~ 그땐 이 방법을 몰랐으니 그렇지~ --;;;;
그럼 도움되시길 바라면서, 이만...
독립문에서 임펠리테리였습니다.