DOBON.NET DOBON.NETプログラミング掲示板過去ログ

タスク表示

  • 題名: タスク表示
  • 著者: CO_岡
  • 日時: 2006/04/10 13:19:57
  • ID: 15274
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[VB5]
分類:[VB6以前]

タスク表示のプログラムをVB5で組みました。自分のPC(Windows xp)では作動できるのですが,ほかのPCで作動させると ActiveX コンポーネントは、オブジェクトを作成できません・・・と言うメッセージを表示し、作動しません。
何が、不足しているのでしょうか、
ソフト内容は下に示す内容です。

SUB TASK_LIST()

Dim DateTime As Object
Dim Proc As Object
Dim LIs As Object
Dim LI As Object
Dim Dt As Variant



Set LIs = ListView1.ListItems
Set DateTime = CreateObject("WbemScripting.SWbemDateTime")
LIs.Clear

With GetObject("winmgmts:")


For Each Proc In .InstancesOf("Win32_Process")
Set LI = LIs.Add()
LI.Text = Format(Proc.ProcessId)

LI.SubItems(1) = Format(Proc.Caption)

Dt = Proc.CreationDate
If Not IsNull(Dt) Then
DateTime.Value = Dt
Dt = DateTime.GetVarDate()
LI.SubItems(2) = Format(Dt, "yyyy-mm-dd hh:nn:ss")

End If

'100ナノ秒単位


LI.SubItems(3) = Format(Proc.ExecutablePath)


Set LI = Nothing
Next
End With


Set LIs = Nothing
Set DateTime = Nothing

END SUB
  • 題名: Re[1]: タスク表示
  • 著者: 魔界の仮面弁士
  • 日時: 2006/04/10 15:01:25
  • ID: 15275
  • この記事の返信元:
  • この記事への返信:
  • ツリーを表示
> ほかのPCで作動させると ActiveX コンポーネントは、オブジェクトを
> 作成できません・・・と言うメッセージを表示し、作動しません。
どの行を処理する際に、そのエラーが発生していますか?


> 何が、不足しているのでしょうか、
WMI は使用可能な状態になっていますか?
■No15275に返信(魔界の仮面弁士さんの記事)
>>ほかのPCで作動させると ActiveX コンポーネントは、オブジェクトを
>>作成できません・・・と言うメッセージを表示し、作動しません。
> どの行を処理する際に、そのエラーが発生していますか?
>
>
>>何が、不足しているのでしょうか、
> WMI は使用可能な状態になっていますか?

下記の処理にてメッセージを出力します。(ActiveX コンポーネントは、オブジェクトを
>>作成できません)
 Set DateTime = CreateObject("WbemScripting.SWbemDateTime")
> 下記の処理にてメッセージを出力します。(ActiveX コンポーネントは、オブジェクトを作成できません)
>  Set DateTime = CreateObject("WbemScripting.SWbemDateTime")

SWbemDateTime をサポートしている OS (XP, Vista, Server2003) で
実行させていますか?

http://msdn.microsoft.com/library/en-us/wmisdk/wmi/swbemdatetime.asp
■No15290に返信(魔界の仮面弁士さんの記事)
>>下記の処理にてメッセージを出力します。(ActiveX コンポーネントは、オブジェクトを作成できません)
>> Set DateTime = CreateObject("WbemScripting.SWbemDateTime")
>
> SWbemDateTime をサポートしている OS (XP, Vista, Server2003) で
> 実行させていますか?
>
> http://msdn.microsoft.com/library/en-us/wmisdk/wmi/swbemdatetime.asp

OS は、WINDOWS NTです。この場合使用できないのですか?
他に方法はないにでしょうか?
自分で使っているPCは XPです。(問題なく作動します。)
> OS は、WINDOWS NTです。この場合使用できないのですか?
SWbemDateTime オブジェクトを使用可能な OS の一覧については、
先に紹介した Web ページの最後に、『Requirements』として
まとめられています。そちらで確認してください。


