C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.75592 の関連記事表示

<< 0 >>
■75592  My.Computer.Infoについて
□投稿者/ 鏡月 -(2015/04/10(Fri) 14:58:27)

    分類:[.NET 全般] 

    環境
    Vistual Studio2010
    .NET Framework4.0
    Windows フォームアプリケーション

    参考サイトURL:http://dobon.net/vb/dotnet/system/wmi_os.html

    参考サイトのURLにのっております「My.Computer.Info」を使用し、メモリ使用量を取得しようとしているのですが
    'Computer'は'My'のメンバーではありませんとエラーメッセージが出力されてしまいます。

    「My.Computer.Info」を使用する場合何か設定等が必要なのでしょうか。

    お手数お掛けしますがご教授下さい。
親記事 /過去ログ127より / 関連記事表示
削除チェック/

■75593  Re[1]: My.Computer.Infoについて
□投稿者/ kiku -(2015/04/10(Fri) 15:11:57)
    自身の環境で試してみましたが、
    サンプル通りに動作していることを確認しました。
    環境依存かと思われます。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75595  Re[2]: My.Computer.Infoについて
□投稿者/ 鏡月 -(2015/04/10(Fri) 15:14:37)
    No75593 (kiku さん) に返信
    > 自身の環境で試してみましたが、
    > サンプル通りに動作していることを確認しました。
    > 環境依存かと思われます。
    →回答ありがとうございます。
     どこが怪しいかなにかご存知でしょうか。
     私の方でも新規プロジェクトを作成し試してみようと思います。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75597  Re[3]: My.Computer.Infoについて
□投稿者/ WebSurfer -(2015/04/10(Fri) 15:52:01)
    No75595 (鏡月 さん) に返信

    VB.NET は詳しくないのでハズレかもしれませんが・・・

    Windows Forms アプリの My は C# でいう this で、それと VB 独自の My が衝突(?)を
    起こしているのではないですか?

    参考にされている記事の C# のコードと同様に、以下のようにしたらどうなりますか?

    Dim info As Microsoft.VisualBasic.Devices.ComputerInfo = New Microsoft.VisualBasic.Devices.ComputerInfo()
    Console.WriteLine("利用可能仮想メモリ:{0}バイト", info.AvailableVirtualMemory)
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75599  Re[4]: My.Computer.Infoについて
□投稿者/ 魔界の仮面弁士 -(2015/04/10(Fri) 16:08:42)
    No75597 (WebSurfer さん) に返信
    > Windows Forms アプリの My は C# でいう this で、

    それは My ではなく Me ですよね?

    「_MY何某」系の条件付きコンパイル定数を設定することで
    意図的に My.Computer を使えない状態にされている可能性も
    考えられます。とはいえ、流石にそんなところを弄るとも思えませんけど。
    https://msdn.microsoft.com/ja-jp/library/ms233781.aspx


    > それと VB 独自の My が衝突(?)を
    > 起こしているのではないですか?
    フォーム上に任意のコントロール(Label とか TextBox とか)を貼り、
    そのコントロールの名前を「My」にすると、
    My.Computer.Info とは書けなくなります。
    コントロール名ではなく、フィールド変数などでも同様です。


    もし、フォーム上に My という名の別メンバーがあり、
    それと競合してしまうような場合には、
      Dim info = Global.WindowsApplication1.My.Application.Info
    のように、グローバルルートから辿ればアクセスできます。
    (WindowsApplication1 の部分は適宜書き換えて下さい)
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75603  Re[5]: My.Computer.Infoについて
□投稿者/ 鏡月 -(2015/04/10(Fri) 16:33:25)
    No75599 (魔界の仮面弁士 さん) に返信
    >>それと VB 独自の My が衝突(?)を
    >>起こしているのではないですか?
    > フォーム上に任意のコントロール(Label とか TextBox とか)を貼り、
    > そのコントロールの名前を「My」にすると、
    > My.Computer.Info とは書けなくなります。
    > コントロール名ではなく、フィールド変数などでも同様です。
    →魔界の仮面弁士さん 回答ありがとうございます。
     一応探してみたのですが特に使用しているところは見当たりませんでした。

    >
    > もし、フォーム上に My という名の別メンバーがあり、
    > それと競合してしまうような場合には、
    >   Dim info = Global.WindowsApplication1.My.Application.Info
    > のように、グローバルルートから辿ればアクセスできます。
    > (WindowsApplication1 の部分は適宜書き換えて下さい)
    →Dim info = Global.???.My.Application.Infoで記載しました処、「'???'は<Default>のメンバーではありません」とのエラーメッセージが出力されてしまいました。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75606  Re[6]: My.Computer.Infoについて
