- 締切済み
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)だと致命的エラーらしきものが出るようになりました。 分かるかたいますか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
回答No.1
Win32APIは使ったこと無いので正確なのはわかりませんが。 32bitでOK,64bitでNGだと、Win32APIモジュールかPerl自体が32bit版とかいうことはないでしょうか? このようなモジュールだと、一部にネイティブコードが使われていると思います。それが対応できてないのではないか、と予想されます。
お礼
ありがとうございます。 コピーではなくmakeされてるはずですのでそれはないような気がするのです。 例えば、APIからメモリを取得したりなどの動作はできます。