質問

Windowsフォームを使用したC#アプリケーションがあり、社内ソフトウェア(MySoftware)を使用してファイルの開くことを自動化する必要があります。以下のように次のコードがあります。私の理解では、WinWaitactive()は、コードが次の行に移動して指定されたXMLファイル(以下のコードで6行目)を開く前に、社内ソフトウェアウィンドウ(MySoftwareWindow)をクリックしてアクティブにするまで待機する必要があります。代わりに、何が起こっているのかは、社内ソフトウェアをアクティブにする前にコードの次の行が実行され、現在のアクティブウィンドウで開いたボタン(下のコード6行)を実行することです。この場合、C#アプリケーションフォームです。 。ここで何がうまくいかないと思いますか?ありがとう!

 aut = new AutoItX3Lib.AutoItX3Class();
 aut.WinWaitActive("mySoftwareWindow", "", 1);
 aut.WinMenuSelectItem("mySoftwareWindow", "", "&File", "&Open", "", "", "", "", "", "");
 aut.Send("C:\\test.xml", 0);
 //click the Open button
 aut.Send("!o", 0);
 aut.Send("{ENTER}", 0); 
役に立ちましたか?

解決

タイムアウトはです とても 短い、1秒では不十分です。最悪のケースの少なくとも10倍のタイムアウトを行うには、ここで少なくとも20回行きます。 関数の返品値を確認してください。障害が返された場合、継続するポイントはありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top