「プログラミング/共通知識」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
{{Cite}} etc.
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎Win32 API: WinMain 関数 は wWinMainの説明が不完全だったので補う
タグ: 2017年版ソースエディター
257 行
==== Win32 API ====
Win32 APIを使うには、初心者には、Visual C++ で「Windowsデスクトップアプリケーション」というのを選ぶしかないでしょう。(もしかしたらC#などでも出来るかもしれませんが、初心者にはかえって複雑でしょう。)なお、Visual Studio をインストールしただけではVisual C++はインストールされてないので、事前にVisual Studio の設定画面などから Visual C++ をインストールする必要があります。
Windows95の発売されたころにマイクロソフトが開発していたプログラム言語がVisual C++ですので、これからWin32APIWin32 APIを学ぶならVisual C++ を使うのが一番、マニュアルなども入手しやすくて初心者むけでしょう。
一般のVisual C++入門書でよく紹介される「CLR」では、よほどトリッキーなことをしないかぎり、機能が限定的であり、高度なアプリを作れません。
どれが「Windowsデスクトップアプリケーション」か選択画面では分かりづらいかもしれませんので、実際にそれっぽいのを選んでみて、選択決定後に表示されるソースファイルの20行目あたりに「int APIENTRY wWinMain(_In_ HINSTANCE hInstance,」というのがあれば、それが Win32 APIの開発環境です。
「wWinMain」は、昔の[[C言語|標準C言語]]でのMainmain関数に相当します。なお昔は「WinMain 関数 は wWinMain 書かれ同じですが、コマンドライン引数は ANSI 文字列とし渡され、Unicode バージョンが推奨されした。す<ref>{{Cite web
|url=https://docs.microsoft.com/ja-jp/windows/win32/learnwin32/winmain--the-application-entry-point
|title=WinMain: アプリケーション エントリ ポイント
|date=2021/09/14
|accessdate=2021/10/21
|publisher=Microsoft
}}</ref>。
Visual Studio で、アプリ作成時にダイアログで質問される、アプリの種類のうち、C#の冒頭のほうにある、.NET Framework 関連の開発環境では、じつは、高度なアプリを作るのには、あまり使えません。
そもそもC#に、Win32 API の開発環境がありません。Visual Studio でC言語系を使う場合、Win32 API を使うには、かならず C++ などの Win32 APIに対応した言語を選ぶ必要があります。