에디트플러스의 도움말 중 '명령줄 옵션과 DDE 명령' 부분에 보면 DDE 명령에 필요한 사항들이 나와 있다.
기본 문자열이 유니코드인 델파이 버전(2009 이상)을 이용할 경우,
DDE 명령을 보내는 ExecuteMacro 함수에서 명령어 부분이 PAnsiChar 여야 하는 점에 주의할 것.
여하튼 아래에 에디트플러스에 DDE 명령을 보내는 예제를 기록해둔다.
uses
DdeMan;
...
...
procedure EditPlusDDE(Cmd: PAnsiChar);
var DDE: TDDEClientConv;
begin
DDE:=TDDEClientConv.Create(nil);
try
DDE.ConnectMode:=ddeManual;
if not DDE.SetLink('editplus', 'system') then Exit;
if not DDE.OpenLink then Exit;
DDE.ExecuteMacro(Cmd, True);
finally
FreeAndNil(DDE);
end;
end;
// 에디트플러스 활성화
EditPlusDDE('[activate]');
// C:\test.txt 파일 열기
EditPlusDDE('[open("C:\test.txt")]');
// 커서를 6번째 줄의 10번째 문자로 이동시키기
EditPlusDDE('[cursor("6:10")]');
DdeMan;
...
...
procedure EditPlusDDE(Cmd: PAnsiChar);
var DDE: TDDEClientConv;
begin
DDE:=TDDEClientConv.Create(nil);
try
DDE.ConnectMode:=ddeManual;
if not DDE.SetLink('editplus', 'system') then Exit;
if not DDE.OpenLink then Exit;
DDE.ExecuteMacro(Cmd, True);
finally
FreeAndNil(DDE);
end;
end;
// 에디트플러스 활성화
EditPlusDDE('[activate]');
// C:\test.txt 파일 열기
EditPlusDDE('[open("C:\test.txt")]');
// 커서를 6번째 줄의 10번째 문자로 이동시키기
EditPlusDDE('[cursor("6:10")]');
'Delphi' 카테고리의 다른 글
[Delphi] API Hooking (0) | 2010.12.15 |
---|---|
[Delphi] UAC 권한상승 manifest를 리소스에 포함시켜 컴파일 (UAC requireAdministrator manifest resource file) (6) | 2010.11.23 |
[Delphi] .lnk (바로가기) 파일에서 실행파일 경로 가져오기 (0) | 2010.10.25 |
[Delphi] 디렉토리 생성 (0) | 2010.07.14 |
[Delphi] Listbox Item 선택하기. (List, SendMessage, LB_SETCURSEL, LB_GETITEMRECT) (0) | 2010.07.14 |