先日に作った、URLを貼り付け時にタイトルを取得してURLの代わりにタイトルを表示したリンクを挿入する、Url2Titleプラグインだけど動作させたくないときがあったので修正してみた。
とりあえずUrl2Titleの話しだけど、他一般でも使える話し。このプラグインではShiftキーが押されていたら処理しないことにした。WLWでのCtrl+Shift+Vによる貼り付けは形式を選んで貼り付けになるため、少し使いづらいのだけど気にしない。
下のコードは修正したイメージ。Myオブジェクトすごー。ようは、My.Computer.Keyboard.ShiftKeyDown は自アプリケーションがアクティブだとかは関係なくて、Shiftキーが押されているかどうかをBoolean値で返してくれます。プラグインの中で使っちゃってもOKなわけですね。
Public Overrides Sub CreateContentFromUrl(ByVal url As String, ByRef title As String, ByRef newContent As String)
If My.Computer.Keyboard.ShiftKeyDown Then
' 処理
Else
' 処理
End If
End Sub
ただし、メソッド呼ばれた時点でShiftKeyDownの値は決まっていて、メソッド中には変化しない。