Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата MKN:
К примеру, можно простой заменой одного на другое, в ярлыке установить свойство - "запускать от имени администратора" »
Я в такие тонкости не вникал и не знаю о таких возможностях, мне NSIS нужен только для написания SFX Creator'а, я на NSIS ни одного инсталляционного пакета не собрал , не считая все те тесты, которые были сделаны мной в момент изучения возможностей NSIS

Команы FileReadByte и FileWriteByte не то в оригинальной справке к NSIS? Я просто инглиша не знаю, а гугл не особо помогает в техническом переводе правильно понять смысл...
Я, честно сказать, вообще не в теме, т.к. такими вопросами не занимался...HEX, байты и т.д. мне не интересны
не то?, там наш коллега amel27 советует DD


---
Цитата Vincent7:
этот код создает второе окно а в мое не записывает
И не должен...Какой смысл вам давать готовые коды, если вы всё равно не желаете понимать ни смысла функций ни то, что и как писать? Зачем тогда вы пришли программировать без желания обучаться и узнавать что-то новое?
Если вам банально лень - то мне тоже лень сидеть и писать для вас готовые коды, в которых вы даже не желаете разбираться, ctrl+c => ctrl+v всем нравится
Чтобы вам писать в уже существующий процесс, вам нужно вызывать дополнительно AttachConsole и посылать этой функции PID процесса

Это последний готовый код для вас от меня, до тех пор, пока у вас не появится желание самому что-то делать, разбираться и пока не научитесь не писать всё подряд в свой код
читать дальше »

Код: Выделить весь код
Caption "PressKey.exe"                        
OutFile "PressKey.exe" 


Function .onInit
FindWindow $0 "ConsoleWindowClass" "Администратор: $SYSDIR\cmd.exe"
 ; Ищем консольное окно, в котороее будем отправлять информацию

 IsWindow $0 +2 0
; Если окно найдено - продолжаем, если нет - сообщение с ошибкой и закрытие приложения
MessageBox MB_OK|MB_ICONSTOP "Окно не найдено" idok exit

System::Call 'user32::GetWindowThreadProcessId(ir0, *l.r0)'
; По найденному handle окна определяем PID процесса, к которому принадлежит окно

System::Call 'kernel32::AttachConsole(ir0)i.r0' 
; В команду AttachConsole послыаем PID процесса, чтобы писать именно в нашу командную строку

System::Call 'kernel32::GetStdHandle(i -11)i.r0' 
; Получаем дескриптор ввода данных консоли

FileWrite $0 "TEST started...hide window after 3 seconds"
 FileWrite $0 "$\n$\n$\n$\n================= Hello, Vincent7 !!! ================="
 FileWrite $0 "$\n$\n================= Hello, Vincent7 !!! ================="
 FileWrite $0 "$\n$\n================= Hello, Vincent7 !!! ================="
 FileWrite $0 "$\n$\n================= Hello, Vincent7 !!! ================="
; Записываем информацию в консоль

MessageBox MB_OK|MB_ICONINFORMATION "Готово"
exit:
quit
FunctionEnd


я лучше пойду покушаю бетку SFX Creator'а своего писать

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Отправлено: 19:32, 01-12-2013 | #817