AutoHotkey スレッド part4

このエントリーをはてなブックマークに追加
433名無しさん@お腹いっぱい。
最近AutoHotKey使いはじめた者です。
見よう見まねで書いてみて、一応やりたいことは動作しているのですが、
このようにErrorLevelに書き込まれる値が頻繁に書き換えられるというような
書き方はマズイでしょうか?
それとLoopは一区切りごとにいったん{}を閉じたほうが良いのでしょうか?

Process,Exist,inkscape.exe
If ErrorLevel<>0
  WinActivate,ahk_pid %ErrorLevel%
else{
  EnvSet,PATH,%PATH%
  Run,inkscape.exe --ignore-wintab, C:\Inkscape
  ;WinWait,ahk_class gdkWindowToplevel
}
ErrorLevel=
Loop{
  Sleep, 100
  Process,Exist,UWSC.exe
  If ErrorLevel<>0
  {
    Suspend, On
    Process,WaitClose,UWSC.exe
    Sleep, 40
    Suspend, Off
  }
  GetKeyState, kb1, RCtrl, P
  if (kb1=="D")
434433続きです:2007/09/18(火) 00:47:54 ID:mJTSMkGg0
  {
    SetTitleMatchMode,2
    IfWinActive, Layers (Shift+Ctrl+L)
      WinActivate, Inkscape
    GetKeyState, kb1, RCtrl, P
    GetKeyState, kb2, a, P
    if ((kb1=="D") && (kb2=="D"))
    {
      SendMode Input
      Send, {F1}>^a
      Sleep, 40
      ;break
    }
  }
  Process,Exist,inkscape.exe
  If ErrorLevel=0
    ExitApp
}
Return

#IfWinActive ahk_class gdkWindowToplevel
  Space::MButton
  ;中略
  Pause::Suspend, Toggle
Return
#IfWinActive
  <#q::Reload
;Return