ページ 11

他のAPのメニュー操作

Posted: 2008年7月08日(火) 19:29
by guest
他のAPのメニュー操作はどのようにすれば実装できるのでしょうか?
試しにSendMessageで送ってみましたが思うように動かないのです。
やはり、簡単には実装出来ないものなのでしょうか?

sub menusend()
dim hwin as HWND
hwin=FindWindow("Notepad","無題 - メモ帳")
ShowWindow(hwin,SW_HIDE)
ShowWindow(hwin,SW_RESTORE)
SendMessage(hwin,WM_CHAR,Chr$("E"),29)

'keybd_event(VK_MENU,0,0,0)
'keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0)
end sub

Posted: 2008年7月08日(火) 20:58
by konisi

コード: 全て選択

SendMessage(hwin,WM_CHAR,Chr$("E"),29)
が根本的に間違っているような気がします。

第3引数:キャラクターコードを渡すのでAsc("E")だと思います。
第4引数:29bit目という事は引数の値は1<<29です。

#送ったところで、プログラム側が対応していないと意味がないのですが。

Posted: 2008年7月08日(火) 22:35
by guest
konisiさん返信有難うでした。
>>#送ったところで、プログラム側が対応していないと意味がないのですが。
の意味が判らないのですが、("Notepad","無題 - メモ帳") は受け取らないのでしょうか?
要は単純にノートパッドのメニューを操作できれば良いだけなのですが・・・

Posted: 2008年7月08日(火) 22:48
by konisi
そのノートパッドがWindows標準の奴ならおそらく対応していると思いますが、
意図的にそれを無視するようにコーディングする事も出来たと思うので、一般的に使えない と言う意味です。

#ウインドウのタイトル名はちょくちょく変わるのでハンドルが捕まらない事もありますし。