2017年1月28日土曜日

SAI2で定期自動保存

ちなみにVBSの実行タスクはこれね。

タイトル通りです。
SAI2で謎落ちとか謎エラーとかで保存がああああああってなるので、正直結構辛いのでVBSでSAI2のファイルを定期的に自動保存するスクリプト書いてみた。

15分に1度、「sai2 (*)」という文字が入っているタイトルを探して、それをアクティブにしたのちCtrl+Sキーを押すというもの。よくある「sai2が先に立ち上がってないとだめ」という事はないので自由に叩きましょう。

ちなみに実行後、無限ループするから多重実行は気を付けてね。多重実行したときとか、要らないときはVBSはタスクからキルしてね。

あとVBSが何なのかとか、VBSの作り方とか、起動の仕方とか、ソースの環境依存の問題とかはググればなんとかなるよ。たぶんね。

以下ソース
'寝るミリ秒数
Dim SleepTime
SleepTime = 15*60*1000'15分間に1度動く
Dim strName
'strName= "PaintTool SAI"'前方一致(常に一定時間後保存を行う)
strName= "sai2 (*)"'後方一致(拡張子が.sai2のファイルを編集しているときのみ保存を行う)
'始まるよー
Main()

'メイン関数
Function Main()
  Dim objShell
  'シェルのオブジェクトを作成する
  Set objShell = CreateObject("WScript.Shell")

  On Error Resume Next
  Do
    If objShell.AppActivate(strName) Then objShell.SendKeys("^s")
    WScript.Sleep SleepTime'ここでスリープ
  Loop
  GetError()
  Err.Clear
  On Error Goto 0

  Set objShell = Nothing
End Function

'例外通知
Function GetError()
  GetError = True
  If Err.Number <> 0 Then
    MsgBox "例外:" & Err.Number & ":" & Err.Description
    Exit Function
  End If
  GetError = False
End Function

2017年1月21日土曜日

win10からメモリを100MBくらい開ける

win10のパソコン仕入れたけど全然全くメモリに余裕がないよ!って感じのまとめ。
その1
以下のフォルダにメモリが若干食われるコルタナちゃんとウィンシェルちゃんがいる。

C:\Windows\SystemApps\
Microsoft.Windows.Cortana_cw5n1h2txyewy
ShellExperienceHost_cw5n1h2txyewy

こいつらが地味にメモリ食うので止める。
・コルタナちゃん
30~60MB:止めるとwin内での検索ができなくなるけどそれくらいしかデメリット無い
・ウィンシェルちゃん
30MB:止めるとwinボタンが無効になる。デスクトップにシャットダウンとかのショートカット置くなりして対策するか緊急用としてじゃね。

その2
60MB近く食うwindows defenderなるものがいるけど、これは別のアンチウイルスソフト(Avastとか)入れれば消えてくれる。Avastちゃんは25MBくらいなのでまあまあまあ。

その3
「dwm.exe」というのが地味にメモリを食っていく。一応どっかの時計みたいに延々とメモリリークするわけではない。
溜まってたらキルして一旦メモリを吐き出して貰おう。コマンドプロンプトだと以下の感じ。
taskkill /F /IM "dwm.exe"


最後に
全部やると100MBくらい空いてくれる。
これとは別にちゃんとメモリークリーンもしようね。