2013-09-23 85 views
0

我是NSIS腳本和創建安裝程序的新手。如何更改文本框的值使用NSIS腳本?

在我的頁面有一個文本框。加載文本框的頁面顯示從一個文本文件中讀取文本的值。我想知道如何做到這一點使用NSIS腳本..需要代碼示例...

+1

注意顯示一些代碼? – foobar

回答

0
Function .onInit 
InitPluginsDir 
FileOpen $0 "$pluginsdir\text.txt" w ; Normally the text file would come from a File command 
FileWrite $0 "Hello World$\r$\nfrom$\r$\nNSIS$\r$\n" ; Add some dummy text 
FileClose $0 
FunctionEnd 

Page Custom MyCustomPageInit 
Page InstFiles 

Var TxtCtl 

!include nsDialogs.nsh 
!include LogicLib.nsh 

Function MyCustomPageInit 
nsDialogs::Create 1018 
Pop $0 

!define MYMULTILINEEDIT_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}|${ES_MULTILINE}|${ES_READONLY} 
nsDialogs::CreateControl EDIT ${MYMULTILINEEDIT_STYLE} ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE} 5% 10u 90% 50% "" 
Pop $TxtCtl 

FileOpen $0 "$pluginsdir\text.txt" r 
loop: 
    FileRead $0 $1 ; Read a line 
    IfErrors eof 
    SendMessage $TxtCtl ${EM_REPLACESEL} 0 "STR:$1$\n" 
    Goto loop 
eof: 
FileClose $0 

nsDialogs::Show 
FunctionEnd 
+0

在上面的代碼中,我們將值賦給文本框? –

+0

EM_REPLACESEL(沒有選擇要替換,但我使用它,因爲我們正在逐行閱讀,使用NSD_SetText來設置少量的文本...) – Anders