特定のプロセスの使用メモリを表示したい。 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 shu  (社会人) 投稿日時 2011/3/29 10:30:16
整数の範囲で割り算を行う場合の商という意味で正しいです。

ただし、数の範囲を有理数とか実数とか複素数とかに広げた場合、
その範囲内での割り算の答えとなるので違ってきます。

一般的には今回使われた整数範囲での割り算について使われることが多いかと思います。
投稿者 数学  (社会人) 投稿日時 2011/3/29 08:38:29
> ひょっとして、私は「商」という言葉の使い方を間違っているんでしょうか??
いえ、合ってると思います。
「商」は割り算の答えのことで、「余り」ではありません。
「余り」を漢字で表現するなら「剰余」です。

・倍数・約数と余り
http://www.nhk.or.jp/kokokoza/tv/suugakukiso/archive/suukiso_03.pdf
投稿者 るきお  (社会人) 投稿日時 2011/3/26 23:45:22
>何故1024で割った余りをだすのでしょうか。
あまりではなく、答えの整数部分を求めています。

9 ÷ 4 =  2 … 1

を例にとると、VBでは、
9 \ 4 = 2
9 mod 4 = 1
9 / 4 = 2.25
になります。

今回はKB換算して小数点以下を取り除きたかったので、はじめから商だけ求めればよく、
\を使いました。
計算速度も / と比べると格段に速いです。

ひょっとして、私は「商」という言葉の使い方を間違っているんでしょうか??
投稿者 ジョニーゲップ  (社会人) 投稿日時 2011/3/26 23:39:20
何度も質問すみません。

何故1024で割った余りをだすのでしょうか。
KB換算するにしても余りを利用する意味が分かりません。

不躾ですが回答お願いします。
投稿者 るきお  (社会人) 投稿日時 2011/3/26 23:26:05
¥は割り算の商を返します。
だから、 \ 1024 は 1024で割った商を求める計算です。

>プロセス名の指定方法などに決まりはあるのでしょうか 
ありますよ。
タスクマネージャで表示されるプロセス名を指定してください。
投稿者 ジョニーゲップ  (社会人) 投稿日時 2011/3/26 23:07:26
すみません。
MsgBox(monitor.RawValue \ 1024 & "K")


このコードの「\」はどのような役割を果たしているのでしょうか
投稿者 ジョニーゲップ  (社会人) 投稿日時 2011/3/26 23:02:39
すみません。
「firefox」としてみたところ成功しました

ありがとうございました
投稿者 ジョニーゲップ   (社会人) 投稿日時 2011/3/26 22:52:02
Firefox(プロセス名 : firefox.exe)を調べたいとき、

Dim monitor As New PerformanceCounter
monitor.CategoryName = "Process"
monitor.CounterName = "Working set - private"
monitor.InstanceName = "firefox.exe"

MsgBox(monitor.RawValue \ 1024 & "K")


としてみましたがカテゴリの中に「firefox.exe」がありませんと表示されてしまいます。
プロセス名の指定方法などに決まりはあるのでしょうか
投稿者 るきお  (社会人) 投稿日時 2011/3/26 22:34:40
いくつかの方法はありますが、PerformanceCounterクラスを使う方法が手軽だと思います。

次の例はPerformanceCounterクラスを使ってdevenvというプロセスの使用メモリ量を表示します。

Dim monitor As New PerformanceCounter
monitor.CategoryName = "Process"
monitor.CounterName = "Working set - private"
monitor.InstanceName = "devenv"

MsgBox(monitor.RawValue \ 1024 & "K")


PerformanceCounterはコントロールでもあるので、デザイン時にTimerなどと同じように貼り付けてプロパティウィンドウで設定して使うこともできます。
投稿者 ジョニーゲップ  (社会人) 投稿日時 2011/3/26 21:51:40
特定のプロセスの使用メモリを表示するにはどうすればいいでしょうか。
タスクマネージャのデータを読み込む、みたいなことが出来ればいいのですがそのような方法は見つけられませんでした。

知っている方がいましたらご教授お願いします。