임펠리테리입니다.
오늘은 윈도우즈의 찾기 다이얼로그를 실행하는 방법을 알려드리죠..
뒤져보신 분은 아시겠지만 이 찾기 다이얼로그는 실행화일로 되어있는게 아니라서
하드디스크를 암만 뒤져봐도 소용없습니다.
이 찾기 다이얼로그를 실행하기 위해서는 DDE를 사용해야 합니다.
저도 헤롱거리는 DDE를 설명한답시고 헤매기보단.. 소스를 보여드리죠.
대부분의 경우 이 이상 다른 게 필요하시지도 않으실 거구요..
아래 이벤트 핸들러는 윈도우즈 디렉토리가 디폴트 검색대상 디렉토리로 설정된
채로 찾기 다이얼로그를 보여줍니다.
#include
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TDdeClientConv *DdeClientConv = new TDdeClientConv(this);
DdeClientConv->ConnectMode = ddeManual;
DdeClientConv->ServiceApplication = "explorer.exe";
DdeClientConv->SetLink("Folders", "AppProperties");
DdeClientConv->OpenLink();
DdeClientConv->ExecuteMacro("[FindFolder(, C:\\Windows)]", false);
DdeClientConv->CloseLink();
delete DdeClientConv;
}
반드시 ddeman.hpp를 인클루드 해야 합니다.
델파이에서는,
uses에 ddeman를 추가하고, 다음과 같이 코딩합니다.
procedure TForm1.Button1Click(Sender: TObject);
begin
with TDdeClientConv.Create(self) do
begin
ConnectMode := ddeManual;
ServiceApplication := 'explorer.exe';
SetLink('Folders', 'AppProperties');
OpenLink;
ExecuteMacro('[FindFolder(, C:\Windows)]', false);
CloseLink;
Free;
end;
end;
이 팁은 볼랜드의 델파이 faq를 참고하였습니다.
그럼, 도움되시길 바라면서, 이만...
독립문에서 임펠리테리였습니다.
|