Цитата Vincent7:
окно консоли нужно чтобы эмулировать нажатие кнопки и посылать туда данные. »
|
Вы вот тут пишите своими загадками, а лично я не понимаю, чего вы в итоге хотите добиться, какой функционал вам нужно реализовать?
Зачем эмулировать нажатие клавиши в консоли?
Зачем посылать данные в командную строку?
Если вы бы с самого начала описали, что имеете в наличии (программы/средства и т.д.) и что конкртено со всем этим нужно сделать - мы бы уже сидели и думали, как это реализовать, так проще, поверьте, чем по кускам пытаться набросать код сомнительного функционала...
Цитата Vincent7:
Разве со скрытой командной строкой такое возможно? »
|
Если вы не видите окна - это не означает, что его не существует
Звучит, конечно, глупо, но для программирования - это норма
читать дальше »
Код:
!include "WinMessages.nsh"
Caption "PressKey.exe"
OutFile "PressKey.exe"
Function .onInit
# Украденный код у MKN start
System::Call 'kernel32::AllocConsole(i -1)'
System::Call 'kernel32::GetStdHandle(i -11)i.r0'
# Украденный код у MKN end
FindWindow $1 "ConsoleWindowClass" "$EXEPATH"
IsWindow $1 0 -1
FileWrite $0 "TEST started...hide window after 3 seconds"
Sleep 3000
ShowWindow $1 0
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 !!! ================="
FileWrite $0 "$\n$\nwindow is shown after 3 seconds"
FileWrite $0 "$\nthis test will close after 10 seconds..."
Sleep 3000
ShowWindow $1 1
StrCpy $2 11
st:
intop $2 $2 - 1
StrCmp $2 -1 endtest 0
FileWrite $0 "$\n$\t$\t$\t$2..."
Sleep 1000
goto st
endtest:
MessageBox MB_OK|MB_ICONINFORMATION "Тест завершен"
quit
FunctionEnd
Section
SetAutoClose true
SectionEnd