□投稿者/ 魔界の仮面弁士 -(2015/04/10(Fri) 16:58:18)
    No75603 (鏡月 さん) に返信
    > →魔界の仮面弁士さん 回答ありがとうございます。
    >  一応探してみたのですが特に使用しているところは見当たりませんでした。

    エラーメッセージの内容からして、「My」そのものは VB 側に認識されているようです。
    ただ、その My の中に、何故か Computer というメンバーが無い状態である、と。

    この場合考えられるのは、以下のパターン。

    (1) 何らかの理由で、My から Computer が使えなくなっている (例:条件付きコンパイラ定数の設定)
    (2) 「My」が、同名の別のオブジェクトを指してしまっている

    そして No75599 の冒頭に書いたのが (2) の場合で、
    後半に書いたのが (1) の場合です。


    > 一応探してみたのですが特に使用しているところは見当たりませんでした。
    コードウィンドウに「My」とだけ書き、これを右クリックして
    ポップアップメニューから『定義』を選んでみて下さい。

    もしそれで、『オブジェクトブラウザー』の "WindowsApplication1.My" にジャンプするなら、
    上記 (1) の可能性が疑われます。可能性としては低そうですが。

    一方、オブジェクトブラウザーではなく、どこかのコードなどにジャンプするようであれば、
    上記 (2) ということになるでしょう。



    > →Dim info = Global.???.My.Application.Infoで記載しました処、「'???'は<Default>のメンバーではありません」とのエラーメッセージが出力されてしまいました。

    「???」の部分の指定が間違っている時にでるエラーメッセージですね。
    「???」の部分には、ルート名前空間の名前を指定して下さい。

    これは、'My Project' のプロパティから、[アプリケーション]タブを開いたときに、
    右上にある『ルート名前空間(R):』と記述されている部分のことを指しています。

    もしもこのルート名前空間の欄が未記入となっている場合には、
     Global.WindowsApplication1.My.Application.Info
    ではなく
     Global.My.Application.Info
    という形式になります。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75607  Re[7]: My.Computer.Infoについて
□投稿者/ 鏡月 -(2015/04/10(Fri) 17:20:28)
    No75606 (魔界の仮面弁士 さん) に返信
    >>一応探してみたのですが特に使用しているところは見当たりませんでした。
    > コードウィンドウに「My」とだけ書き、これを右クリックして
    > ポップアップメニューから『定義』を選んでみて下さい。
    >
    > もしそれで、『オブジェクトブラウザー』の "WindowsApplication1.My" にジャンプするなら、
    > 上記 (1) の可能性が疑われます。可能性としては低そうですが。
    >
    > 一方、オブジェクトブラウザーではなく、どこかのコードなどにジャンプするようであれば、
    > 上記 (2) ということになるでしょう。
    →上記操作を試したところ、Resources.Designer.vb内のNamespace My.Resourcesに遷移しました…


    >
    >
    >
    >>→Dim info = Global.???.My.Application.Infoで記載しました処、「'???'は<Default>のメンバーではありません」とのエラーメッセージが出力されてしまいました。
    >
    > 「???」の部分の指定が間違っている時にでるエラーメッセージですね。
    > 「???」の部分には、ルート名前空間の名前を指定して下さい。
    >
    > これは、'My Project' のプロパティから、[アプリケーション]タブを開いたときに、
    > 右上にある『ルート名前空間(R):』と記述されている部分のことを指しています。
    >
    > もしもこのルート名前空間の欄が未記入となっている場合には、
    >  Global.WindowsApplication1.My.Application.Info
    > ではなく
    >  Global.My.Application.Info
    > という形式になります。
    →無事に取得することが出来ました。
     私のわがままに付き合ってくださってありがとうございました。
