1. ホーム
  2. visual-c++

[解決済み] CreateProcessとCreateProcessAの違いは何ですか?

2022-02-08 23:51:36

質問

CreateProcess と CreateProcessA の違いは何ですか?また、VC++ 2008 でこれらに代わるものはありますか?

私はまた、CreateProcessA関数を使用して、これはあるシステムではうまく動作しますが、他のシステムでは失敗するという問題があります。

また、CreateProcessを使用すると、Cannot convert 2 parameter from 'CHAR[40]' to 'LPWSTR' I am in unicode modeというエラーが表示されます。

どうすればいいですか?

まず、CreateProcessは、CreateProcessAとCreateProcessWを切り替えるマクロで、それぞれANSIまたはUnicodeの文字列を受け取ります。これは、プロジェクトのビルド設定(文字セットプロジェクトのプロパティ)、UnicodeとMulti-Byteに依存します。一般的には、Unicodeにしたいものです。これにより、グローバル化が可能になり、サポートされる言語が増えるからです。

charからLPCWSTRに変換する際の文句は、WSTR、つまりワイド文字列、またはユニコード文字列の型を期待していることを示しています。回避策としては、_T("blahblah")マクロを使用してcharを宣言することです。