PDA

Показать полную графическую версию : .: NSIS - все вопросы :. часть 2.


Страниц : 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 [95] 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

Sancho5555
03-11-2015, 14:19
У меня такой вопрос, как сделать перенос строки $\r$\n с помощью команды SendMessage $ListBox ${LB_ADDSTRING}?

${NSD_CreateListBox} 100 40 20% 12u ""
Pop $ListBox

Function
; Код
SendMessage $ListBox ${LB_ADDSTRING} 0 "STR:Строка1$\r$\nСтрока2" ; перенос строки $\r$\n не работает
FunctionEnd

Function
; Код
SendMessage $ListBox ${LB_ADDSTRING} 0 "STR:Строка1$\r$\nСтрока2"
FunctionEnd

Function
; Код
SendMessage $ListBox ${LB_ADDSTRING} 0 "STR:Строка1$\r$\nСтрока2"
FunctionEnd

K.A.V.
03-11-2015, 16:26
У меня такой вопрос, как сделать перенос строки $\r$\n с помощью команды SendMessage $ListBox ${LB_ADDSTRING}? »
Какой перенос строки у ListBox'a?
Этот элемент представляет собой список строк, "однострочных строк" если можно так выразиться, никакого переноса там не может быть

ZaxBoys66
09-11-2015, 21:37
Two mode instalation: Portable and Standard in to single installer

https://mega.co.nz/#!wwYHHQgJ!zdmS5TxwaAzQdpMdmGAo3g76X2fqqVZpdj4CCE85GSw

Compile With NSIS Unicode

https://mega.co.nz/#!1pgTxRZK!KaG_RJHDkc3CyzzWIxjvSii9oDyNwXm0Vo2PLyEeDbo

Dodakaedr
16-11-2015, 22:42
Подскажите, пожалуйста, какие есть способы шифровки\дешифровки файлов в nsis. Требуется зашифровать содержимое *.txt файла и *.reg файла.

MKN
17-11-2015, 12:24
Dodakaedr,
http://nsis.sourceforge.net/DcryptDll_plug-in
http://nsis.sourceforge.net/NsisCrypt_plug-in

Dodakaedr
17-11-2015, 12:32
NsisCrypt_plug-in для строк, не подходит
DcryptDll_plug-in вроде оно, но могу понять имеющийся там пример. Можете привести пример конкретно по шифровки\дешифровки txt, reg файлов?

MKN
17-11-2015, 13:41
Dodakaedr,
См. пример http://nsis.sourceforge.net/NSIS_Installation_Protection
а также DcryptDllReadme.html
Конкретно для шифрования строк может быть полезен плаг : http://nsis.sourceforge.net/Blowfish_plug-in

Salmo
20-11-2015, 16:06
Добрый день уважаемые... Для фильтрации зависших приложений всегда пользовался к\с - tasklist /fi "status eq not responding", но не везде есть эта утилита. Подскажите, пожалуйста, как на NSIS определять статус приложения, найти зависшее и сделать дальнейшие манипуляции с ним... Спасибо.

MKN
20-11-2015, 17:11
как на NSIS определять статус приложения, найти зависшее и сделать дальнейшие манипуляции с ним... »
Это возможно, только если кто то из программистов возьмётся (что маловероятно) адаптировать для NSIS следующее :
http://www.manhunter.ru/assembler/191_proverka_i_obnaruzhenie_zavisshih_prilozheniy.html
http://rsdn.ru/article/qna/baseserv/hungapp.xml

K.A.V.
20-11-2015, 18:54
как на NSIS определять статус приложения, найти зависшее и сделать дальнейшие манипуляции с ним »
+
Это возможно, только если кто то из программистов возьмётся (что маловероятно) адаптировать для NSIS следующее : »
Можно взять функцию IsHungAppWindow и подсовывать ей HWND окна приложения (если речь о каком-то конкретном приложении)
Перечислить все окна в системе уже знаете как из справочника, если нужно получить список всех не отвечающих приложений

findwindow $0 notepad
System::Call user32::IsHungAppWindow(i$0)i.r1
$1 = 1 если приложение не отвечает

Salmo
21-11-2015, 23:06
K.A.V., Добрый день\вечер. кодик написал, скомпилировал, зависшие окна находит.... но теперь надо по дескриптору окна определить имя процесса\исполняемого файла...как? Не судите строго, я занимаюсь этим не регулярно и инфа в старых мозгах не держится... :sorry:

