|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
|
.: NSIS - все вопросы :. часть 2.
|
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
|
------- Отправлено: 12:02, 09-12-2012 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Ещё раз о таймере... Отсчитать время можно также с помощью функции timeGetTime
Эта функция якобы менее ресурсоёмкая, сравнительно с GetTickCount... OutFile "Elapsed Time-timeGetTime.exe" Section System::Call "winmm::timeGetTime() i .r0 ?r" Sleep 1200 System::Call "winmm::timeGetTime() i .r1 ?r" System::Free 0 IntOp $0 $1 - $0 IntOp $1 $0 / 1000 IntOp $0 $0 % 1000 IntOp $2 $1 / 60 IntOp $1 $1 % 60 IntOp $3 $2 / 60 IntOp $2 $2 % 60 MessageBox MB_OK "Elapsed Time $3 hours $2 min $1 sec $0 ms" SectionEnd которая извлекает текущее значение счетчика высокого разрешения. Только зачем это нужно на практике не ясно... Эту функцию чаще применяют для всякой Random_изации, что есть тоже не понятное явление для практики... Обычного подсчёта мне добиться не удалось... Синтаксис был такой ("основной" ,без вычитания...) : |
|
Последний раз редактировалось MKN, 25-02-2013 в 17:42. Отправлено: 17:34, 25-02-2013 | #291 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
System::Call "kernel32::QueryPerformanceCounter(*l.r1)i.R0" sleep 500 System::Call "kernel32::QueryPerformanceCounter(*l.r2)" System::Int64Op $2 - $1 pop $3 MessageBox MB_OK "$$2 = $2$\n$$1 = $1$\n$$3 = $3$\nвозврат QueryPerformanceCounter = $R0" IDOK Что функция возвратила в буфер - не понятно, может тут и числа быть с плавающей запятой, который NSIS не умеет работать (хотя стандарный плаг Math (для мат. вычислений) умеет. Дерзай! ![]() |
|
|
------- Отправлено: 19:45, 25-02-2013 | #292 |
|
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать возникла задача сделать небольшую програмку
при запуске просит выбрать букву диска съемного а далее работает с этим диском (меняет атрибуты всех файлов) как менять атрибуты файлов я догадываюсь а вот как определять букву диска не знаю. подскажите плииизз все таки не нашел как менять атрибуты |
|
Отправлено: 21:21, 26-02-2013 | #293 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать andryz80, Справочник по NSIS
GetDrives: перечисляем устройства хранения информации Locate: поиск файлов/папок и не только... Аттрибуты файлам устанавливаются командой SetFileAttributes Аттрибуты, которые можно установить: NORMAL, ARCHIVE, HIDDEN, OFFLINE, READONLY, SYSTEM, TEMPORARY ИХ можно комбинировать, т.е. для файла указывать сразу несколько аттрибутов, только разделить их нужно вертикальной чертой (пример выше) |
|
------- Отправлено: 21:36, 26-02-2013 | #294 |
|
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать а атрибуты папок какой командой менять?
|
|
Отправлено: 22:07, 26-02-2013 | #295 |
|
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать кстати может я велосипед изобретаю? планирую програмку сделать дл борьбы с вирусом, который на флешке прячет файлы.
может уже есть готовая? |
|
Отправлено: 23:00, 26-02-2013 | #296 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 23:10, 26-02-2013 | #297 |
|
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать почему бред?
вполне под силу исправить реестр (отключение возможности загрузки в защищенном режиме) почистить папки в которых прописывается вирус удалить на флешке папку с вирусом авторан и ярлыки изменить атрибуты папок вроде должно сработать |
|
Отправлено: 23:36, 26-02-2013 | #298 |
|
Новый участник Сообщения: 11
|
Цитата kotkovets:
SOS! Мне надо как-то привести к общему знаменателю кусок кода, только никак не могу собразить как это заставить перейти на Start: - после нажатия OK, а без нажатия - на Exit:, если функция в любом случае возвращает 1, нажимай ОК или не нажимай: !include "MUI.nsh"
SilentInstall Silent
OutFile "Install.exe"
!insertmacro MUI_LANGUAGE Russian
!macro MsgBox out text title flags
System::Call "user32::MessageBoxTimeout(i $HWNDPARENT, t '${text}', t '${title}', i ${flags}, i 0, i 5000) i.s"
Pop ${out}
!macroend
Section "MessageBox"
!insertmacro MsgBox $0 "Продолжим установку?" "Оконо закроется через 5 сек." 0x40|0x40
Start:
nsDialogs::SelectFileDialog open "" "Приложение (*.exe;*.msi)|*.exe;*.msi|Файлы (*.reg;*.bat;*.cmd;*.js;*vbs)|*.reg;*.bat;*.cmd;*.js;*vbs|"
Pop $1
StrCmp $1 "" Cancel
MessageBox MB_OK|MB_ICONINFORMATION "Выбран файл $1"
ExecWait "$1"
Goto Retry
Cancel:
MessageBox MB_RETRYCANCEL|MB_ICONQUESTION "Выберите файл." IDRETRY Start
Retry:
MessageBox MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION "Установим что-то ещё?" IDYES Start IDNO Exit
Exit:
SetAutoClose true
SectionEnd
Цитата MKN:
|
||
|
Последний раз редактировалось Waterclo, 27-02-2013 в 12:25. Отправлено: 12:04, 27-02-2013 | #299 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Waterclo,
Для различия кодов возврата надо использовать сообщение типа 0x1 (или иное "несколькокнопочное", с учётом конкретных кодов возврата) !include "MUI2.nsh"
!insertmacro MUI_LANGUAGE "English"
OutFile "MsgBoxTimeout.exe"
!macro MsgBox out text title flags
System::Call "user32::MessageBoxTimeout(i $HWNDPARENT, t '${text}', t '${title}', i ${flags}, i 0, i 2000) i.s"
Pop ${out}
!macroend
Section
!insertmacro MsgBox $0 " Текст сообщения " " Заголовок " 0x40|0x1
;MessageBox MB_OK "Return Code: $0"
${If} $0 != 1
MessageBox MB_OK "Прошло 2 с. Значит Exit или ещё чего там..."
Quit
${EndIf}
MessageBox MB_OK "нажали ОК, значит делаем то то"
SectionEnd
А вешать таймер отсчёта на кнопку в сообщении - хлопотно и наверняка громоздко. И стоит ли оно того... Может конечно кто и заинтересуется и напишет плаг, но маловероятно... |
|
Последний раз редактировалось MKN, 27-02-2013 в 17:01. Отправлено: 16:49, 27-02-2013 | #300 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
| [архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
| Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
| Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 | |
|