From the Help file for ControlSend.
This also applies to GUIs not created by the script itself. As a rule of thumb, I always use ControlFocus before "Control" commands. This should work for you.
#include <MsgBoxConstants.au3>
Example()
Func Example()
Run("notepad.exe a.txt","", @SW_HIDE)
WinWait("a.txt - Notepad")
WinSetState("a.txt - Notepad","", @SW_HIDE)
Sleep(1000)
ControlFocus("a.txt - Notepad", "", "Edit1")
Local $value = ControlSend("a.txt - Notepad", "", "Edit1", "^a")
Sleep(2000)
MsgBox($MB_SYSTEMMODAL, "AutoIt Example", $value)
Sleep(1000)
ControlFocus("a.txt - Notepad", "", "Edit1")
Local $value2 = ControlSend("a.txt - Notepad", "", "Edit1", "^c")
Sleep(2000)
MsgBox($MB_SYSTEMMODAL, "AutoIt Example", $value2)
Sleep(1000)
Run("notepad.exe","", @SW_HIDE)
WinWait("Untitled - Notepad")
WinSetState("Untitled - Notepad","", @SW_HIDE)
Sleep(2000)
ControlFocus("Untitled - Notepad", "", "Edit1")
Local $value3 = ControlSend("Untitled - Notepad", "", "Edit1", "^v")
Sleep(1000)
MsgBox($MB_SYSTEMMODAL, "AutoIt Example", $value3)
Sleep(1000)
WinSetState("Untitled - Notepad","", @SW_SHOW)
WinSetState("a.txt - Notepad","", @SW_SHOW)
EndFunc
Adam