現在「VOICEROID+ 結月ゆかり EX」にHSPから文字列を送信、話させようと試みています。
先駆者の方はどうやらWinAPI32とクリップボードを使用していているようで理解が追いつかなかったので
参考にしつつ、若干無理やりではありますがクリップボードを使わないhspextによるウィンドウキャプチャなどを使用することで喋らせることができました
#include "hspext.as" aplsel "VOICEROID+ 結月ゆかり EX" mes refstr if stat=1:dialog "Failed":end sdim aa aplobj "WindowsForms10.RichEdit20W.app.0.378734a" //入力フォームID if stat=1:dialog "Failed2":end aplstr "てすと" wait 1 aplkey 116 //F5キー送信、発話 wait 1 //aplobj "WindowsForms10.BUTTON.app.0.378734a" //aplobjの二回目だと認識できない? //if stat=1:dialog "Failed3":end
ところがこの状態だと文字列は追加されるのみであり、今後のことを考えると利便性に欠けます
そこでテキストボックスの中身をクリアにする方法を考えたのですが、hspextで参照した先ではobjprmのような方法はないようで
またaplkeyによる「Ctrl+AとBackspaceによる全選択消し」はどうもうまくいきませんでした
参考にさせていただいたコードを見ると、どうやらsendmsgを使用、つまりウィンドウメッセージを送信しているようですが
こちらもhspextで取得したハンドル名の取得方法がわからず、またコードをよく知らないため使えない状態です
そこで伺いたいのが
・hspextを通して取得した外部テキストボックスをクリアにする方法はあるか?
・hspextではキーボードショートカットは使えないのか?
・hspextで取得したウィンドウのハンドル名の取得方法はあるのか?
・もしかしてhspextだけでなくWin32APIでないと不可?
というところです
もしご存知の方がいらっしゃいましたら、よろしくお願いします
参考にさせていただいたページ
ttp://hsp.moe/(ここでinovia氏が配布されているものはゆかりEXでは動かないようです)
ttp://codetter.com/?p=624
ttp://yasu9780.hatenablog.com/entry/2016/01/22/122324