В форме запускается CMD,комбинации клавиш Ctrl+c,Ctrl+v - работают. Но,если запустить ping X.X.X.X -t. Комбинация клавиш ctrl+c ничего не делает. Как исправить? Пробовал ControlSend отправлять в сам cmd,тоже не работает.
Код:
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <TabConstants.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <MenuConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <PluginInclude.au3>
#include <WinAPIEx.au3>
#include <APIConstants.au3>
#include <GUIEdit.au3>
Local $iFileMenu, $iFileItem, $sFilePath, $iStatusBar
Local $iHelpMenu, $iInfoItem, $iExit, $iRecentFilesMenu, $hGui
Local $iViewMenu, $iViewStatusItem, $iStyleitem, $iCancel, $iBtnOK
Local $iRadioitem1, $iRadioitem2, $iRadioitem3, $iRadioitem4, $settings, $iCombo, $cmd, $Paused
$GUI = GUICreate("Switch Configurator", 700, 740, 550, 300, BitOR($WS_MINIMIZEBOX,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_CLIPCHILDREN,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$PID = Run(@ComSpec)
$WWcmd = WinWaitActive("[class:ConsoleWindowClass]")
_WinAPI_SetWindowLong($WWcmd, $GWL_STYLE, $WS_POPUP)
WinSetState($WWcmd, "", @SW_SHOW)
_WinAPI_SetParent($WWcmd, $GUI)
WinMove($WWcmd, 0,0,200,700)
Func _GetHwndFromPID($PID)
$WWcmd = 0
$stPID = DllStructCreate("int")
Do
$winlist2 = WinList()
For $i = 1 To $winlist2[0][0]
If $winlist2[$i][0] <> "" Then
DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
If DllStructGetData($stPID, 1) = $PID Then
$WWcmd = $winlist2[$i][1]
ExitLoop
EndIf
EndIf
Next
Sleep(100)
Until $WWcmd <> 0
Return $WWcmd
EndFunc
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $iViewStatusItem ;
If BitAND(GUICtrlRead($iViewStatusItem), $GUI_CHECKED) = $GUI_CHECKED Then ;
GUICtrlSetState($iViewStatusItem, $GUI_UNCHECKED) ;
GUICtrlSetState($iStatusBar, $GUI_HIDE) ;
Else ; Иначе
GUICtrlSetState($iViewStatusItem, $GUI_CHECKED) ;
GUICtrlSetState($iStatusBar, $GUI_SHOW) ;
EndIf
Case $iStyleitem
If BitAND(GUICtrlRead($iStyleitem), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($iStyleitem, $GUI_UNCHECKED)
GUISetStyle($GUI_SS_DEFAULT_GUI)
Else
GUICtrlSetState($iStyleitem, $GUI_CHECKED)
GUISetStyle(BitOR($WS_BORDER, $WS_POPUP, $WS_SYSMENU))
EndIf
Case $iInfoItem
MsgBox(64, "Информация", "Настройка коммутоаторов V1.0", 0, $GUI)
Case $GUI_EVENT_CLOSE, $iExit
ExitLoop
Case $iBtnOK
$PID = WinGetHandle("C:\Windows\System32\cmd.exe","")
if Not $WWcmd Then
MsgBox(4096,'Сообщение','Окно не найдено,завершаем работу скрипта')
Exit
EndIf
EndSwitch
WEnd