PCのクリップボードからWP7 Mangoエミュレータのクリップボードに転送できるものを作った。

Windows Phone 7で開発してると、エミュレータにペーストしたくなりますよね。URLとか。というわけで、PC側からエミュレータクリップボードの内容を転送するデモを作りました。Mango向けです。こちらからダウンロードできます

動かす前に、管理者権限持ちのコマンドプロンプトで以下のコマンドを実行する必要があります。

netsh http add urlacl url=http://localhost:32888/ user=\[Windowsのログイン名]

ドメイン環境の人はこうかな。

netsh http add urlacl url=http://localhost:32888/ user=[ドメイン名]\[ログイン名]

サーバーとWP7アプリを両方起動して、WP7アプリで左側ボタン「copy」を押すだけです。URLを認識すると、IEで開くか聞いてきます。



仕組みとしては、PC側はHttpListenerでAPI軽くでっち上げて、WP7側はそれに対してHttpWebRequestしてるだけです。

ちなみに、右のSendボタンはWP7からPCへクリップボードのデータを転送するボタンだったのですが、SecurityExceptionで使うことができません。MSDNによると昇格しないといけないっぽいんだけど、どうやってやるんだろう・・・*1

*1:http://msdn.microsoft.com/en-us/library/ms597033%28v=vs.96%29.aspx