記事No.75592 のレス / END /過去ログ127より / 関連記事表示
削除チェック/

■75602  Re[5]: My.Computer.Infoについて
□投稿者/ WebSurfer -(2015/04/10(Fri) 16:28:57)
    No75599 (魔界の仮面弁士 さん) に返信
    > ■No75597 (WebSurfer さん) に返信
    >>Windows Forms アプリの My は C# でいう this で、
    >
    > それは My ではなく Me ですよね?

    そうでした。失礼しました。

    でも、My を使わなければ問題ないということであれば、原因がはっきりしない
    ので対症療法的ではありますが、先の私のレスのようにしたらよさそうに思いま
    すがいかがでしょう?>質問者さん
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75605  Re[6]: My.Computer.Infoについて
□投稿者/ 鏡月 -(2015/04/10(Fri) 16:37:22)
    No75602 (WebSurfer さん) に返信
    > でも、My を使わなければ問題ないということであれば、原因がはっきりしない
    > ので対症療法的ではありますが、先の私のレスのようにしたらよさそうに思いま
    > すがいかがでしょう?>質問者さん
    →WebSurfer さん回答ありがとうございます。
     WebSurfer さんが教えて下さった内容で問題は無いのですが魔界の仮面弁士 さんに教えて頂いた方法でも
     確認を取ってみたかったので解決済みのチェックを入れずにしているのですがこちらは一度解決済みにした方が よろしいでしょうか?
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75598  Re[4]: My.Computer.Infoについて
□投稿者/ WebSurfer -(2015/04/10(Fri) 15:56:25)
    No75595 (鏡月 さん) に返信

    Windows Form アプリで Console.WriteLine は使えなかったですね。上のコードの Console.WriteLine
    は Windows Forms アプリで使えるものに読み替えてください。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75601  Re[4]: My.Computer.Infoについて
□投稿者/ 鏡月 -(2015/04/10(Fri) 16:25:38)
    No75597 (WebSurfer さん) に返信
    > Dim info As Microsoft.VisualBasic.Devices.ComputerInfo = New Microsoft.VisualBasic.Devices.ComputerInfo()
    > Console.WriteLine("利用可能仮想メモリ:{0}バイト", info.AvailableVirtualMemory)
    → WebSurfer さん回答ありがとうございます。
      infoでMy.Computer.Infoと同様の値を取得することが出来ました。
     ありがとうございます。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75600  Re[5]: My.Computer.Infoについて
□投稿者/ 魔界の仮面弁士 -(2015/04/10(Fri) 16:25:08)
    No75598 (WebSurfer さん) に返信
    > Windows Form アプリで Console.WriteLine は使えなかったですね。

    使えますよ。Windows Form の場合は、[Ctrl]+[Alt]+[O]などで表示される
    『出力』ウィンドウに、Console.WriteLine の結果が出力されます。


    あるいは Console.WriteLine と似たような機能として、
    Debug.WriteLine や Trace.WriteLine もありますね。

    これらも、結果は『出力』ウィンドウに表示されることになりますが、
    [ツール]-[オプション]-[デバッグ]-[全般] の設定を変更することで、
    『出力』ではなく『イミディエイト』ウィンドウに表示させることができたり、
    Debug.Listeners を用いて、任意の出力先を設定できるといった違いがあります。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75604  Re[5]: My.Computer.Infoについて
□投稿者/ WebSurfer -(2015/04/10(Fri) 16:33:53)
    No75601 (鏡月 さん) に返信

    >   infoでMy.Computer.Infoと同様の値を取得することが出来ました。

    すみません、レスが前後してしまいました。

    もし、なぜ My ではダメだったかが分かりましたら。教えていただくると幸いです。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/

■75594  Re[1]: My.Computer.Infoについて
□投稿者/ shu -(2015/04/10(Fri) 15:13:43)
    No75592 (鏡月 さん) に返信

    MyはVB用ですがC#などで試しているとかありませんか?
    その場合、再度提示リンク先を見ると分かるかと思います。
記事No.75592 のレス /過去ログ127より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -