Nsis临时文件夹
在Nsis临时文件夹,nsis,Nsis,在.onInit函数中调用Kernel32::GetTempFileName时,我检索一个空文件名。但是,当我从一节中调用它时,一切都很好 你能解释一下原因吗?我建议你只需调用.onInit并将其用作临时文件夹即可。它将在退出时自动删除 $PLUGINSDIR 第一次使用时创建的临时文件夹的路径 插件或对InitPluginsDir的调用。此文件夹将自动删除 安装程序退出时删除 使用System::Call时,引用所有字符串参数非常重要: Function .onInit DetailPrint
.onInit
函数中调用Kernel32::GetTempFileName
时,我检索一个空文件名。但是,当我从一节中调用它时,一切都很好
你能解释一下原因吗?我建议你只需调用.onInit
并将其用作临时文件夹即可。它将在退出时自动删除
$PLUGINSDIR
第一次使用时创建的临时文件夹的路径
插件或对InitPluginsDir的调用。此文件夹将自动删除
安装程序退出时删除
使用
System::Call
时,引用所有字符串参数非常重要:
Function .onInit
DetailPrint "Temp folder - $TEMP"
System::Call 'Kernel32::GetTempFileName(t $TEMP, t "tmp", i 0, t.r0) i.r1
DetailPrint "Temp folder name - $0" //$0 gives empty string
FunctionEnd
请考虑使用
$pluginsdir
,就像另一个答案所建议的那样,这是一个更好的解决方案,因为它不会在最终用户的机器上留下垃圾…您发布的代码甚至不会编译。。。
Section
System::Call 'Kernel32::GetTempFileName(t "$TEMP", t "tmp", i 0, t.r0) i.r1'
DetailPrint |$0|
SectionEnd