Forum: Ruby windows messagebox example(s)

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
rtilley (Guest)
on 2006-03-12 05:01
(Received via mailing list)
This is probably documented somewhere, but I thought ruby win32
programmers on the list may find this of use.

require 'Win32API'

def message_box
   # Create a Windows MessageBox.
   # 0 = 'OK' Button
   # 1 = 'OK' 'Cancel' Buttons
   # 2 = 'Abort' 'Retry' 'Ignore' Buttons
   # 3 = 'Yes' 'No' 'Cancel' Buttons
   # 4 = 'Yes' 'No' Buttons
   # 5 = 'Retry' 'Cancel' Buttons
   # 6 = 'Cancel' 'Try Again' 'Continue'
   #######################
   # 16 = 'OK' Button with 'Error' Symbol
   # ... SEE ABOVE EXAMPLES
   # 22 = 'Cancel' 'Try Again' 'Continue' Buttons with 'Error'
   #######################################
   # 32 = 'OK' Button with 'Question' Symbol
   # ... SEE ABOVE EXAMPLES
   # 38 = 'Cancel' 'Try Again' 'Continue' Buttons with 'Question'
   #########################################
   # 48 = 'OK' Button with 'Warning' Symbol
   # ... SEE ABOVE EXAMPLES
   # 54 = 'Cancel' 'Try Again' 'Continue' Buttons with 'Warning'
   ########################################
   # 64 = 'OK' Button with 'Info' Symbol
   # ... SEE ABOVE EXAMPLES
   # 70 = 'Cancel' 'Try Again' 'Continue' Buttons with 'Info'
   ######################################
   mb = Win32API.new("user32", "MessageBox", ['i','p','p','i'], 'i')
   mb.call(0, 'message', "title", 0)
end

x = message_box
Yoann G. (Guest)
on 2006-03-12 11:13
(Received via mailing list)
> This is probably documented somewhere, but I thought ruby win32
> programmers on the list may find this of use.
>
> require 'Win32API'
>
> def message_box
<bunch of constants>
>   mb = Win32API.new("user32", "MessageBox", ['i','p','p','i'], 'i')
>   mb.call(0, 'message', "title", 0)
> end
>
> x = message_box
>

I personnaly prefer using DL::Importable :

require 'dl/import'

module User32
        extend DL::Importable
        dlload 'user32'
        extern 'long MessageBox(long, char*, char*, long)'
end

User32.messageBox(0, 'i love dl', 'hello', 0)
Amit T. (Guest)
on 2010-10-19 17:58
but Gentlemen is there any to show this meassage box on client side??
Charles C. (Guest)
on 2010-10-21 20:06
(Received via mailing list)
On Tue, 19 Oct 2010 08:58:21 -0500, Amit T. 
<removed_email_address@domain.invalid>
wrote in <removed_email_address@domain.invalid>:

>but Gentlemen is there any to show this meassage box on client side??

A couple of things.

1. You're replying to a thread that is over four years old.  My
newsserver happens to have it, and I happened to have it flagged to
watch, but this is generally not a good way to get a question
answered.  You should start a new thread instead.

2. Your question makes no sense.  The discussion was about using the
Win32 API to display a message box.  The Win32 API is the OS API for
32 bit versions of Windows, so it is inherently client-side.
This topic is locked and can not be replied to.