UWSCスクリプトを作るとき、最初に public DEBUG=true なんておまじないを付けているのは私だけではないはず。 でも、これってtrue/falseを設定し忘れたりすると、結構めんどいことになることもあります。
ECサイトで思いがけずポチっちゃったりして。
で、自動でデバッグ中かどうかを返す関数を作ってみました。 デバッグ中かどうか、なんてどうしてわかるの? という方はスクリプトを読んでください。 IsInDebug.uws if Get_Uwsc_Name="IsInDebug.uws"
endif function isInDebug() with createoleobj("WbemScripting.SWbemLocator") getOleItem(.ConnectServer.ExecQuery( "SELECT * FROM Win32_Process" )) endwith ParentPid="" ParentName="" for process in All_Ole_Item if process.processid=status(getid(GET_THISUWSC_WIN), ST_PROCESS) ParentPid=process.ParentProcessId break
next for process in All_Ole_Item if process.processid=ParentPid ParentName=process.Name ParentName=copy( ParentName, 1, length(ParentName)-4 )
next result=!(!pos( ParentName, MyEditors )) textblock MyEditors sakura mery code atom endtextblock fend スクリプトの冒頭でコールしておけば、必要な時 if IsInDebug() とかで制御できます。 デバッグ中かどうかの判定は、エディタから起動したかどうか。ただそれだけ。 テキストブロックに使いそうなエディタを書いておけば大抵用は足りると…。