独学ツクールブログ

ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。

<< 女子高バトル55 | main | RGSS奮闘記91:るどく >>

[ 制作雑記 ] あぴ

そんなこんなでWindows APIのお勉強開始。
だが。
RubyでのWin32APIについて説明しているサイトがまるで見つからないorz
というのも、WindowsAPIは基本的にC++辺りの言語で使うのが一般的であり、解説サイトも大抵がC++がC#での利用を前提としているからだ。

ということで、まずはRuby&WindowsAPIのサイトを探すところから。


ちなみに、一応少しだけできるようになったことがある。
require 'Win32API'
msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
msgbox.call(0, "test message", "test caption", 0)
こうすることで、「本文“test message”タイトルバー“test caption”OKボタンのみ」のメッセージウィンドウが出現する。
requireはまあいい。newも大丈夫だ。しかしnewの引数が謎。
ひとつめは呼び出すDLLの、ふたつめは呼び出す関数の名前らしい。みっつめは関数の引数の型で最後は関数の戻り値の型らしいのだが……まるで意味が分からん。
調べてみたところ、pはポインタiはint型を示すそうだが、とりあえず現時点では全く持って意味不明。ポインタとint自体については少し分かるが、ここでこのように指定する意味についてはさっぱりだ。
callメソッドについてはもう少しわかりやすい。ひとつめはウィンドウハンドル、ふたつめが本文、みっつめがタイトルバー、最後はボタンのタイプだ。ウィンドウハンドルについてはまだわからないがほかはとりあえず簡単だ。ボタンタイプについてはどうやらVBAと同じ数値であるらしい。例の「0」を「5」に変えると「再試行」と「キャンセル」のボタンになったからだ。実際に使う際には、VBAのようにそれぞれの値を定数に代入するのがいいだろう。


うーむ。
予想通りかなりハードルが高いな。
WinAPIを叩く、それ自体はそう難度の高いものではない。が、きちんと使うには覚えなくてはならないことが多すぎる。
まあ、プログラミングなんて大体そんなもんか。
とりあえずはもう少し調査の日々だな。


タグ:[制作雑記] [Windows API]

| 2012.01.06 Friday 20:58 | comments(0) | trackbacks(0) |

[ - ] スポンサーサイト

| 2018.02.20 Tuesday 20:58 | - | - |

コメント

コメントする






この記事のトラックバックURL

トラックバック

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728   
<< February 2018 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM