るりまサーチ

最速Rubyリファレンスマニュアル検索!
44件ヒット [1-44件を表示] (0.084秒)
トップページ > クエリ:I[x] > クエリ:message_loop[x]

別のキーワード

  1. etc sc_message_passing
  2. etc sc_2_pbs_message
  3. getoptlong error_message
  4. mkmf message
  5. win32ole message_loop

ライブラリ

クラス

キーワード

検索結果

WIN32OLE_EVENT.message_loop -> () (21119.0)

Windowsのメッセージポンプを実行します。

...Windowsのメッセージポンプを実行します。

message_loop
メソッドは、Windowsメッセージがキューイングされている限りメッ
セージの読み出しとディスパッチを実行します。

COMのスレッド間/プロセス間通信はスレッド内で呼び出...
...ためにWindowsメッセージを利用します。このため、ほとんどのイベント処理は
Windowsメッセージを読み取ってディスパッチすることで通知されます。

i
e = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowser...
...o |disp, uri|
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}" #=> ダウンロード=http://www.ruby-lang.org/ja/downloads/ など
end
disp.quit
b = true
end
i
e.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if b
WIN32...

WIN32OLE_EVENT (6006.0)

OLEオートメーションサーバからのイベント通知を制御するクラスです。

...ト」と呼びます。WIN32OLE_EVENTを利用
すると、ブロックの形式でイベントを受け取るメソッドをサーバへ登録できま
す。

=== サンプルコード

i
e = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')...
...o |disp, uri|
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}" #=> ダウンロード=http://www.ruby-lang.org/ja/downloads/ など
end
disp.quit
b = true
end
i
e.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if b
WIN32...
...OLE_EVENT.message_loop
end...

WIN32OLE_TYPE#default_event_sources -> [WIN32OLE_TYPE] (3118.0)

型が持つソースインターフェイスを取得します。

...IN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大でも1インターフェイスです。ソースインターフェイスを持
たない場合は空配列を返します。

tobj = WI...
...'Microsoft Excel 14.0 Object Library', 'Worksheet')
tobj.default_event_sources.map {|intf| intf.name} #=> ["DocEvents"]

WIN32OLE_EVENT.newでインターフェイス名を指定しない場合は、ここで
返されたインターフェイスが選択されます。

次のサンプルは、IE...
...のnaviaget2メソッドによってどのようなイベントが通知さ
れるかを、実際にメソッド呼び出し(=イベント通知)をトレースして調べるプ
ログラムです。イベントを受け付けるために、
WIN32OLE_EVENT.message_loopの呼び出しが必要...

WIN32OLE_EVENT#handler=(obj) -> () (3006.0)

イベント処理を実行するオブジェクトを登録します。

...thod_missingが呼ばれます。イベン
ト名は大文字小文字を区別するため、正確な記述が必要です。

@param obj イベントに対応するメソッドを持つオブジェクト。イベント受信を
解除するにはnilを指定します。

class IeHand...
...ler
def initialize
@completed = false
end
attr_reader :completed
def onDocumentComplete(disp, uri)
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}"
end
@completed = true
end
def method_missing(id, *args)...
...inspect}"
end
end

i
e = WIN32OLE.new('InternetExplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
event.handler = IeHandler.new
i
e.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if event.handler.completed
WIN32OLE_EVENT.message_loop
end
i
...