Windows 32 APIは時間の経過とともに大きく変化しましたか?1998年のCharles Petzoldの著書「Programming Windows、5th Edition」には、関連する情報がまだ含まれていますか、それともほとんどが時代遅れ/古くなっていますか?
Windows 32 APIに最近追加された顕著な例(ある場合)は何ですか?
Windows 32 APIは時間の経過とともに大きく変化しましたか?1998年のCharles Petzoldの著書「Programming Windows、5th Edition」には、関連する情報がまだ含まれていますか、それともほとんどが時代遅れ/古くなっていますか?
Windows 32 APIに最近追加された顕著な例(ある場合)は何ですか?
回答:
Windows Vistaの新しいスレッドプールAPIは、WinAPIがどのように進化したかを示す簡単な例として、よく書かれた複数のスレッドプログラムを大幅に改善し、支援します。ただし、互換性を維持する必要性は、Windows APIの基本を同じに保つための推進要因であり、CreateWindowExなどのEx関数の優位性など、いくつかの非理想的なものをもたらしました。16ビットプログラムとの互換性のために、64ビットWindowsに対してコンパイル可能な機能がまだあります。
APIが変更された可能性は低いため、1998年に一般的な機能を実行するWinAPIベースのプログラムを作成する場合、その本は引き続き有用です。もちろん、1998年の本はほぼ確実にpre-Standard C ++に対して書かれていたため、本がCまたはC ++向けに書かれている場合は、元の言語のベストプラクティスが先に進むかもしれません。
また、同じ参照がWindows 32とWindows 64の両方を管理するため、正しい参照はWindows 32 APIではなくWindows APIです。
プログラミングウィンドウがまだ有用であることがわかりました。マイクロソフトは下位互換性に重点を置いているため、コアスタッフ(ウィンドウハンドル、メッセージ、GDIなど)はすべて関連性があり、Petzoldで十分に説明されています。(何かが大幅に変更された場合、既存のWindowsプログラムが多すぎるため、既存のWindowsプログラムの膨大な数が市場におけるWindowsの優位性の大きな部分を占めます。)
Setup API、Thread Pool API、GDI +などの特定の新しいAPIがあり、Vistaおよび7のUACのコンテキスト内での作業などの新しいトピックがあります。また、Petzoldがカバーしていない個別の新しい関数もいくつかありますが、必要に応じてMSDNで新しいトピックを調べるのは簡単です。 WindowsはプログラミングもWindowsプログラミングの大きな一部とすることができCOMを、カバーしていません。
PetzoldがカバーするAPIはすべて低レベルでCベースであることに注意してください。(GDI +やいくつかのCOMのようなオブジェクト指向の新しいAPIがいくつかあります。)事実上、現代の開発はすべてオブジェクト指向であり、多くの場合、.NETやQt、DelphiのVCLなどのフレームワークを使用します。 「プログラミングウィンドウ」のサンプルコードのように見える完全なアプリケーションを作成することはほとんどありません。ただし、内部で何が行われているのかを説明するのには依然として優れています。
少し前に見て、新しいAPIリファレンスが見つかりませんでした。これは、現在のWindows APIのサイズが大きいためと思われます。プログラミングWindows、第5版はすでにほぼ1500ページの長さで、新しいものを扱った本は大きすぎます。まだ読んでいませんが、いくつかの興味深い外観のサプリメントをProgramming Windowsに見つけました。
Windows APIは長年にわたって変更されています。まったく新しい関数セット(例:TaskDialogとファミリ)、および既存の関数の置き換え(例:CreateWindowEx)が追加されました。
新しいリファレンスを参照することをお勧めします。
タスクスケジューラも新しく、多くの新しいオブジェクトとインターフェイスが追加されました。タスクスケジューラ2.0より前は、タスクのスケジュールに関係するオブジェクトが約5つありました。2.0では(Vistaが登場したときに導入されました)、20があります。冗談はありません、20です。これは、win32プログラミングについてそれほど素晴らしいことではありませんが、それほど悪くはありません。
私はwin32でのプログラミングが大好きで、Windowsや他のOSがより低いレベルでどのように動作するかについて多くのことを学びます。Pythonでプログラムを作成する場合、ディレクトリの構成方法については学習せず、を使用してくださいos.listdir("")
。ただし、win32でFindFirstFile()
&FindNextFile
を使用すると、ディレクトリの構成方法、隠された「..」および「。」ディレクトリとそこからディレクトリをカタログ化および検索するためのより効率的な方法を考え出すことができます。
win32リソースについては、http: //groups.google.com/group/comp.os.ms.windows.programmer.win32/topicsにアクセスしてください。