• ベストアンサー

ウインドウズのシステムにおけるプログラミングについて

ウインドウズのシステム情報はどこで聞いていますか? 例えば メモリークリナーというフリーソフトの場合OSのリソースをクリーニングする機能がありますが そのクリーニングするファイル情報(リソースを設定しているファイル)はどこで調べたのか是非おしえていただきたいと思います。(他の常駐ソフトでもよろしいです)この機能は、ウインドウズ内のプログラムがどのように動きどのファイルを参照しているか 理解していなければ出来ないことだと思っているのですが、私の周りに詳しい方がみえないので 皆様の知識を提供していただきたいです。お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

なるほど、何処でそのような情報を手に入れたらいいのか、ですね。 既に皆さんからも回答がありますが、私の場合は「経験に基づくカン」ですかね。 メモリ関係の情報自力で見つけ出すには、まずはWindowsAPIの呼び出し方を身に付けるべきでしょう。 市販のAPIの解説本やWindowsの構造に関する本を何冊か読んでいれば、大まかな考え方は身に付くはずです。メモリ等に関する情報のうち、幾つかは取得できるようになるでしょう。 それらの基礎知識が身に付いた段階で、WindowsAPIの一覧から、目星を付けて検索します。 で、その関数についての項目をリファレンス本やMSDNなどで調べ、うまく見つかれば、後は似たようなAPIの使い方とかも参考にしながらプログラミングする、って感じでしょうか。 市販本の中には項目ごとに分類してAPIを解説しているものもありますし、そういったものを使えばも少し早く出来ますかね。 この手の書籍は高価いです(1冊5000円で上下巻とか兵器でします)。が、投資しなくちゃ身に付かないです。 あ、ネット上の情報を漁るって手もありますね。 ある程度用語の知識が身に付いていれば、適当なキーワードで探すと、目指す情報にたどり着けるかもしれません。 APIの名称とかで当たりをつけて検索すると、結構ヒットしますね。英語のページも多いですが、ソースコードが読めれば言葉の壁は越えられます。 サンプルの数は多いに越したことは無いので、Webでの検索をうまく使いこなせば、かなり労力を節約できます。(ただし、丸写しは多くの場合NGです。) 尚、リソースのクリーニング等については、APIの知識だけでは出来ません。 CPUとメモリの関係から入って、Windowsがどのようにメモリを使っているのか、といったところにまで知識を深めてから、メモリをきれいにする為のアイディアをひねる出すわけですね。 もちろんここでもWebなどで得られる先達の知識は役に立つでしょう。 ってことで、結論。 書籍+MSDNライブラリ+Web。 です。 それに加えて、これらの膨大な情報の中から望みのものを検索する力。 更にプログラミングの技術。 これだけあれば、何とかメモリ最適化ソフトくらいは作れるんじゃないかと…

hirokun-3
質問者

お礼

有難うございました。めげずに根気よくがんばります。

その他の回答 (3)

  • haporun
  • ベストアンサー率40% (230/562)
回答No.3

MSDNライブラリのキーワードリストでGet~とかQuery~などのAPIを漁ると、それらしい関数がいっぱい出てきますよ。

hirokun-3
質問者

お礼

有難うございました。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

http://www.microsoft.com/japan/developer/default.asp で検索してみましょう「GlobalMemoryStatus」 http://www.mitene.or.jp/~sugisita/family/papa/vb/ で「VB サンプル, クラス」「システム情報」「メモリ情報の取得」 に、サンプルがあります。(取得のみ) 開放は。。。わかりません。 もしかして開放はAPI関数のZeroMemoryかな? その開放の開始アドレスがわからないと開放できないですよね。。。 やったことが無いので、、、わかりません、、、 開始アドレスなどの情報は、恐らくCOBOLのディープな世界にたどり着きそうな気が・・・ 推測で物を言ってます。間違っていたらごめんなさい。

hirokun-3
質問者

お礼

有難うございました。皆さんの足元にでも及ぶぐらいに勉強いたします。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

概要としては、 静的な情報(画面の配色など、ディスクに保存される類の情報) → レジストリを調べる。 動的な情報(現在使用中のメモリ量とか、リアルタイムの変動するもの) → WindowsのAPIを使用する。 例外として、環境変数を調べればいいもの(PathやTempの値など)、Iniファイルを調べるもの(アプリごとの設定)などがある。 ってな感じですね。 まずは、「知りたい情報によって調べ方、調べる場所が異なる」ってことをご理解ください。 全ての情報に単一の方法でアクセスできるわけではないのです。 ということですので、もう少し具体的な質問でないと(たとえ知っていたとしても)回答はしづらいのです。 ○やりたいこと ○知りたい情報の詳細 ○使用言語、OSのバージョン などを書いて新たに質問されると、それについて詳しい人が答えてくれると思いますよ。

hirokun-3
質問者

お礼

有難うございます。私の表現の仕方がヘンでしたね ごめんなさい。ただ 私として知りたいことは みなさんいろんなソフトを作っていますがいろんなosのシステム情報をどのようにして仕入れて理解されているのかが知りたいのですが。このような表現のしかたでは、だめでしょうか?(例えば マイクロソフト社に直接聞くとか。)

関連するQ&A