[unity]System.Windows.Forms.dll を使いたい

時々必要に迫られることがあるので、備忘録。
unity2020 で確認。

Player 設定

Project Settings > Player > Other Settings > Configuration > API Compatibility Level*.Net 4.x にします。

dll を Assets 以下に入れる

例えば unity のバージョンが 2020.3.41f1 の場合、System.Windows.Forms.dll はこちらに格納されています。

C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\MonoBleedingEdge\lib\mono\4.5

4.5 以外のフォルダにも System.Windows.Forms.dll はあるのですが、それらのファイルを Assets にコピーした場合、CIL イメージがないというエラーが表示されてしまうので、必ず 4.5 に入っている dll を使いましょう。

全ての dll を比較すると、4.5 の dll だけサイズが違うのがわかります。

Windows のみ使用許可する

dll ファイルを選択し、インスペクターで以下のように設定します。
(Linux や Mac も一見使えそうな設定画面ですが、まぁ、無理でしょう……)

C# からコール

後はいつものように C# からコールします。

using System.Windows.Forms;

void Awake()
{
    SendKeys.SendWait("^v");
}

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA