netsh - 네트워크 설정을 위한 쉘 명령어임.
다단 컨텍스트 방식으로 사용가능.
ex)
1. cmd 창을 띄운 상태에서 netsh 라고 침.
2. 그럼 쉘이 netsh> 로 바뀜.
3. 이 상태에서 help 를 치면 현재 단계의 컨텍스트에서 선택할 수 있는 명령어들이 나열 됨.
4. firewall 을 치고 엔터를 누르면 쉘이 netsh firewall> 로 바뀜. (방화벽 설정이 가능한 컨텍스트)
5. 이런식으로 단계별 명령이 가능한 방식. 물론 한줄로도 가능함.
ex1) 방화벽의 예외에 C:\Download\Firewall_Test.exe 라는 프로그램을 등록시키는 예제.
각 단계별 컨텍스트를 help 를 통해서 확인가능. XP 기준으로 한글로 전부 설명이 나옴.
주의사항 - 경로명 등은 띄워쓰기를 포함할 경우가 많으므로 처음부터 " " 로 감싸줄 것.
netsh firewall set allowedprogram "C:\Download\Firewall_Test.exe" "Firewall_Test.exe" ENABLE
사용예)
자기자신의 프로세스를 OS의 방화벽 예외 프로그램에 등록.
아래와 같은 형태의 함수를 만들어서 호출하면 끝.
결국 필요한 netsh 명령어를 한줄로 늘여 실행시키는 형태.
procedure 방화벽_예외등록;
var cmd: String;
begin
cmd:='netsh firewall set allowedprogram "'+
Application.ExeName+'" "'+
ExtractFileName(Application.ExeName)+'" ENABLE';
var cmd: String;
begin
cmd:='netsh firewall set allowedprogram "'+
Application.ExeName+'" "'+
ExtractFileName(Application.ExeName)+'" ENABLE';
WinExec(PChar(cmd), SW_HIDE);
end;
end;
'Delphi' 카테고리의 다른 글
[Delphi] GetDC(0) 으로 캡쳐되지 않는 윈도우 (0) | 2009.04.18 |
---|---|
Delphi 레퍼런스 사이트 (0) | 2009.04.18 |
[Delphi] TImageList 를 이용해 TImage 에 그리기, TImage 에 글자 쓰기 (0) | 2009.04.18 |
[Delphi] 현재 IMM 상태 (한글/영문) 체크, 변경 (0) | 2009.04.18 |
[Delphi] 커서 포함 화면캡쳐 (0) | 2009.04.18 |