diff ruby/rbdc/examples/win32msgbox.rb @ 0:0cfcc391201f

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:26:28 +0100
parents
children 5e159be89d73
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ruby/rbdc/examples/win32msgbox.rb	Thu Mar 19 22:26:28 2015 +0100
@@ -0,0 +1,22 @@
+#//////////////////////////////////////////////////////////////////////
+#
+#	win32msgbox.rb
+#	Copyright 2007-2014 Tassilo Philipp
+#
+#	Dyncall sample loading user32.dll on windows, listing all user32
+#   symbols and displaying a #	native windows message box by calling
+#   MessageBoxA(...).
+#
+#///////////////////////////////////////////////////////////////////////
+
+require 'rbdc'
+
+l = Dyncall::ExtLib.new
+if l.load('user32') != nil and l.syms_init('user32')
+	l.syms_each { |s| puts s }
+	puts l.syms_count
+	puts l.exists?(:NonExistant)
+	puts l.exists?(:MessageBoxA)
+	puts l.call(:MessageBoxA, 'IZZI)i', 0, 'Hello world from dyncall!', 'dyncall demo', 0)
+	# @@@ check puts on dyncall called function returning a void... crashes e.g. change above signature to IZZI)v
+end