K.A.V.
21-11-2015, 23:40
по дескриптору окна определить имя процесса\исполняемого файла. »
Получаем сведения о процессе по HWND окна (http://kav-soft.ru/onlineHelp/NSIS/index.html?page=source%2Fcode_example%2FGetPIDFromWinHWND.html)

Salmo
22-11-2015, 00:25
Да... Пожалели меня... А я все пользуюсь старой версией справки, нет чтобы посмотреть, что она обновилась...

Salmo
27-11-2015, 20:58
Добрый вечер. Кто подскажет причину того, что при использовании примера из справки раздела Работа с процессами, ProcessFunc.nsh, этот код на Windows 8.1 x64 (в отличии от ХР) при убивании процесса explorer и повторном запуске командой Exec "explorer.exe", не приводит к загрузке Рабочего стола, а открывается только (и то редко, чаще остается голый фон) папка "Этот компьютер"? Такая же проблема у утилиты jack.exe при перезапуске оболочки (ну это к слову)

${KillProcess} "explorer.exe" $4
${If} $4 == 1
MessageBox MB_ICONINFORMATION|MB_OK "Процесс завершен [ explorer ]:$\n$$4 = $4"
Exec "explorer.exe" # запускаем проводник
${ElseIf} $4 == 2
MessageBox MB_ICONINFORMATION|MB_OK "Процесс не завершен [ explorer ]:$\n$$4 = $4"
${ElseIf} $4 == none
MessageBox MB_ICONINFORMATION|MB_OK "$$4 = $4$\nПроцесс[ explorer ] не найден"
${ElseIf} $4 == error
MessageBox MB_ICONINFORMATION|MB_OK "Process error"
${EndIf}

Продолжу...

Добавил полный путь в команду Exec "$WinDir\explorer.exe" и Рабочий стол загрузился. Посмотрел в Анвире разницу в командах запуска. При использовании системой переменной Path Explorer запускался через процесс svchost.exe, что приводило к открытию папки, а с полным путем прямой командой exe_шником от имени пользователя, что приводило к загрузке стола. Так что использовать Path не всегда предсказуемо...

MKN
10-12-2015, 18:13
NSIS 2.47 released December 8, 2015
http://sourceforge.net/p/nsis/news/2015/12/nsis-247-released/

Kopejkin
11-12-2015, 13:36
NSIS 2.48 Released December 10, 2015 (http://nsis.sourceforge.net/Download)

Serg866
12-12-2015, 16:06
А что у них за прикол обновлять вторую и третью версию НСИС?
Может кто знает чем отличаются 2.48 и 3.0b2?

Flix
12-12-2015, 17:25
Может кто знает чем отличаются 2.48 и 3.0b2? »
Если коротко:
3.хх — полноценная поддержка Unicode.
2.48 и ниже — только ANSI.

wolkow70
15-12-2015, 17:00
Salmo,
Я делаю так:

ExecWait 'taskkill /F /IM explorer.exe' $0
DetailPrint "taskkill exit: [ $0 ]"
Sleep 700
StrCmp $0 0 0 NotExec
${If} ${RunningX64}
${DisableX64FSRedirection}
Exec "explorer.exe"
${EnableX64FSRedirection}
${Else}
Exec "explorer.exe"
${EndIf}
NotExec:

ZaxBoys66
15-12-2015, 22:51
; Please someone help me with this script?
; How can put 1% percentage progress bar and function simultaneously.

!include nsDialogs.nsh
!include LogicLib.nsh
Var hInfo
Var hPBar

Function myTimer
InetBgDL::GetStats
${If} $2 = 0
${NSD_KillTimer} myTimer
${NSD_SetText} $hInfo "Completed. (Status=$0)"
SendMessage $hPBar ${PBM_SETRANGE32} 0 100
SendMessage $hPBar ${PBM_SETPOS} 100 0
Return
${EndIf}
IntOp $2 $2 + $1
StrCmp $4 "" 0 +2
StrCpy $4 "?"
${NSD_SetText} $hInfo "Status=$0$\nCompleted $1 of $2 files$\nDownloaded $3 of $4 bytes"
SendMessage $hPBar ${PBM_SETRANGE32} 0 $4
SendMessage $hPBar ${PBM_SETPOS} $3 0
FunctionEnd

Function myPage
nsDialogs::Create 1018
Pop $0

${NSD_CreateLabel} 0 0 100% 50% "Starting download..."
Pop $hInfo

${NSD_CreateProgressBar} 0 55% 100% 10u ""
Pop $hPBar

${NSD_CreateTimer} myTimer 1000
InetBgDL::Get /RESET "https://download.mozilla.org/?product=firefox-41.0.2-SSL&os=win&lang=en-US" "$PluginsDir\ff.exe" /END

nsDialogs::show
${NSD_KillTimer} myTimer
FunctionEnd

Page Custom myPage
Page InstFiles




© OSzone.net 2001-2012