• ベストアンサー

VC++ .NETでWin32 APIの関数を呼び出すことは可能なのでしょうか?

Visual C++ 2003 .NETで、Win32 APIの関数をSystem.Runtime.InteropServices名前空間を利用して呼び出したく、チャレンジしておりますが、C#のやり方でやると記述エラーになります。 Google等で調べても、C#のものばかり出てくるのですが、VC++ .NETではWin32 API関数を呼び出すことはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

記載サイトのチェックが甘かったです。 C#についてでしたね・・・。 申し訳ございません。 codeprojectのほうにWin32APIの.NETでの利用方法らしきものが記載されていたので、URLを貼っておきます。 http://www.codeproject.com/KB/dotnet/Win32APICPlusPlustoDotNET.aspx

noname#86052
質問者

お礼

誠に、ヒントを有難うございました。 そして、新しいサイトの情報を感謝致します。 おかげさまで、動くようになりました! ちなみに、 [DllImport("user32")] extern bool MessageBeep(unsigned int uType); このような記述になりました。 英語ができるとプログラマーとしては本当に有利なのですね。 身に染みました。 本当に有難うございました。

その他の回答 (3)

回答No.3

ANo.1は単なる「本の紹介だけ」で、何の参考にもならないので、ここを読んで。 http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html それでも判らなければ再質問をどうぞ。 以下蛇足。 内容も確認せず、google検索で最初の方に出てきたページのURLを貼っただけでは、回答にはなりません>ANo.1の回答者さん

noname#86052
質問者

お礼

ご解答感謝致します。 私が参照していたのは、ご添付くださったURLの記事です。 しかし、No2の方への回答の通り、C++でそういった記載をしますと、構文エラーになってしまうみたいです。 C++は別の書き方があるようですが、具体的なサンプルのあるページが見付からなくて、果たしてC#専門なのかと行き詰ってしまっております・・・。

回答No.2

C++2003.NETでWin32開発は普通にできるとは思いますが、 質問者様の内容だと、.NETアプリケーションにおいてWin32APIを使用したいということでいいのかな?? 下記サイトに、望んでいることが書かれているのではないかと思います。 http://wisdom.sakura.ne.jp/programming/cs/cs65.html

noname#86052
質問者

お礼

ご解答有難うございます。 VC++の.NETで、Win32の関数を使用したい・・・といった主旨になります。 いただいたサイトのURLは、C#のようですね。 C#の記述をするとC++のほうでは構文エラーになってしまうみたいです。 [DllImport("user32.dll")] public static extern bool MessageBeep(BeepType beepType); 上記のような内容を自作クラスの内側に記述すると、「error C2143: 構文エラー : ';' が 'public' の前にありません。」「error C2144: 構文エラー : 'bool' は ':' によって先行されなければなりません。」といった記述のエラーになってしまうのです。 どうもC#とC++では使い方が違うようなのですが、今回の内容でGoogleを検索しても、C#のソースしか出てこなくて、こちらで質問させていただこうと思いました。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1
noname#86052
質問者

お礼

ご解答有難うございます。 そういった書籍があるのですね! 図書館で探してみようと思います。

関連するQ&A