ぺんちゃん日記

食と歴史と IT と。 Web の旅人ぺんじろうが好奇心赴くままに彷徨います 。

クリップボードに転送するスクリプトをスタートアップに入れるとこける【AutoHotkey】。

f:id:yasushiito:20190403184928p:plain

Windows 起動時にメッセージボックスが表示されている。

私の autohotkey スクリプトクリップボードを多用するので可能な限り破壊しないようにできないだろうかと考えました。
そこで頻繁に利用される関数の中でクリップボードの内容をバックアップして帰り際に戻すようにしてみました。

それ以降 PC の起動時に「 操作に失敗した」メッセージボックスが表示されて実行に失敗するようになりました。
autohotkey スクリプトをスタートアップに登録して PC 起動時に実行されるようにしていましたからね。
クリップボードを操作できないタイミングで実行してしまったのでしょう。

ディレイしてみる。

クリップボード操作処理に入る処理の前にスリープを入れてタイミングをずらしてみました。
しかしこれは効果なし。
注意深く観察すると、 PC 起動時のロック画面で変化がありました。
これまではワンクリックすることでパスワード入力フォームが表示されていたのですが、何もしなくてもパスワードを入力を求められるようになりました。
スリープのタイミングをずらすとロック画面の状況も変化するので、PC 起動時にスクリプトが実行されてクリップボードを操作してしまっているのでしょう。
確かにこのタイミングでプログラムからクリップボードを操作できるのは色々ヤバそうです。

タスクマネージャから起動するように変更してみる。

スタートアップからの起動は順序的に早すぎるのかもしれない。
そこでスタートアップからの起動はやめてタスクマネージャーにタスクを追加します。
サインインした時にスクリプトを実行して常駐するようにタイミングを変えてみます。

この対策も効果なし。
相変わらずロック画面でパスワード入力待ちになるので、サインインしてしまっているのでしょう。
実行ユーザーは自分だけに絞っているのですけど何か間違ってるのかな。
サインインとロック画面は別物なのかもしれない。

ギブアップ。

結局回避する方法は見つからず、諸々の事情もあり AutoHotkey スクリプトの 実行は PC 起動後に手動で行うことになりました。
またつまらぬ記事を書いてしまった…。
インターネットさん、役に立たないゴミクズを撒き散らかしてしまってごめんね。