> 他に方法はないにでしょうか?
とりあえず動作させるだけであれば、とりあえず、先の
Dt = Proc.CreationDate
を無変換で "20060410090517.078125+540" などの形式のまま表示させる
だけでも、タスク表示としての「最低限」の用は足しますよね。

で、その日付の書式を変えたい、あるいは、VB6 の日付型に変換したい、という
話になると、SWbemDateTime を使えない環境においては、自前で日付文字列を
解析する事になるかと。

この程度の文字列処理ならば、それほど難しい処理では無いでしょうし、
もし、それを実装するのが面倒だという事であれば、google 等で検索すれば、
実装例も幾つか見つかるでしょう。

http://groups.google.co.jp/group/microsoft.public.win32.programmer.wmi/browse_frm/thread/d337bee8d890a7be/8981171e96ac3cbc?lnk=st&q=datetime++WMI&rnum=1&hl=ja#8981171e96ac3cbc
■No15313に返信(魔界の仮面弁士さんの記事)
>>OS は、WINDOWS NTです。この場合使用できないのですか?
> SWbemDateTime オブジェクトを使用可能な OS の一覧については、
> 先に紹介した Web ページの最後に、『Requirements』として
> まとめられています。そちらで確認してください。
>
>
>>他に方法はないにでしょうか?
> とりあえず動作させるだけであれば、とりあえず、先の
> Dt = Proc.CreationDate
> を無変換で "20060410090517.078125+540" などの形式のまま表示させる
> だけでも、タスク表示としての「最低限」の用は足しますよね。
>
> で、その日付の書式を変えたい、あるいは、VB6 の日付型に変換したい、という
> 話になると、SWbemDateTime を使えない環境においては、自前で日付文字列を
> 解析する事になるかと。
>
> この程度の文字列処理ならば、それほど難しい処理では無いでしょうし、
> もし、それを実装するのが面倒だという事であれば、google 等で検索すれば、
> 実装例も幾つか見つかるでしょう。
>
> http://groups.google.co.jp/group/microsoft.public.win32.programmer.wmi/browse_frm/thread/d337bee8d890a7be/8981171e96ac3cbc?lnk=st&q=datetime++WMI&rnum=1&hl=ja#8981171e96ac3cbc

大変申し訳ありませんが?回答頂いた意味が理解できません
もう少し、どこをどう変更すれば作動だけでもできるのか、
具体的に教えて頂けないでしょうか?
  • 題名: Re[7]: タスク表示
  • 著者: CO_岡
  • 日時: 2006/05/12 13:03:24
  • ID: 15734
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No15318に返信(CO_岡さんの記事)
> ■No15313に返信(魔界の仮面弁士さんの記事)
> >>OS は、WINDOWS NTです。この場合使用できないのですか?
>>SWbemDateTime オブジェクトを使用可能な OS の一覧については、
>>先に紹介した Web ページの最後に、『Requirements』として
>>まとめられています。そちらで確認してください。
>>
>>
> >>他に方法はないにでしょうか?
>>とりあえず動作させるだけであれば、とりあえず、先の
>> Dt = Proc.CreationDate
>>を無変換で "20060410090517.078125+540" などの形式のまま表示させる
>>だけでも、タスク表示としての「最低限」の用は足しますよね。
>>
>>で、その日付の書式を変えたい、あるいは、VB6 の日付型に変換したい、という
>>話になると、SWbemDateTime を使えない環境においては、自前で日付文字列を
>>解析する事になるかと。
>>
>>この程度の文字列処理ならば、それほど難しい処理では無いでしょうし、
>>もし、それを実装するのが面倒だという事であれば、google 等で検索すれば、
>>実装例も幾つか見つかるでしょう。
>>
>>http://groups.google.co.jp/group/microsoft.public.win32.programmer.wmi/browse_frm/thread/d337bee8d890a7be/8981171e96ac3cbc?lnk=st&q=datetime++WMI&rnum=1&hl=ja#8981171e96ac3cbc
>
> 大変申し訳ありませんが?回答頂いた意味が理解できません
> もう少し、どこをどう変更すれば作動だけでもできるのか、
> 具体的に教えて頂けないでしょうか?
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板