none
MFC Shell List Controlーパラメータが違います RRS feed

  • 質問

  • VC++2010,VC++2019(v142)

    MFC Shell List Controlをダイアログに貼り付けて、フォルダ表示をしています。

    あるPCでのみ、ダイアログが表示される前に「パラメータが間違っています」というエラーダイアログが表示され
    フォルダー表示を行います。VC++2010,VC++2019ともに。

    原因がわかりません。
    なにが考えられるでしょうか?




    • 編集済み Brillia 2020年9月29日 4:29
    2020年9月28日 6:27

すべての返信

  • エラーダイアログに表示されているのは「パラメータが間違っています」という文言だけでしょうか。できればエラーダイアログの画面を貼り付けていただけますでしょうか。特定のPCでのみ現象が発生するということですが、そのPCにVisual Studioをインストールしてデバッグすることは可能でしょうか。
    2020年9月28日 6:43
  • すみません。MFC Shell List Controlのほうでした。
    MFC Shell Tree Controlでは、下記のエラーはでませんでした。

    ダイアログベースのアプリケーションを作成して、MFC Shell List Controlを貼り付けただけのMFCアプリケーションです。

    EXEをダブルクリックすると

    OKボタン後、下図のようになにも表示されません。

    対象のPC以外は、正常にフォルダーが表示されます。



    • 編集済み Brillia 2020年9月29日 4:29
    2020年9月29日 1:18
  • Brilliaさん、こんにちは。フォーラムオペレーターのKumoです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    特定のPCで発生した現象ですね。
    このPCに関する詳しい情報をご提供いただけませんか?

    コードとデバッグを分析しないと問題の解決には難しいと思いますね。

    メッセージボックスが出てくると、「Break All」をしてcall stackの内容をみてください。
    そして、問題の原因となっている関数とパラメーターを確認できます。

    チュートリアル : 新しい MFC シェル コントロールの使用 をご参照ください。


    どうぞよろしくお願いいたします。 

    MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年9月29日 5:27
    モデレータ
  • 調査途中ですが、原因がわかったようなので報告します。

    MFC Shell Tree Controlのみ貼り付けた場合、問題のメッセージが表示されず、

    MFC Shell List Controlのみ貼り付けた場合、問題のメッセージが表示されるので、
    表示内容を比較したところ、Listコントロール側は、デスクトップにあるファイルも表示しており、
    その辺が原因かと思い、そのPCで新規アカウントでサインインし、確認したところ、問題のメッセージも表示されず
    正常に表示することが確認できました。

    おそらく、デスクトップに貼り付けられているファイルに問題がありそうなのですが、
    問題が発生するアカウントのデスクトップには、デスクトップが埋まるくらいファイルが貼り付けているので、
    すべてのファイルをどこかのフォルダに移動させて確認しようかと思っています。

    現時点では、移動させたら困るらしいので、解決報告までにはいっていませんが、
    途中経過で報告させていただきます。




    2020年9月30日 7:43
  • 試していない中の当てずっぽうですみませんが、MBCS ですかね?
    そうだとすると、デスクトップに MBCS で扱えないファイル名・フォルダー名が存在すれば、エラーが発生する気もします。
    2020年9月30日 12:25
    モデレータ
  • UNICODEで作成しております。
    2020年10月1日 0:07
  • > あるPCでのみ、

    下記サイトを参考にクリーンブート設定を行い、再起動後に問題現象が起きるか確認されることをお薦めします。
    -----------------------------------------------
    Windows でクリーン ブートを実行する方法
    https://support.microsoft.com/ja-jp/help/929135/how-to-perform-a-clean-boot-in-windows
    -----------------------------------------------
    2020年10月1日 1:09
  • ※問題=「パラメータが間違っています」と表示される

    デスクトップに貼り付けられているファイル群を、デスクトップにフォルダを作成し、
    退避させたところ、問題は発生しませんでした。

    原因は、ある1つのファイルにしぼられたのですがが、
    同PC上でそのファイルをダブルクリック起動したとき、
    関連づいているアプリケーションでも「パラメータが間違っています」と表示されました。

    同PC上で対象のファイルをコピーして、ダブルクリック起動したところ問題が発生せず正常起動しました。
    またデスクトップに貼り付けて、MFC Shell List Controlを貼り付けたダイアログを表示させても
    問題は発生せず正常に表示されましたs。

    対象ファイルを別のPCにコピーして、デスクトップに貼ったり、ダブルクリック起動
    してみましたが、問題は発生しませんでした。

    このことから、問題が発生するファイルが記録されているHDDの位置か、ファイルシステムに原因が
    あるのではないかと推測しています。

    chkdsk /rを試してみようかと思います。

    2020年10月1日 7:29
  • 脇から、すみませんが、ファイル名を変更した場合、どうなるでしょう。

    あと、コマンドプロンプト等で、ファイル名を表示した場合、どうなるでしょうか?

    ファイル名に不正な文字が入ってる気がします。

    2020年10月1日 11:55
  • ファイル名を、a.拡張子と変更しましたが、同じエラーが発生します。
    2020年10月7日 6:17