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

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

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

全過去ログを検索

<< 0 | 1 | 2 >>
■28075  Re[5]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ .SHO -(2008/11/19(Wed) 15:04:00)
    No28072 (まぐねしうむ さん) に返信

    > 確認していなかったのですが、msinfo32に対して間違ったパラメータ等を
    > 渡した際に、エラーが帰ってくると思っていました。

    なるほど。

    もともとmsinfo32はWindowsプログラムで/reportオプションでWindowを
    作らないのは、おまけみたいなもの(言い過ぎかな?)なので
    パラメータのエラーは無視しちゃうだけですね。

    まぁいずれにしても、もしエラーを出力したとしても、msinfo32が
    まともに設計されていれば、エラーは標準エラー出力に出しているはずです。
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28077  Re[6]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ みきぬ -(2008/11/19(Wed) 15:32:16)
    No28075 (.SHO さん) に返信
    > まぁいずれにしても、もしエラーを出力したとしても、msinfo32が
    > まともに設計されていれば、エラーは標準エラー出力に出しているはずです。
    >
    ここがよくわからなかった。エラーダイアログじゃないの?
    標準エラー出力に出したとして、誰が見るの?


    (おまけ)
    ふと思い立って、msinfo32 /report con とやってみたりした。
    これで標準出力に出るかなとわくわくしてたら、「アクセスが拒否されました」のエラーダイアログが出てきた。はうぅ。
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28080  Re[7]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ .SHO -(2008/11/19(Wed) 15:36:37)
    No28077 (みきぬ さん) に返信

    >>まぁいずれにしても、もしエラーを出力したとしても、msinfo32が
    >>まともに設計されていれば、エラーは標準エラー出力に出しているはずです。
    >>
    > ここがよくわからなかった。エラーダイアログじゃないの?
    > 標準エラー出力に出したとして、誰が見るの?

    エラーダイアログです。
    あくまで、(まぐねしうむさんの期待するような形で)もし出したとしても、です。
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28083  Re[7]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ .SHO -(2008/11/19(Wed) 15:51:46)
    No28077 (みきぬ さん) に返信

    > ふと思い立って、msinfo32 /report con とやってみたりした。
    > これで標準出力に出るかなとわくわくしてたら、「アクセスが拒否されました」のエラーダイアログが出てきた。はうぅ。

    思わず自分もやってみてしまった(笑)
    なんでアクセスが拒否されるんだ?
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28071  Re[3]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ ぽぴ王子 -(2008/11/19(Wed) 14:46:17)
>
    No28063 (まぐねしうむ さん) に返信

    >>これ、このままじゃコンパイルすら通らないような気がしますが、ミニマムコードとして
    >>成立していますか?
    > VS2005 Sp1を使っていますがコンパイル自体は通ります。

    ふむふむ。VS2008(SPなし) ではコンパイル以前に注意されてしまいました。
    > 無効なトークン '=' が クラス、構造体またはインターフェイスのメンバ宣言で使用されています。
    だそうです。

    //コマンドラインを指定
    psi.Arguments = "\"" + @"%CommonProgramFiles%\Microsoft Shared\MSInfo.\msinfo32.exe" + "\"" + " /report " + strPath + @" /categories +all";

    じゃないかな?と思ったのです。

    > また、ご指摘の箇所を書き換えてpsi.Argumentsの中を確認したところ
    > "\"%CommonProgramFiles%\\Microsoft Shared\\MSInfo.\\msinfo32.exe\" /c /report \"C:\\msinfo.log\" /categories +all"
    > となっております。

    そうなったのはいいのですが、それでどうなったのでしょうか。
    できたと書かれていないということは、それでもダメだった、ということですか?


    No28064 (.SHO さん) に返信
    > ■No28060 (ぽぴ王子 さん) に返信
    >
    >>あと、 strPath もダブルクォートで囲む必要があるし…
    >
    > strPath は、別のところでパスの宣言を忘れてるだけでしょう。
    > ダブルクォートで囲ったら変です。

    ちゃんと書かなかったので意味が伝わらなかったかもしれませんが、 "strPath" と書け、という意味ではないですよ。
    strPath にパス名が入ると思うので、Program Files のようにスペースが入ったパスになった場合を考えて、最終的に
    ダブルクォートで囲んだ方がいいよね、という話です。

    No28066 (まぐねしうむ さん) に返信

    > ご指摘の通り、参考というか丸パクリさせていただいています。
    > あくまでも、コマンドプロンプトを通して
    > 情報が出力できるか確認したかったもので・・・

    参考でも丸パクリでもいいですが、それならそうと書いてください。
    スレ主さんの書いたコードが悪いのか、それとも参考元が悪いのかの判断がつきませんし、参考元がマズい場合はフィードバック
    する必要もあるでしょう。どぼん!さんのコードを丸パクリして「俺が<del>育てた</del>書いた」と言いはるのはいかがなものか
    とは思いますが。

    >>これ、そもそも msinfo32 は、処理結果を /report で指定された
    >>ファイルに出力するのであって、標準出力に吐き出すわけではないので
    >>取れるわけないです。
    >
    > 最初の説明にも記載させて頂きましたがシステム情報をファイルに
    > 出力するのが目的です。
    > 標準出力側は、いい言葉が見つからないのですが、コマンドの実行結果?を
    > 表示しようと考えています。

    えーと、どぼん!さんのコードが何をしているのか理解されていますか?
    標準出力に出力された内容を取り出して表示していますよね。
    で、.SHO さんの指摘は「そもそも標準出力に出てないんだから、それを取り出しても意味ないんじゃね?」という話です。
    # と思ったら書かれていた
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28074  Re[4]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ .SHO -(2008/11/19(Wed) 14:58:45)
    No28071 (ぽぴ王子 さん) に返信

    > Program Files のようにスペースが入ったパスになった場合を考えて、最終的に
    > ダブルクォートで囲んだ方がいいよね、という話です。

    あーなるほど!意外と奥が深かったですね^^;
    失礼しましたm(_"_)m
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28073  Re[4]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ まぐねしうむ -(2008/11/19(Wed) 14:58:28)
    No28071 (ぽぴ王子 さん) に返信
    > そうなったのはいいのですが、それでどうなったのでしょうか。
    > できたと書かれていないということは、それでもダメだった、ということですか?
    依然状況変わらず、msinfo.logが作成されません。

    > 参考でも丸パクリでもいいですが、それならそうと書いてください。
    おっしゃる通りです。

    >丸パクリして「俺が<del>育てた</del>書いた」と言いはるのはいかがなものか
    > とは思いますが。
    誤解を招く表現で申し訳ありませんでした。
    自分では「◆書いたコード」=「実行しているコード」程度の認識でした。
    今後気をつけたいと思います。

記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28079  Re[5]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ ぽぴ王子 -(2008/11/19(Wed) 15:33:49)
>
    No28076 (.SHO さん) に返信
    > ■No28063 (まぐねしうむ さん) に返信
    >>また、ご指摘の箇所を書き換えてpsi.Argumentsの中を確認したところ
    >>"\"%CommonProgramFiles%\\Microsoft Shared\\MSInfo.\\msinfo32.exe\" /c /report \"C:\\msinfo.log\" /categories +all"
    >>となっております。
    > 
    > で本題ですが…^^;
    > 
    > Console.WriteLine(psi.Arguments);
    > で上記のようになったわけですよね。
    > 
    > 一番最初の「"」とかいらないし、「"」をエスケープする「\」もいらなくないですか?
    
    一番最初の「"」と、エスケープするための「\」は勝手に出力されるものです。
    IDE を使用されていないとのことなので、ご存知ではないかと思いますが。
    
    なんだか(私を含め)スレ主さんを混乱させてしまう投稿があったようなので、もう一度まとめてみます。
    
    ・msinfo32.exe は /report ファイル名 で指定したファイルにレポートを出力するので、標準出力には
     何も出力されない。
     その代わり、exit code として 1 または 0 を返す。
    
    ・コマンドプロンプト cmd.exe へのパラメータでファイルを実行させるには /c スイッチが先頭に必要。
    
    ・%CommonProgramFiles% は自動的には展開されない。
    
    ・MSInfo. ではなく MSInfo である。
    
    以上をふまえると、コマンドラインはこんな感じになります。
    
        ProcessStartInfo psi = new ProcessStartInfo();
        // ComSpecのパスを取得する
        psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
    
        // 出力を読み取れるようにする
        psi.RedirectStandardInput = false;
        psi.RedirectStandardOutput = true;
        psi.UseShellExecute = false;
        // ウィンドウを表示しないようにする
        psi.CreateNoWindow = true;
        // CommonProgramFilesフォルダを取得
        string commonProgramFiles = System.Environment.GetEnvironmentVariable("CommonProgramFiles");
        // コマンドラインを指定
        psi.Arguments = "/c \"" + commonProgramFiles + @"\Microsoft Shared\MSInfo\msinfo32.exe\" /report \"" + strPath + "\" /categories +all";
        /* strPath は ダブルクォーテーションを含まない形にする */
    
        // 起動
        System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
        p.WaitForExit();
    
        if (p.ExitCode == 0)
        {
            string result = File.ReadAllText(strPath);
    
            //出力された結果を表示
            Console.WriteLine(results);
        }
    
    もう少しつっこむところはあるかとは思いますが、とりあえずこんな感じです。
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28082  Re[6]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ .SHO -(2008/11/19(Wed) 15:44:26)
    No28079 (ぽぴ王子 さん) に返信

    > 一番最初の「"」と、エスケープするための「\」は勝手に出力されるものです。
    > IDE を使用されていないとのことなので、ご存知ではないかと思いますが。

    ひぃ〜、そうなんですか。びっくりです。
    勉強になりました。以後、気をつけます。

    > ・%CommonProgramFiles% は自動的には展開されない。

    やっぱりそうですか。
    そこも気になってはいたんですが、面倒なので検証はしませんでした。

    > もう少しつっこむところはあるかとは思いますが、とりあえずこんな感じです。

    まとまりましたね。ありがとうございます。
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28084  Re[6]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ まぐねしうむ -(2008/11/19(Wed) 16:11:39)
    No28079 (ぽぴ王子 さん) に返信
    
    そのままCopyしましたが
    psi.Arguments = "/c \"" + commonProgramFiles + @"\Microsoft Shared\MSInfo\msinfo32.exe\" /report \"" + strPath + "\" /categories +all";
                                                                                                     ~~~~
    「文字 '\' は予期されていません。」が表示されます。
    もしかして、No28058 でも指摘されていましたが
    SP1とSPなしでは動きが違うのでしょうか?
    それとも、こちらの実行環境が壊れているのでしょうか?
    
    これをコンパイルが通るように
    psi.Arguments = "/c \"" + commonProgramFiles + @"\Microsoft Shared\MSInfo\msinfo32.exe" + '"' + " /report " + '"' + strPath + "\" /categories +all";
    に書き換えましたが、依然ファイルが作成されません。
    
    psi.Argumentsの中身は
    "/c \"C:\\Program Files\\Common Files\\Microsoft Shared\\MSInfo\\msinfo32.exe\" /report \"C:\\msinfo.log\" /categories +all"
    になります。
    これをコマンドプロンプト上に貼り付けて実行した所
    ファイルが作成されますので、コマンドライン自体は問題ないと思います。
    
    あと、細かい事ですが
    string result = File.ReadAllText(strPath);
    
    //出力された結果を表示
    Console.WriteLine(results);
                      ~~~~~~~
                      result ですよね
    
    すみません、何がいけないのでしょうか?
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28085  Re[7]: システム情報 ツールの情報をエクスポートするには?
□投稿者/ 魔界の仮面弁士 -(2008/11/19(Wed) 16:24:52)
    No28084 (まぐねしうむ さん) に返信
    > すみません、何がいけないのでしょうか?

    問題点を切り分けていきましょう。

    まず、バッチファイルからの起動はできますか?
    C:\sample.cmd (あるいは、.bat) ファイルに「cmd.exe /c "〜〜 /report 〜〜 +all"」の一文を
    記述し、そのファイルを実行できるかどうかを確認してみてください。

    それでログが出力されるのであれば、次に、そのバッチファイルを
    Process クラス経由で実行できるかどうかを確認してみてください。

    それもうまくいくようなら、バッチファイルの記述と、psi 変数に指定した内容とで、
    何か相違点が無いかどうかを確認してみてください。
記事No.28058 のレス /過去ログ51より / 関連記事表示
削除チェック/

■28779  画像の接合について
□投稿者/ はとまめ -(2008/12/01(Mon) 00:28:35)

    分類:[.NET 全般] 

    VB2008.NETで、jpeg画像の接合は可能でしょうか。
    たとえば、1a.jpg,1b.jpg,1c,jpg,1d.jpgの4つを、1a,1b
    1c,1d
    のように4つを接合して1つの画像にする方法を考えています。
    いろいろ調べて見たのですが、ヒントになるものが見あたらなく質問させて
    頂きました。

親記事 /過去ログ52より / 関連記事表示
削除チェック/

■29698  Vistaでのmsinfo32.exeの動きに関して
□投稿者/ まぐねしうむ -(2008/12/12(Fri) 14:04:39)

    分類:[C#] 

    2008/12/12(Fri) 14:07:06 編集(投稿者)

    お世話になります。
    No28058 で質問させていただいた件で教えてください。
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=28058&KLOG=51

    前回の質問の際に教えていただいた方法でXPでの情報収集は
    行えるようになったのですが、VistaUltimate Sp1で試してみた所、
    msinfo32の画面自体が上がってきてしまい期待通りの動作をしません。
    期待している動きは、裏側でシステム情報をTXTファイルに出力する事なのですが
    VistaではMsinfoが普通に起動してしまいます。

    msinfo32.exe自体の場所はレジストリの
    LocalMachine\Software\\Microsoft\\Shared Tools\\MSInfo\\Software\\Microsoft\\Shared Tools\\Location\\MSInfoから
    取得してきており
    また実際にEXEが起動するのでパス自体は通っておりVistaのセキュリティ側で
    弾いているか何かをしている気がします。

    確認の為DOS画面から
    msinfo32.exe /report c:\test.txt /categories +all
    と入力する事で期待通りの動きをします。

    どなたか原因や解決方法をご存知ではないでしょうか?
親記事 /過去ログ53より / 関連記事表示
削除チェック/

■52120  Re[2]: Windows7 パーティション分割について
□投稿者/ ari -(2010/07/31(Sat) 21:51:22)
    No52117 (やじゅ さん) に返信
    > 2010/07/31(Sat) 15:29:58 編集(投稿者)
    >
    > ■No52115 (ari さん) に返信
    >>HDDのサイズは250GBあり、そのうちC:\が約220GBありボリュームの縮小にて空き容量を100GBつくり、
    >>拡張パーティションにしようとしましたが上記エラー内容にてできません。
    >>
    >>今までXpやVISTAではできていたのですが、Windows7ではさらに分割する作業が必要なのでしょうか?
    >
    > Windows7で出来なくなったってことはないと思います。
    > ボリュームの縮小が出来ない場合、ファイルの断片化が問題ありってことでデフラグするとか
    > なんでしょうけど、そこまでは大丈夫そうですね。
    >
    > 検索したら、同様の原因を発見しましたけど、回答は別ソフトを使用してみてってことでした。
    > http://soudan1.biglobe.ne.jp/qa5513722.html
    >
    > EASEUS Partition Master
    > http://www.forest.impress.co.jp/docs/news/20100730_384474.html

    ありがとうございます。
    早速試してみたいと思います。
記事No.52115 のレス /過去ログ87より / 関連記事表示
削除チェック/

■52119  一定時間経ったら処理する方法が分からない
□投稿者/ アンチョビ -(2010/07/31(Sat) 21:45:46)

    分類:[C/C++] 

    Microsoft Visual C++ 2008 Express Edition を使ってます。DXライブラリ使用。
    落ち物ゲーを作りたいのですが、一定時間経ったら処理するっていう方法が分からないです。
親記事 /過去ログ87より / 関連記事表示
削除チェック/

■52121  Re[1]: 一定時間経ったら処理する方法が分からない
□投稿者/ επιστημη -(2010/07/31(Sat) 22:39:00)
>
記事No.52119 のレス /過去ログ87より / 関連記事表示
削除チェック/

■52123  テキストボックスでタグを利用するには???
□投稿者/ フェテル -(2010/07/31(Sat) 23:37:02)

    分類:[.NET 全般] 

    .netの仕様で危険なコードをリクエストでいれることが出来内容になっていると思いますがそのことについて教えて下さい。
    http://mindia.jp/book/error/entry/1673
    このページを参考にしましたが・・・
    テキストボックスをWEBアプリ上に配置してありそれを元にXMLやHTMLを生成しています。
    現状ではエラーが起きてしまうのですがタグなどを許可したいとは思っています。
    しかし、全許可は危ないですよね???
    たとえば<script></script>タグなんて・・・
    しかし、他にセキュリティ上問題となるようなタグが思いつきません。
    あと気になるのは変なタグを入れられると書体が丸崩れになるところでしょうか・・・
    いい対策があれば教えて下さい。
親記事 /過去ログ87より / 関連記事表示
削除チェック/

■52124  Re[1]: テキストボックスでタグを利用するには???
□投稿者/ れい -(2010/08/01(Sun) 00:03:45)
    No52123 (フェテル さん) に返信
    > しかし、他にセキュリティ上問題となるようなタグが思いつきません。
    > あと気になるのは変なタグを入れられると書体が丸崩れになるところでしょうか・・・
    > いい対策があれば教えて下さい。

    そのxmlなりHTMLなりを
    何処において誰がどう見るのか、
    本当によくよく考えないといけませんよ。

    Cross Site Scripting(XSS/クロスサイトスクリプティング)と呼ばれてますので
    調べて勉強しましょう。

    タグが閉じられていない時はどうなりますか?
    Less-Than Sign(<)やGreater-Than Sign(>)が不一致であっても大丈夫ですか?
    不正な文字コードで送られてきても大丈夫ですか?

    勉強が大変なら全てのタグ・特殊文字を禁止しておきましょう。
記事No.52123 のレス /過去ログ87より / 関連記事表示
削除チェック/

■52122  Re[3]: Oracle10gExpressEditionの接続について
□投稿者/ はつね -(2010/07/31(Sat) 23:01:21)
    2010/07/31(Sat) 23:02:58 編集(投稿者)

    No52085 (裕猫 さん) に返信
    > con.ConnectionString = MKST.UID;

    MKST.UIDの内容がわからないと接続文字列がわかりません。

    ところで会社で開発しているプログラムコードって自宅に持ち出し禁止だったりする場合も多いと思うのですが大丈夫?
記事No.52058 のレス /過去ログ88より / 関連記事表示
削除チェック/

■68549  [C#]逆ポーランド記法の電卓
□投稿者/ そる -(2013/10/27(Sun) 01:44:41)

    分類:[C#] 

    C#で、普通の計算式を打ち込んでイコールを押すと、逆ポーランド記法の計算式が表示されるプログラムを作成したいです。

    そこで、普通の電卓のプログラムと、逆ポーランド記法に変換するプログラムを見つけたのですが、どう組み合わせればよいのか分かりません。

    どなたか力を貸していただけないでしょうか。

    プログラムが長いので、こちらにワードファイルでアップしました。

    http://firestorage.jp/download/80dceb1dc45f4effceef012009542ed8c9c38df8
親記事 /過去ログ116より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 >>

パスワード/

- Child Tree -