アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。私はwin32APIを勉強しているc言語初心者です。
私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。

・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。
・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。

これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

A 回答 (2件)

素のWindowsの場合ヘッダーファイルなどSDK関連のファイルは添付されていないはずです



VC++2008なら プラットフォームSDKが同梱になっていたはずです
インストール段階でオプション扱いなのかもしれませんが ...
『PlatformSDK』といったフォルダーが VC2008をインストールしたフォルダーの『VC』フォルダーの中に無いか確認してみましょう
    • good
    • 0
この回答へのお礼

>>インストール段階でオプション扱いなのかもしれませんが ...
オプション設定をしていませんでした。今マイクロソフトのサイトに行ってPlatformSDKダウンロードしたら決しました。回答ありがとうございました!

お礼日時:2009/03/10 20:56

文章のあちこちが意味不明です。


>VC++でwin32APIを作っているのですが・・・
VC++でwin32APIを使って作っているのですが・・・

>・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。
まぁ気になるなら拡張子を.cに変えてください。これでただのC言語として扱われます。

>・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。
#includeを追加しているって意味なら問題なし。Win32APIのヘッダを自分のプロジェクト内にコピーしていたら邪道。自分のソースのヘッダファイルにWin32APIのヘッダの内容をコピーして使っているなら超邪道。将来バージョンアップで必ず問題を引き起こします。
『PlatformSDK』をちゃんとインストールしているなら#includeするだけです。
    • good
    • 0
この回答へのお礼

>>まぁ気になるなら拡張子を.cに変えてください。これでただのC言語として扱われます。
解決しました!プロジェクト内のメインソース「***.cpp」とVC++が自動追加する「stdafx.cpp」があるのですが、一度メインソースの方だけ拡張子を「***.c」に変えてビルドしたらエラーになった(あたりまえですね・・・(汗))ので「***.c」にしたらいけないのかな?と思っていました。両方「.c」にすれば良かったんですね。

ヘッダーファイルの件は、win32APIプログラムを作ってビルドしてみたら、includeフォルダの中に<window.h>というヘッダファイルが存在しない、という様なことを指摘されたので自分のPCのWindowsOS(XP)からwin32APIのヘッダファイル郡を探して、VC++でもヘッダファイルとして使えるように、OSから発見したヘッダファイル郡をVC++のincludeフォルダ内にコピーペーストして使えるようにした、という意味です(ちょっと分かりにくいかもしれません)。
って言うかPlatformSDKをインストールすれば良かったんですね。
分りました。回答ありがとうございました!

お礼日時:2009/03/10 20:48

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