如何在NSIS脚本中将文件中的值读入textbox并从textbox写回同一文件

如何在NSIS脚本中将文件中的值读入textbox并从textbox写回同一文件,nsis,Nsis,我必须从ini文件中读取值,并在用户完成更改后将其放入一些文本框中,用户可以将这些更改写回该文件。 像 NSIS文件: ;define textbox ${NSD_CreateText} 78.33u 5.23u 200.67u 12.31u $Text_State Pop $Text ;read value : ReadINIStr $Text_State "C:\ProgramData\testing\test\pnd.ini" "user" "userdetail" pus

我必须从ini文件中读取值,并在用户完成更改后将其放入一些文本框中,用户可以将这些更改写回该文件。 像

NSIS文件:

;define textbox  
${NSD_CreateText} 78.33u 5.23u 200.67u 12.31u $Text_State  
Pop $Text


;read value  :
ReadINIStr $Text_State  "C:\ProgramData\testing\test\pnd.ini" "user" "userdetail"
push $Text_State
pop $Text_State

WriteINIStr "$APPDATA\testing\test\pnd.ini" "user" "userdetail" "$Text_State"

为什么我总是得到一个空白的文本框值?

为什么要使用ReadINIStr中的C:\ProgramData文件夹和WriteINIStr中的$APPDATA文件夹

$APPDATA已扩展(基于SetShellVar)为C:\Users[User]\APPDATA\Roaming


所以基本上你是在读写不同的文件。

固定格式。改进的语法假设这是答案,因为他正在读写不同的文件。嘿,Slappy,我只是调查了一下,我发现C:\ProgramData和$APPDATA在我的例子中是一样的。我能够读取和填充文本框,但无法将值从文本框写回文件。你能分享一些同样的例子吗。
;define textbox  
${NSD_CreateText} 78.33u 5.23u 200.67u 12.31u $Text_State  
Pop $Text


;read value  :
ReadINIStr $Text_State  "C:\ProgramData\testing\test\pnd.ini" "user" "userdetail"
push $Text_State
pop $Text_State

WriteINIStr "$APPDATA\testing\test\pnd.ini" "user" "userdetail" "$Text_State"