Realmente da forma que foi feita não funcionava. Acredito que deve ser por duas razões:
1. No seu exemplo, ao executar o wapi -getmyhandle:myhand.txt (sem o path) deve estar criando o arquivo em alguma área restrita do Windows, isto porque o agendador de tarefas não está na pasta corrente. Então veja como que fiz no arquivo bat:
Código: Selecionar todos
@echo off
wapi -getmyhandle:C:\NOME_DA_PASTA_DO_PROGRAMA\myhand.txt
Observe que removí >nul que estava ao lado do echo off (não tem necessidade isso). Também observe que foi colocado o caminho completo onde está a aplicação.
2. No seu código, ao executar o !wapi -setbuttonx:off;Cnrhand na verdade o myhand não estaria sendo substituído pelo seu valor, isto porque está sendo executado na linha de comando. Então veja como que fiz no prg:
Código: Selecionar todos
Cnrhand=ALLTRIM(MEMOREAD("C:\NOME_DA_PASTA_DO_PROGRAMA\MYHAND.TXT"))
Roda:="WAPI -SETBUTTONX:off;"+Cnrhand
RUN (Roda)
Observe que o roda fica constituído por strings já concatenando a variável Cnrhand. Também observe que foi colocado o caminho completo onde está a aplicação e a criação do dbf não foi necessária, isso pode evitar maiores problemas, ao final de contas o txwapi.exe é para ler o arquivo MYHAND.TXT e não criar nada.
Aqui funcionou perfeitamente. Veja se resolveu.