• 締切済み

.NET FrameworkとWin32 API

趣味でプログラミングを始めた初心者です。 Win32 APIを習得しようとしていますが、Windows Vistaから.NET Frameworkが標準のAPIになると聞きました。Win32 APIは引き続き搭載するとのことですが、これが搭載されなくなれば、プログラミングを続けられなくなります。 いずれは、.NETのプログラミングを習得するつもりですが、早めに習得すべきでしょうか?それとも当面はWin32でも大丈夫でしょうか? 勝手な質問ですみません。

みんなの回答

noname#259269
noname#259269
回答No.1

Win32 API がなくなることはないと考えていて大丈夫ですよ。 Win32 API の上に .NET Framework が乗っかっている形です。一見すると無駄な構造のように思えますが、.NET Framework のメリットは生産性の高さにあるといえます。Win32 API では何十行もかかる処理が .NET Framework では数行で書けたりします。しかし、.NET Framework がサポートしていない範囲の処理をしようとすると、直接 Win32 API を利用する事になります。

flatpanel
質問者

お礼

ありがとうございます。 安心しました。.NET Frameworkはそんな構造なんですね。ゆっくりとWin32 APIの勉強をしようと思います!!!

関連するQ&A

  • .Net Framework APIがあればMFCはいらないのでは?

    最近Windowsプログラミングに興味を持ちましていろいろと調べている所なのですが、疑問に思ったので質問させて下さい。 質問の内容はタイトルどおりなのですが、 windowsのシステムが.Net Frameworkに統一されようとしている今、.Net Framework APIがあればMFCを新しく勉強する価値は殆どないと思うのですが、この考えは間違っているでしょうか? 例えば、下の本(実物はまだ見てません) http://www.amazon.co.jp/exec/obidos/ASIN/4797324201/249-5720925-3989928 では「 MFCを利用したWindowsネイティブプログラムから,最新の.NETアプリケーションの作成方法まで,..」 と紹介されてますが、VC++.NETでプログラミングするのに、なんでMFC?なんて思って仕舞うのですが、MFCでないと出来ないことがあるのでしょうか?

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

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • .NET Frameworkって一体何?

     近年、.NET Frameworkという言葉が流行っていますが、これは一体何なのでしょうか?  従来のようにWin32APIやMFCを使ったアプリケーションとは、かなり質が異なるもののように思われます。  .NET Frameworkに対応したアプリケーション開発ができると、どのような利点が生まれるのでしょうか?  また、次期WindowsといわれるLonghornでは、.NET Frameworkが非常に重要視されているように思います。 そして、こうした時代の流れを察するに、Win32APIやMFCのみでのアプリケーション開発をしてきた私も、.NET Frameworkとは一体何かを知らなければいけないと思うようになりました。  私はまだ何も確証は持てないのですが、.NET Frameworkはコンポーネント技術と何かしら関係があるように思います。しかし、そのような気がするだけで、何がどうなって、.NET Frameworkが構成されているのかまったくわかりません。.NET Frameworkがあると、将来どのようなことが実現可能になるのですか?

  • C++ API 全般 APIの概要は

    独学にてプログラミングを勉強しているのですが、いきづまってしまったので質問お願いします。 ※Visual Studio 2008 Express Editionsを使用しています。 まだプログラミングに関しての勉強を始めて1ヶ月程度で、最初はVB.NETから始めて、最近C++に乗り換えました。 趣味の範囲でのゲームを作ろうと思っていて、C++とDirectXでの開発を予定しています。(しかし、最終的にはゲームに限らずプログラミングの技術と知識を習得することを目標にしています。)(DirectXに関してはまだ手をつけていません。) まったく1からのスタートで、現在win32コンソールアプリケーションにてコードの勉強をしているところです。 勉強に使っている参考文献は ・VisualC++.NET逆引き大全500の極意 ・ゲームプログラマになる前に覚えて起きたい技術(これを買うには早すぎたようです…。第一章も半分くらいしか理解できません…。) サイトは ・主に「0からのゲームプログラミング」というサイトです。 http://www.plustarnet.com/aspil/Programming/ 本題の質問ですが、APIというものがいまいち理解できません。 (1)上記のような目的で使用するAPIは、標準 Windows APIというものでいいのでしょうか? (2)win32コンソールアプリケーションでは実行できるのに、win32プロジェクトでは実行できないのはなぜでしょうか? #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { MessageBox(NULL , TEXT("Hello Wold!") , TEXT("メッセージボックス") , MB_OK); return 0; } (3)http://www.plustarnet.com/aspil/Programming/CConsole.htm このURLのコンソールAPIというのは、一般的に使われているものでしょうか?それともこのサイトのオリジナルのものでしょうか?win32コンソールアプリケーションでAPIを使うには、このURLのCConsoleクラスとうものをインクルードしないといけないのでしょうか?#include<windows.h>と宣言することによって気軽に使いたいものを使うことはできないのでしょうか? (4)#include<windows.h> とした場合、作るものが「win32コンソールアプリケーション」だったり「win32プロジェクト」だったり「windowsフォームアプリケーション」だったりで、使用方法などがまったく別になってしまうのでしょうか? (5)そもそも、上記の目的の場合APIを勉強する必要はあるでしょうか? (6)勉強をしたほうが後々に役立つ場合、どのAPIを勉強するのがいいのでしょうか?(APIといっても様々なものがあるんだなと思い質問しました。もし勘違いでAPIというものは一つしかないとしたらすみません。) なぜAPIに関してかというと、単純に上記のサイトで言語編の一番上から順に見ていったからです。 初心者すぎて質問が的外れかもしれませんがよろしくお願いします。

  • Win32APIは覚えて損する?

    Win32APIは現在一般的に出回ってる32Bit版Windowsの ApplicationProgramingInterfaceですよね? これがそのうち一般的に出回るのが64Bit版Windowsに なったときもWin32APIを勉強したときの知識は役に たつのでしょうか? またWin16→Win32に変わったときはどのような感じだ ったんでしょうか? あと少々質問とずれてしまいますが○○Bit版Windowsの [○○Bit版]はどのような意味を持つのでしょうか? 暇なときにでも回答できたらお願いします ※ ○○=16 or 32 or 64 など

  • C言語でWin32API

    C言語を使ってWin32APIを呼び出すような、Windowsプログラミングを始めたいんですが、何かよい本やサイトはご存知ないでしょうか。 Visual C++6.0はあるんで、それを使えばいいと思うんです。 C言語はわかるんですが、Windowsプログラミングに関する知識はほとんどないので、ごく基本的なことから知りたいんです。 WinMain関数というのを書くようなんですが、その書き方すら知りません。  スケルトン(出来れば、それよりもっと基本的なこと)から書いてあるようなものです。

  • Win32APIを始めたのですが・・・。

    Window Handleについての質問です。Win32APIではCreateWindow()でチェックボックスを作ることが出来るのですが、 C++でプログラミングしていたところ、困ったことになりました。 まず、クラスのメンバーとしてHWND m_Hwndを宣言し、メンバー関数(CreateChk())において m_Hwnd = CreateWindow(...)とし、WM_CREATEのメッセージ処理内で関数CreateChk()を呼び出して チェックボックスを作るようにしたのですが、WM_CREATEのメッセージ処理を終えると同時にm_Hwndの内容が意味を持たないものに 変わってしまい、チェックボックスの状態を利用することが出来ません。 変数の寿命に関係したものだとは思うのですが、クラスを用いたオブジェクト指向プログラミングも始めたばかりでよくわかりません。 どなたか対処方法をご存知でないでしょうか?

  • WEB API について

    WEB API について質問です。 株式投資が趣味で、他社のサイトのチャート(yahoo ファイナンスなど)を、 自分のホームページにもってきて、それを加工できないかと考えているんですが、 そういったことは可能でしょうか。 これが、WEB API にあたるのか定かではないのですが、 どなたかわかる方がいましたら、ご回答の程よろしくお願いします。 また、WEB API の技術を習得するには、どのような勉強から始めれば よろしいでしょうか。(JAVAなど) 合わせて、よろしくお願い致します。

  • MFCとWIN32API

    はじめまして、コンピューターを勉強し始めた学生です。最近OSについての基本的な勉強を始めたのですが、ちょっとAPIのところで分らなくなりました。MicrosoftのWIN32とMFCは全くの別物なんですか?どちらもWindowsのSoftware開発に関わりが在りそうだとは思っているのですが... 何かとんでもない間違った質問をしている様な気もするのですが、誰か知っている人教えてください。

  • 【質問】アンマネージコードとマネージコードについて

    質問1. アンマネージコードはWin32 APIを使用しますか? Windows API=Win32 APIのこと? 現在は、Win32 APIではなく、COM(Component Object Model)コンポーネントをアンマネージコードに使いますか? 質問2. マネージコードには.NET Frameworkを使用します? マネージコードであるWinFXは死んだのですか?.NET Frameworkの次期ですか? 質問3. .NET Frameworkだけでは対応できないってこと? ネットにあるソースは.NET FrameworkとWin32 APIが混合しているソースがいっぱいあります。 .NET Frameworkだけでは対応できないってことですか?

専門家に質問してみよう