[#39989] TCPSocket.new でスレッドが止まる。 — take_tk <ggb03124@...>

たけ(tk)です。

15 messages 2004/09/02

[#40018] yaml.rbとdate.rbを組み合わせて使った際の問題 — "Keisuke Minami" <keisuke@...>

こんにちは。三並と申します。

14 messages 2004/09/07
[#40020] Re: yaml.rbとdate.rbを組み合わせて使った際の問題 — IWATSUKI Hiroyuki <don@...> 2004/09/07

岩月と申します。

[ruby-list:40008] Re: VBのSendKeyと同じことをしたいのですが...

From: Hideyuki Suzuki <hide7d.suzuki@...>
Date: 2004-09-04 22:55:21 UTC
List: ruby-list #40008
 Hideyuki Suzukiです。

原因はわかりませんが、次のようにすると起動できると思います。
1.systemによる起動をshell.Runに変更する。
2.SendKeyの前にAppActivateを実行する。
3.アプリケーションの起動後にsleepで時間を置く。

プログラム1では
shell = WIN32OLE.new("WScript.Shell")
shell.Run("notepad.exe")
sleep(0.1)
shell.AppActivate "無題 - メモ帳"
shell.Sendkeys("{CAPSLOCK}") 
require 'win32ole'

プログラム2では
shell = WIN32OLE.new("WScript.Shell")
shell.Run("AcroRd32.exe") 
sleep(1)
shell.AppActivate "Adobe Reader"
shell.SendKeys("%f")

>oyaです。
>試験的に簡単なプログラムを作ろうとしているのですが
>うまくいきません。どこが間違っているのでしょうか?
>#プログラム1 
>require 'phi'
>require 'win32ole'
>form = Phi::Form.new
>
>shell = WIN32OLE.new("WScript.Shell")
>system("notepad.exe")
>
>shell.Sendkeys("{CAPSLOCK}") #大文字入力への切り替えはOK
>shell.SendKeys("{%F}") #ファイルメニューは表示されない
>
>form.show
>Phi.mainloop
>
>#******************************
>#プログラム2
>require 'phi'
>require 'win32ole'
>form = Phi::Form.new
>
>shell = WIN32OLE.new("WScript.Shell")
>system("AcroRd32.exe") #AcrobatReaderは起動されず
>
>shell.SendKeys("{%F}")
>
>form.show
>Phi.mainloop
>
>


In This Thread