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