일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Var:=식
- 함수
- ControlSend
- Menu
- API
- IfWinExist
- EnvMult
- SetMouseDelay
- StringGetPos
- autohotkey
- 배열
- SetEnv
- 식의 설명
- DetectHiddenWindows
- if
- 식
- SetTitleMatchMode
- EnvSub
- SetControlDelay
- SetKeyDelay
- ControlGetText
- Threads
- EnvSet
- IF (식)
- IfInString
- EnvDiv
- MouseClick
- Blocks
- if(식)
- EnvAdd
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
nsWeb - NSIS에서 웹 페이지나 HTML 파일을 보여주자 본문
이번 코덱팩 업데이트 때 사용된 웹페이지를 보여주는 플러그인입니다.
의외로 다양한 기능을 보유하고 있습니다.
ShowWebInPage.- 사용자 페이지 대화상자에 URL 또는 HTML 파일을 출력합니다.
ShowHTMLInPage.- 사용자 페이지 대화상자에 HTML 문자열(body 태그등이 없는 HTML 형식 문자열)을 출력합니다.
ShowWebInPopUp.- 사용자 페이지 대화상자에 URL 또는 HTML 파일을 출력합니다.(HTML형식 문자열은 안됩니다)
IsInet.- 인터넷 연결이 되어 있는지 확인합니다. 이 함수를 사용해서 URL 을 출력할 때 페이지를 찾을 수 없다는 오류를 피할 수 있겠지요. (1=연결; 0=연결 안 됨)
참조 페이지 " http://nsis.sourceforge.net/NsWeb:_A_plugin_to_display_the_web_browser_control_in_a_custom_page"
기본적으로 위와 같은 4가지 함수를 가지고 있습니다.
설치하면 예제 디렉토리에 Modern UI와 기본 UI 두가지의 예제 파일들이 설치됩니다.
밑에 2가지 예제를 보시면 쉽게 이해가 가실겁니다.
일단 젤 처음에 Page 함수를 사용해서 자신이 사용할 페이지를 하나 생성합니다.
그 후 인스톨러 처음 시작할 때 호출되는 함수인 .onInit 에서 플러그임을 초기화합니다. 이때 플러그인과 함께 HT
ML파일을 보여줄 것이라면 HTML파일도 같이 풀어줘야합니다.
그 후 Page 함수에서 설정한 이름으로 함수를 작성하여주면 NSIS가 알아서 호출하여 줍니다.
그리 어렵지 않아서 예제를 컴파일해서 직접 돌려보고 한번 보시면 아실 수 있을겁니다.
; Example with classic NSIS style
Name nsWeb
OutFile nsWeb-CUI.exe
InstallDir $EXEDIR
ShowInstDetails show
XPStyle on
Page directory
Page custom "ShowWebControl" "" ": WebBrowser control web dialog"
Page custom "ShowHTMLControl" "" ": WebBrowser control html file dialog"
Page custom "ShowHTMLText" "" ": WebBrowser control html text dialog"
Page components "" "ShowPopURL" ""
Page instfiles
Function .onInit
InitPluginsDir
# Drop everything into the $PLUGINSDIR on init.
# For quick calling at its time
File /oname=$PLUGINSDIR\nsWeb.dll ${NSISDIR}\Plugins\nsWeb.dll
File /oname=$PLUGINSDIR\file1.htm file1.htm
File /oname=$PLUGINSDIR\file2.htm file2.htm
FunctionEnd
Function "ShowWebControl"
nsWeb::ShowWebInPage " http://www.google.com.mx"
FunctionEnd
Function "ShowHTMLControl"
nsWeb::ShowWebInPage "$PLUGINSDIR\file1.htm"
FunctionEnd
Function "ShowHTMLText"
nsWeb::ShowHTMLInPage "<b>I'm a <u>HTML text</u></b>"
FunctionEnd
Function "ShowPopURL"
nsWeb::ShowWebInPopUp "$PLUGINSDIR\file2.htm"
FunctionEnd
Section "Detect Internet?"
nsWeb::IsInet 3
DetailPrint "Do you have Internet connection: $3"
SectionEnd
Section -default
DetailPrint "It's over!"
SectionEnd
; Example with Modern UI NSIS style
!include "MUI.nsh"
Name nsWeb
OutFile nsWeb-MUI.exe
InstallDir $EXEDIR
ShowInstDetails show
XPStyle on
!insertmacro MUI_PAGE_DIRECTORY
Page custom "ShowWebControl" "" ": WebBrowser control web dialog"
Page custom "ShowHTMLControl" "" ": WebBrowser control html file dialog"
Page custom "ShowHTMLText" "" ": WebBrowser control html text dialog"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW "ShowPopURL"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Function .onInit
InitPluginsDir
# Drop everything into the $PLUGINSDIR on init.
# For quick calling at its time
File /oname=$PLUGINSDIR\nsWeb.dll ${NSISDIR}\Plugins\nsWeb.dll
File /oname=$PLUGINSDIR\file1.htm file1.htm
File /oname=$PLUGINSDIR\file2.htm file2.htm
FunctionEnd
Function "ShowWebControl"
!insertmacro MUI_HEADER_TEXT "Testing nsWeb plugin" "You are watching http://nsis.sf.net"
nsWeb::ShowWebInPage " http://nsis.sf.net"
FunctionEnd
Function "ShowHTMLControl"
!insertmacro MUI_HEADER_TEXT "Testing nsWeb plugin" "You are watching file1.htm"
nsWeb::ShowWebInPage "$PLUGINSDIR\file1.htm"
FunctionEnd
Function "ShowHTMLText"
!insertmacro MUI_HEADER_TEXT "Testing nsWeb plugin" "You are watching plain HTML text"
nsWeb::ShowHTMLInPage "<b>I'm a <u>HTML text</u></b>"
FunctionEnd
Function "ShowPopURL"
nsWeb::ShowWebInPopUp "$PLUGINSDIR\file2.htm"
FunctionEnd
Section "Detect Internet?"
nsWeb::IsInet 3
DetailPrint "Do you have Internet connection: $3"
SectionEnd
Section -default
DetailPrint "It's over!"
SectionEnd
'프로그래밍 > NSIS' 카테고리의 다른 글
NSIS 에서 SQL Server Script 실행 방법 (0) | 2007.11.03 |
---|---|
NSIS_MUI_reference (0) | 2007.11.03 |
[Nsis] Red Crusaders 레이드 팩 (공격대 애드온 모음집 만들기 소스) (0) | 2007.11.03 |
NSIS 로 프로세스 강제 종료 플러그인 KillProc (0) | 2007.11.03 |
INetLoad 플러그인 (0) | 2007.11.03 |