0

次のような Windows コンテキスト メニュー項目を作成しました:
key: HKEY_CLASSES_ROOT*\shell\Test\command
command: "c:\Test.exe" "%1"

"C:\Users\John\Desktop\Testă.pdf" を送信すると、%1 が期待どおりに展開されません。 「a」に置き換えられましたが、それは望ましくありません。これはエンコーディングの問題ですか? 誰か助けてくれませんか?

4

1 に答える 1

0

みんなありがとう、私は問題を見つけました。私のプログラムは「int main(int argc, char** argv)」を使用していましたが、Windows 関数 MultiByteToWideChar() を使用した後でも結果は同じでした。「int wmain (int argc, PWSTR* argv)」に変更した後、ようやく探していた結果が得られました。

Windows は Unicode バイトを「wmain」にのみ送信しているようです。

于 2013-02-22T08:41:33.630 に答える