プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (4件)

記載サイトのチェックが甘かったです。


C#についてでしたね・・・。
申し訳ございません。

codeprojectのほうにWin32APIの.NETでの利用方法らしきものが記載されていたので、URLを貼っておきます。
http://www.codeproject.com/KB/dotnet/Win32APICPl …
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/19 14:13

ANo.1は単なる「本の紹介だけ」で、何の参考にもならないので、ここを読んで。


http://www.atmarkit.co.jp/fdotnet/dotnettips/024 …

それでも判らなければ再質問をどうぞ。

以下蛇足。

内容も確認せず、google検索で最初の方に出てきたページのURLを貼っただけでは、回答にはなりません>ANo.1の回答者さん
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/19 13:13

C++2003.NETでWin32開発は普通にできるとは思いますが、


質問者様の内容だと、.NETアプリケーションにおいてWin32APIを使用したいということでいいのかな??

下記サイトに、望んでいることが書かれているのではないかと思います。
http://wisdom.sakura.ne.jp/programming/cs/cs65.h …
    • good
    • 0
この回答へのお礼

ご解答有難うございます。
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#のソースしか出てこなくて、こちらで質問させていただこうと思いました。

お礼日時:2009/05/19 13:11

このあたりを参考になさっては?



http://www.amazon.co.jp/Visual-C-NET%E3%81%A7%E3 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/19 13:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!