こんにちは。私はwin32APIを勉強しているc言語初心者です。
私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。
・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。
・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。
これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。
No.1
- 回答日時:
素のWindowsの場合ヘッダーファイルなどSDK関連のファイルは添付されていないはずです
VC++2008なら プラットフォームSDKが同梱になっていたはずです
インストール段階でオプション扱いなのかもしれませんが ...
『PlatformSDK』といったフォルダーが VC2008をインストールしたフォルダーの『VC』フォルダーの中に無いか確認してみましょう
>>インストール段階でオプション扱いなのかもしれませんが ...
オプション設定をしていませんでした。今マイクロソフトのサイトに行ってPlatformSDKダウンロードしたら決しました。回答ありがとうございました!
No.2ベストアンサー
- 回答日時:
文章のあちこちが意味不明です。
>VC++でwin32APIを作っているのですが・・・
VC++でwin32APIを使って作っているのですが・・・
>・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。
まぁ気になるなら拡張子を.cに変えてください。これでただのC言語として扱われます。
>・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。
#includeを追加しているって意味なら問題なし。Win32APIのヘッダを自分のプロジェクト内にコピーしていたら邪道。自分のソースのヘッダファイルにWin32APIのヘッダの内容をコピーして使っているなら超邪道。将来バージョンアップで必ず問題を引き起こします。
『PlatformSDK』をちゃんとインストールしているなら#includeするだけです。
>>まぁ気になるなら拡張子を.cに変えてください。これでただのC言語として扱われます。
解決しました!プロジェクト内のメインソース「***.cpp」とVC++が自動追加する「stdafx.cpp」があるのですが、一度メインソースの方だけ拡張子を「***.c」に変えてビルドしたらエラーになった(あたりまえですね・・・(汗))ので「***.c」にしたらいけないのかな?と思っていました。両方「.c」にすれば良かったんですね。
ヘッダーファイルの件は、win32APIプログラムを作ってビルドしてみたら、includeフォルダの中に<window.h>というヘッダファイルが存在しない、という様なことを指摘されたので自分のPCのWindowsOS(XP)からwin32APIのヘッダファイル郡を探して、VC++でもヘッダファイルとして使えるように、OSから発見したヘッダファイル郡をVC++のincludeフォルダ内にコピーペーストして使えるようにした、という意味です(ちょっと分かりにくいかもしれません)。
って言うかPlatformSDKをインストールすれば良かったんですね。
分りました。回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript API連携のプログラミングについて(Typescript) 2 2023/05/03 11:00
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(プログラミング・Web制作) TwitterAPIを使用せずに自動ツイートする方法を知りたい。考え方としてはブラウザを擬似操作して 2 2023/02/02 17:16
- その他(プログラミング・Web制作) このpythonコードの意味教えて下さい! 2 2022/08/26 00:52
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- その他(コンピューター・テクノロジー) APIの意味 5 2022/08/07 11:19
- ハッキング・フィッシング詐欺 フィッシング詐欺についてです。先ほど佐川急便と見せかけた詐欺メールが届き、うっかり誘導に従ってApp 1 2022/10/17 19:45
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
プログラムに書かれる"%"記号の...
-
Int('1234') で、strをかんたん...
-
質問失礼します。 プログラム言...
-
rpa化する言語としてら何があり...
-
UNITY Float型の接尾辞fって
-
Excelの開発言語ってなんですか?
-
プログラミング言語の制作方法...
-
最新のプログラム言語を学ぶに...
-
UWSCはどのプログラミング言語?
-
楽しくて最高のプログラミング...
-
C言語とhtmlの違いを どな...
-
Pythonって何を意識した言語な...
-
VCとVC++
-
C++における継続行
-
プログラミング言語について
-
VBScriptで引数を省略したい場合
-
Delphiに詳しい方助けてくださ...
-
CとJAVA
-
accessという言語らしいのですが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
楽しくて最高のプログラミング...
-
Pythonって何を意識した言語な...
-
C言語とhtmlの違いを どな...
-
プログラムに書かれる"%"記号の...
-
COBOLでのNOT = の AND条件
-
C++ ってなんて読む?
-
質問失礼します。 プログラム言...
-
プログラミング言語の制作方法...
-
UNITY Float型の接尾辞fって
-
C言語って古いですか?
-
Int('1234') で、strをかんたん...
-
COBOLで文字タイプを数字...
-
TO_CHARで小数点以下がある場合...
-
最新のプログラム言語を学ぶに...
-
C++における継続行
-
vbaとc言語の関連性について
-
VBScriptで引数を省略したい場合
-
VBSでDim、Private、Publicの違い
-
HTMLとC++で、どんなホームペー...
おすすめ情報