2009-03-19 4 views
4

私はこれを聞いて少し恥ずかしいです、あなたが知っているので、私は長い間、非常に抗MSでした。私はVisual Studioの外で暮らしているほど幸運でした。私が年を重ねるにつれ、試してみたいことがいくつかあり、非常に正直なところです。このQ &サイトは私にインスピレーションを与えてくれました。私はVSとWindows Developmentがそれほど吸わないと分かります。ちょっと、すべてのC#がJavaの後に設計された後、Javaは子言語からいくつかの機能を元に戻しています。そして、Windows Vistaは、Windowsが登場して以来、最初のまともなバージョンです。ハードコアJavaの男のためのWindows開発

とにかく、聴衆の中にいずれかの3000のユーザーに、あなたは上記のすべてのがらくたを削除し、以下に保つことがあります。

あなたは、強力なJavaの背景から来るのWindowsの開発を学ぶことを目的としたリンク、リソース、チュートリアルを持っていますか?

私はWindowsの操作(実際のウィンドウ、フレーム、名前の取得、一番重要なアプリケーションの取得、プログラマチックなサイズ変更など)とWindows Search APIでは他のマイナーAPIの間で非常に興味があります。私の興味は結局のところ、JNIやJNAを使ってJavaアプリケーションにそれらを統合することです。

私はMSDNで多くのチュートリアルとリンクを読んでいます。実際にはAPI自体を理解しています。私はC#とC++ Expressのコピーを手に入れ、基本的なサンプルを実際に走らせています。

私の問題は、アーキテクチャ全体の全体像を得られないということです(なぜなら、それはが大きいので、です)。クラスには何百ものメソッドがありますが、それらを呼び出すのは私には明らかではありません。 (私はJavaのJavadoc APIを最初に見たときにこれと同じ意見を持っていました。)基本的な共通オブジェクトはわかりません。たとえば、HWCD(またはそのようなもの)が、非常にウィンドウハンドラであることが判明しましたが、チュートリアル私はそれを与えてくれたことを読んでいます(WHCDのように、またはこれまでのことは、非常にわかりやすい名前でした)。

Win32、COM、COM +、DCOM、Windows SDK ADO、その他のテクノロジの違いを正確にはわかりません。私は、ある程度、そして常識的にそれらを知っていますが、チュートリアルやAPIを読んでいるうちに混乱します。私はいくつかの「初心者」のチュートリアルを手に入れようとしましたが、Visual Basicを使って絶対0のプログラマーを目指しています(THYが長年にわたってMSから離れていた主な理由でした)

私は.NETフレームワーク、マネージコード、アンマネージドコード、C#基本、CLRなどを理解しています。

ので、MS開発に関するすべての私の暴言と正直な意見の後:

のWindowsのAPI自体に(プログラミング)以外全くの初心者が、絶対的な新しいのためのWindowsの開発を学ぶための最良の方法は何ですか?良い道は何でしょうか?

答えて

2

The Petzoldはあなたの新しい親友です。MSDNは新しいJavadocsです。あなたがそれに潜り込む前に、あなたがCをよく理解していることを確認してください。あなたが興味を持っているならば、Forgerは素晴らしいbeginner tutorialを持っています。学習中に遊ぶのに最適な場所はefnet ircの#WinProgです。

+0

私は、.Net開発に集中しているならば、Petzoldはほとんど無関係であるべきだと思います。 –

+0

私はMSDNのページ(http://msdn.microsoft.com/en-us/library/bb266518(VS.85))をもう一度やってもらいたいと思っています。 aspx)私はそれを呼び出すためにJNAを使用する方法を理解できません。 :S:S –

+0

@ジョンT:ありがとうございました。 –

1

私は代替経路を提案するつもりです(抵抗が少ない)。まだWPFを見たことがありますか?これは新しいGUIツールキットで、セクシーなインターフェース(Vistaにあるようなもの)を作成することができます。

これは、高度な開発を容易にしながら、興味をそそるのに十分かもしれません。そこからWin APIのジャングルにジャンプできます(選択した場合)。

ちょっと考えてみてください。その道は私にとってもっと面白いでしょう。もちろん、あなたの走行距離は変わるかもしれません。

1

Win32 Programming」のコピーを取得することを強くお勧めします。これはWINDOWSの基本的なDNAを説明しています。これは古いC++ win32、新しいC#WinForms、そして将来のWindows Presentation Foundationでプログラミングする場合に有効です。

簡単に言えば、WindowsプログラムはWinMainで構成されています。最初に起動すると、アプリケーションはウィンドウクラスをシステムに登録し、WM_QUITに遭遇するまでメッセージループを初期化して開始します。システム(OS)は、アプリケーションのメッセージQにキーボードやマウスのクリックなどのポンピングメッセージを送り続けます。 Windowsでは、いつでもアクティブなウィンドウが1つしかないため、OSはメッセージを送信する相手を知っています。

これらのようなものについては、上記の本で詳しく説明しています。

COM(COM +、DCOM)は実際にはWindowsに関連していません。 Word、Excelが普及し、WordからExcelにアクセスできるようにする必要があるとき(viceversa)、COMなどのルートのようなAcitveXテクノロジが登場しました。Don Boxの「Essential COM」を使い始めることができます。

警告:Microsoftの世界では、ボイラープレートの方法(自分ですべて書き込む)またはフレームワーク(MFC、ATL-COM ....)を使用する2つの方法があります。基礎を知るために少しボイラープレートを行うことをお勧めします。

+0

偉大な答え、ありがとう –

0

1年前に同じ変換を行ったところでは、JavaのバックグラウンドからC#を学ぶための文献がたくさんあるといえます。

C# from a Java developer's perspective

そして、(GoogleのJavaプログラマのためのC# ')を見て価値があるかもしれ冊もあります。これは、私はC#のの重要な違い/機能を学習するための本当に有用であることが分かっその中に私の最初でした。 JohnT氏によると、MSDNライブラリはJavaDocs APIと同等ですが、使用するのは本当にイライラしています。学習する最善の方法は、Visual Studio Expressのコピーをつかんで再生することです。 Intellisenseを使用して、クラスとメソッドを探索します。あなたがJavaで書いた小さなプログラムを見つけ、C#でそれを再現しようとします。簡単な問題から始めて、それらを解決するためにGoogleを使用してください。あなたは最初の1週間は難しいでしょうが、私を信じて、それはあなたに驚くほど早く来るでしょう!

+0

はい、私はそれが非常にイライラすることがわかります。いったんjavadocがあまりにも明白だと思ったら、今はその利点を見て、使いやすいです。とにかく、それは細かいところです。 :)結局のところC#は私にとっては難しいことではない、私の問題は全体的なWindowsテクノロジに勝つ。答えのおかげで –