• 締切済み

API

use Win32::API; my $MessageBox = Win32::API->new("user32", "MessageBoxA", "NPPN", "N"); $MessageBox->Call(0, "Hello, World!\n", "Message", 0); #------------------------------ my $test = Win32::API->CreateWindowEx("user32", "MessageBoxA", "NPPN", "N"); #------------------------------ 以上の記述はXP(32bit)だと動いたと思うのですが、 7(64bit)だと致命的エラーらしきものが出るようになりました。 分かるかたいますか?

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

Win32APIは使ったこと無いので正確なのはわかりませんが。 32bitでOK,64bitでNGだと、Win32APIモジュールかPerl自体が32bit版とかいうことはないでしょうか? このようなモジュールだと、一部にネイティブコードが使われていると思います。それが対応できてないのではないか、と予想されます。

TANUKIA
質問者

お礼

ありがとうございます。 コピーではなくmakeされてるはずですのでそれはないような気がするのです。 例えば、APIからメモリを取得したりなどの動作はできます。

関連するQ&A