web-dev-qa-db-ja.com

Win32 APIについて知るにはどうすればよいですか?

Win32 APIを使用できるようにしたいのですが、最近、user32.dllからの関数を必要とする多くのタスクを実行する必要があるため、学習しようとしてGoogleを使っていますが、ことは:そこにあるすべてのチュートリアルはそれについてあり、特定のことを行う方法をあなたに教えるだけです。 Win32 APIを通じてMessageBoxを表示するようなものですが、実際にはWin32フレームワークを学ぶことはできません。

では、実際にどうやってそれを学ぶのですか?どのようにしてすべての機能を知っていますか?マネージライブラリを使用すると、特にIntelliSense、オブジェクトブラウザーなどを提供するVisual Studioを使用すると非常に簡単ですが、Win32 APIは非常に厄介です(少なくともC#開発者の観点から)。

これまで使用してきた方法は、Googleでタスクを検索して、Win32 APIで実行できることを確認して(私にはわからなかった)、関数をコピーして使用するだけです(それは私にとって恐ろしいことです)。私は多くの「力」を失っていると感じています)。

それで、どうやってそれを学ぶことができますか?

明確にするために:私は本に興味がありません。残念なことに、プロジェクトにこの知識が必要であり、本に投資する時間がありません。でも答えは出ました。
皆さん、ありがとうございました。

27
MasterMastic

MSDNからWinAPIリストを見つけることができます。以下は、Windowsアプリケーションプログラミングインターフェイス(API)のリファレンスコンテンツのリストです。 http://msdn.Microsoft.com/en-us/library/ff818516(v = vs.85).aspx

Visual Basic Win API関数を介していくつかのことを学ぶことができます。例は非常に簡単に理解できます。次に、コードをC#に変換できます。

55カテゴリに598 Visual Basic Windows API関数があります http://www.ex-designz.net/api.asp

8

まず、Win32はサブシステムのセットです。あなたはおそらくそれらすべてを簡単に学ぶことはできません。優先順位を付けるだけです。

しかし、あなたが学びたいことを言えるようにするには、おそらく全体像が必要です。 Win32にアプローチする最善の方法は、Charles Petzoldによる "Programming Windows"を使用することだと思います。読みやすく、理解しやすいです。自分でピックアップして実験できる例はたくさんあります。

基本的なことを学んだ後は、Mark Russinovichの「Microsoft Windows Internals」をお勧めします。かなり高度ですが、Windowsコアの内部を理解することができます。

3
Wiktor Zychla

P/Invoke を使用してC#でWin32 DLLを呼び出すことから始めるべきだと個人的に感じています

これにより、c#でpinvokeを使用してWINAPIについて知る必要がある基本的な知識のほとんどが得られます。また、MSDNが提供するWINAPI関数のオフラインバージョンも持っていましたが、どこからダウンロードしたのか思い出せません。

最後に、基本的な簡単に理解できるWINAPIコードを入手してください。これには http://mwinapi.sourceforge.net/ があります。

EDIT:ドキュメントの オフラインバージョンは、phatocde からダウンロードできます。

3
Chibueze Opata

Win32 API-ヘルプドキュメントとサンプルは、Windows SDKダウンロードに含まれている必要があります。 http://www.Microsoft.com/download/en/details.aspx?id=8279

2
Min Min

theForgerのWin32 APIプログラミングチュートリアル もご覧ください。

win32 APIでの開発を可能な限り迅速かつ明確に開始しようとします。

1
Bill