SlickEditに別のウィンドウを制御させたい。
一部のウィンドウのAPIを使用してこれを行う方法はわかっていますが、SlickEditでこれを実装する方法がわかりません。Slick-C(SlickEditのマクロ言語)が使われると思います。Slick-Cでいくつかの制限されたコーディングを行いましたが、ウィンドウAPIを実行できるかどうかわかりません。
これが私がWindowsAPIを使ってやりたいことです。
- BringWindowToTop(これにより他のウィンドウが一番上に表示されます)
- SetForegroundWindow
- SendKeyを使用して、他のウィンドウでF7を押すことをシミュレートします。
- SendKeyは、WScript.Shellのメソッドです。
それはかなり簡単に聞こえます、私が知る必要があるのはSlickEditでそれを行う方法だけです。
アップデート:
私は、 jussijが概説した概念をほとんど使用しましたが、PL/Bと呼ばれる言語に精通しています。私はすでにこれらのAPIのほとんどを別のプロセスで機能させていたので、この新しいプログラムを作成するのは非常に簡単で、プログラムを実行するためにSlickEditシェルを使用しました。
SlickEdit内で必要だったものは次のとおりです。
_command BenShellSAV1P198() name_info(','VSARG2_MACRO|VSARG2_MARK|VSARG2_REQUIRES_MDI_EDITORCTL|VSARG2_READ_ONLY)
{
save_all();
shell("T:\\Sunbelt\\CODE\\plbwin.exe -h -i PlbBenTDSm.INI SAV1P198.PLC","N");
}
次に、そのマクロをホットキーにバインドすると、すべて正常に機能します。