I can't help you, I use only emulator that can be use in a "multiple emulation arcade machine" and not possible with the DS because of dual screen, touchscreen, ect ...
But with autoit nothing is impossible, you can use emulator that don't use command line for exemple.
you can simulate F1 with the command
send("{F1}")
for "on top problem"
$PID = Run ( "application.exe ")
while _WinWaitActivePID($PID)
sleep(500)
wend
;------------------------
Func _WinWaitActivePID($iPid)
While 1
Local $list = WinList()
For $i = 1 To $list[0][0]
If $list[$i][0] <> "" And IsVisible($list[$i][1]) Then
If WinGetProcess($list[$i][1]) = $iPid AND WinActive($list[$i][1]) Then Return $list[$i][0]
EndIf
Next
WEnd
EndFunc
Func IsVisible($handle)
If BitAND(WinGetState($handle), 2) Then
Return 1
Else
Return 0
EndIf
EndFunc