 ------------------------------------------------------------------------------
	Paper Plane xUI  WSH Script Module R23+1 Copyright (c)2004-2026 TORO
 ------------------------------------------------------------------------------

	 PPXSCR.DLL ́AWSH(Windows Scripting Host) ̂悤
	ActiveX Scripting Host 𗘗p PPx ŃXNvgs
	PPx Module łB

	̔ł Script Module ́APPx 1.97 ȍ~pɍ쐬Ă܂B
	0.43`1.96ł삵܂ASĂ̋@\p邱Ƃ͂ł܂B


ΉXNvg

	ΉXNvǵAJscript, VBscriptAWSHŎgp\
	XNvg̑SĂłB

	XNvg̎ނ́AgqŔ肵Ă܂B
	̂߁AXNvgp̊gq(.vbs .js)蓖Ă
	ȂXNvgAP̃XNvgt@Cɕ
	݂łLq@ɂ͑ΉĂ܂B

	EΏۃXNvg(ʏ̓쌟؂ɎgĂ܂)
	  Jscript(.js)
	  VBscript(.vbs)  2023/10 񐄏ɂȂAĂꍇ
	  		    ܂B̂Ƃ͗L̍ƂKvłB

	EmFΏ(ȒPȓmFĂ܂Aڍׂ̊mF͂Ă܂)
	  Python(.pys)	ActivePython-2.7.14.2717 œmF
			( C:\Python27\Lib\site-packages\win32comext\axscript\
			 client\pyscript.py sȂ Scripting Engine 
			 o^܂)
			ActivePython-3.6.6 ́A삵܂
			(WSHł삪肵Ă܂)
	   PerlScript(.pls) ͍ŋ߂ ActivePerl(5.26) ł Scripting Engine
	     (bin\PerlSE.dll)ȂȂAgpłȂȂ悤łB

	EJscript(Javascript)̎s͒ʏ JScript.DLL gp܂A
	  IE9 ȍ~Œǉꂽ荂ŌdlV JScript9.DLL /
	  Chakra.DLL gp邱Ƃł܂B

	  (1)XNvgt@C̊gq .js9 gpꍇA
	    JScript9.DLL gp܂B܂A_others:usejs9 = 3 ̓
	    Ȃ܂B

	  (2)XNvgt@C̊gq .jsc gpꍇA
	    Chakra.DLL gp܂B܂A_others:usejs9 = 4 ̓
	    Ȃ܂B

	  (3)JX^}CYɂ _others:usejs9 Ɉȉ̒lݒ肷ƁA
	    gq .js ɑ΂铮삪ς܂B
	      0 (l)  ]Ɠ(JScript.DLL, JScript 5.7)
	      1           JScript9.DLL gpBJScript 5.7
	      2           JScript9.DLL gpBJScript 5.8
	      3           JScript9.DLL gpBECMAScript 5
	      4           Chakra.dll gpBECMAScript 2015/ES6

	    ) *setcust _others:usejs9=1
	      PPx ̍ċN JScript9.DLL ̎gpLɂB

	  (4) Chakra.dll gp̒ӓ_
	   EChakra.dll ́AScriptEngineMajorVersionAEnumerator 
	     Javascript ɂȂ JScript ŗL̋@\g܂B
	     Enumerator ͑ PPx.Enumerator gpĂB
	   EJScript9.DLL ƕpƈُI邽߁Ap֎~
	     Ă܂B


XNvg̎s@
EXNvgt@Cs

	PPXSCR.DLL (64bit : PPXSCR64.DLL, 64bit Arm : PPXSCR64A.DLL)
	PPx fBNgɗpӂAPPx 
	u*script XNvgt@Cvs邱ƂŃXNvg
	s邱Ƃł܂B

	u%*script(XNvgt@C)vsƂ́A
	XNvg PPx.Result Ɏw肵eWJ܂B

	*scriptw / %*scriptw  *script / %*script ̕ʖłB
	܂B

	XNvgt@C̕R[h́AWindows ̕Wݒ
	i{ Shift_JISjɏ]܂B
	UTF-8 ɂƂ́ABOM t UTF-8 t@CɂĉB

	XNvgt@C̃JgfBNǵAs̃Jg
	fBNgłBPPx ̃pXɂƂ́A
	u*script %0\XNvgt@CvƂ܂B

	p[^ǉŎw肷Ƃ͂ꂼu*script XNvg
	t@C, 1, 2cvAu%*script(XNvgt@C,
	1, 2c)vƂȂ܂B

	APPXSCR.DLL  OS ɓo^KvȂ̂ŁAXNvg
	g߂ɃWXgύXKv͂܂B
	iAWXg𔺂IuWFNggΕύX܂j


	XNvǵAR}hs\ȂƂȂ牽łgpł
	߁AŌ͈̎͂łȂ̂Ƃł܂B


ECCXNvgs

	JScript / VBScript ́AR}h̃p[^ƂăXNvg
	ڋLڂĎs邱Ƃł܂B
	JScript / VBScript ̃XNvgt@C̊gqƓO
	R}h/֐(*js, *js9, *jsc, *vbs / %*js, %*js9, %*jsc, %*vbs)
	gpƁAPXNvgƂĎs܂B
	
	) *js "PPx.Echo(""EntryIndex:"" + PPx.EntryIndex)"
	    *vbs %OC"PPx.Echo ""EntryIndex:"" & PPx.EntryIndex & vbCrLf & _
	    	""EntryName:"" & PPx.EntryIndex" ' sL̗(%OC gp)


R}h^XNvg̗

	Ⴆ΁APPc̃n[hN쐬 \[F12] gāȀ
	HO_CAOɗ\ߕ\R}h [@] 
	o^ꍇ͎̂悤ɂȂ܂B

	PPx ̃JX^}CY:

KC_main = {
'@' , %k"\F12 &'@'" ; XNvgo^ &[@] 
}
K_edit = {
&'@' , *script %0editname.vbs
}

	 L̓JgfBNg editname.vbs s܂B

editname.vbs:  PPx̎st@CfBNgɕۑ
'!*script
filename = PPx.Extract("%R") '  "%{%|%Y%|.%t%}" ƂĕҏW
(ŖOH)
PPx.Execute("*replace " & chr(34) & filename & chr(34))


֐^XNvg̗

	LR}h^XNvgƓe֐^XNvgłȂ
	ꍇ͎̂悤ɂȂ܂B

	PPx ̃JX^}CY:

KC_main = {
'@' , %k"\F12 &'@'" ; XNvgo^ &[@] 
}
K_edit = {
&'@' , *replace "%*script(%0editname2.vbs)"
}

editname2.vbs:  PPx̎st@CfBNgɕۑ
'!*script
filename = PPx.Extract("%R") '  "%{%|%Y%|.%t%}" ƂĕҏW
(ŖOH)
PPx.result = filename


XNvg̎sȒPɂ邽߂̐ݒ(ʏ͐ݒς݂ł)

	EeXNvg̍ŏ̍sɎ̃RgLڂƁAPPx
	  Script ƔF邽߁Aq̃JX^}CYŔʎs邱Ƃ
	  ł܂B
	  LڂĂʎsłȂȂ邾Ŏs\łB
	  ̃JX^}CYĂ *script R}hŎs邱Ƃ
	    ł܂B

	Jscript(.js)		//!*script
	VBscript(.vbs)		'!*script
	PerlScript(.pls)	#!*script
	Python(.pys)		#!*script
	RubyScript(.rb)		#!*script

	Eȉ̐ݒƁAPPc  Enter ݂̂ PPx Script Ɣʂ
	  XNvgs邱Ƃł܂B

E_cr	= {
:XVBS	,%"Script" *script %{%R%|%}
:XJS	,%"Script" *script %{%R%|%}
:XPLS	,%"Script" *script %{%R%|%}
}


XNvg̏

	PPx Script ́AWSH Ɠ悤 ActiveX Scripting Host 𗘗p
	܂̂ŁA@gݍ݊֐́AWSH ƂقړłB

	̂߁AWSH Ɠ悤ɃXNvg΁A삷Ǝv܂B

	܂AWSH ̉ WWW ŏڂĂTCgAЗނ
	܂̂ŁAQƂĂB
	e팟TCgŁuWSHvL[[hɂČ΁ATCg
	܂B

	AWSH ́AuWScript.CreateObjectvAIuWFNg WScript.xxxx 
	܂APPx Script Module ł́APPx.xxxx ƂȂ܂B
	uWSH ݊nvɋLڂȂAWScript.CreateObject sƂȂ
	gpł WSH ̃\bhEvpeB͎gpł܂B


XNvg̎e

	PPx Script Module ̓IuWFNguPPxvĂ܂B
	ȊO OS ɓo^ς݂̋@\(WScript.Shell, WScript.Network,
	Scripting.FileSystemObject, InternetExplorer.Application )́A
	PPx.CreateObject oRŎgp邱Ƃł܂B

	gp VBscript pĂ܂B
	JScript ̏ꍇ́Ae탁\bĥƂɈu()vŊĂB

EWSH ݊n
  args =	PPx.Arguments	(.Count,.Item(n))		RNV
  string =	PPx.Argument(n)					\bh
  object =	PPx.CreateObject("objectname"[,"Prefix"])	\bh
		PPx.ConnectObject(object, "Prefix")		\bh
		PPx.DisconnectObject(object)			\bh
  object =	PPx.Enumerator(collection)			\bh
		PPx.Echo "strings"				\bh
		PPx.Quit [result]				\bh
		PPx.Sleep time					\bh
  name =	PPx.ScriptName					vpeB(R)


    Eargs = PPx.Arguments					RNV

	XNvg̈ɊւRNVłBforeach()ł܂B

	.Item(n)	nԖ(0JEg)̈ߒlt\bhłB
			PPx.Arguments(n), args(n) Əȗ\łB
			-1 w肷ƃp[XÖ擾ł܂B
	.Count		̐ߒlt\bhłB
	.length 	̐ǂݍݐpvpeBłB
	.atEnd(), .moveNext(), .Reset(), .value
			foreach/Enumerator gȂƂɎgp񋓋@\ł
		) for (var a = PPx.Arguments(); !a.atEnd(); a.moveNext() ){
			PPx.Echo(a.value);
		    }


    Eargs = PPx.Argument(n)					\bh

	nԖ(0JEg)̃XNvg̈擾郁\bhłB
	-1 w肷ƃp[XÖ擾ł܂B


    Eobject = PPx.CreateObject("WScript.Shell"[,"Prefix"])	\bh

	OS ɓo^ꂽ ActiveX IuWFNg쐬܂B
	Prefix LڂƂ́ACxg Prefix + Cxg 
	\bhi) PrefixOnVisible(e) js܂B


    EPPx.ConnectObject(object, "Prefix")			\bh

    	PPx.CreateObject ō쐬IuWFNg̃Cxgs\ɂ܂


    EPPx.DisconnectObject(object)				\bh

    	PPx.CreateObject ō쐬IuWFNg̃CxgsI܂


    Eobject = PPx.Enumerator(collection)			\bh

	JScript  new Enumerator ȂƗ񋓂łȂ collection(1) 
	񋓂邽߂̃IuWFNg쐬܂BChakra.dll 
	new Enumerator KvȃIuWFNggp邽߂̃\bhłB

	g object = new Enumerator(collection) ƓłA
	\bhƂ .atEnd(), .moveNext(), .moveFirst(), .item() 
	pӂĂ܂B

	) for (var v = PPx.Enumerator(collection); !v.atEnd(); v.moveNext()){
	        PPx.report(v.item().member + '\r\n');
	    }

	AVBS ł foreachAV8 / QuickJS łł for ( of ) gpł܂B

	1 IEnumVARIANT ̂ݗpӂĂAIDispatch ȂIuWFNg


    EPPx.Echo "strings"			\bh

	w肵e|bvAbvEBhEŕ\܂B
	Ao͐Ao͕@ႤAPPx.linemessage, PPx.report, PPx.log 
	܂B
	͑҂Ȃꍇ́APPx.linemessagegpĂB


    EPPx.Sleep time				\bh

	w~b̊ԁAҋ@܂BA1ms Aɒ[ɒZԂw肵
	Ăۂɑ҂̂ 10ms ƂȂ̂ŒӁB܂ 0ms w肷ƁA
	ԑ҂͂܂񂪁AʃXbhEʃvZXɑɃ^XN
	XCb`܂(*wait time )B

	bZ[W[v񂷏ꍇ́A*wait time,1/2  PPx.Execute 
	sĂB


    EPPx.Quit [result]				\bh

	XNvg̎s𒆎~܂BXNvg̎s𒆎~ĂPPx
	I܂B PPx Iꍇ %K"@&F4" sĂB

	result  1 (I)  -1 (s~) ʏw肵܂B
	w肪Ƃ 1 ɑ܂B
	uPPx.Quit -1v result  -1 w肷ƁA*script R}hȍ~
	R}hs𒆎~܂B
	uPPx.Quit 0v result  0 w肷ƁAuR}h*script͂
	܂vG[ɂȂ̂ŁAw肵ȂłB

	) *script sample.js %: explorer
	    sample.js  PPx.Quit()s explorer s
	    sample.js  PPx.Quit(-1)s explorer sȂ

	) echo %*script(sample.js) %: explorer
	    sample.jsPPx.Quit(-1)s echo,explorer sȂ


    Ename = PPx.ScriptName			vpeBAǂݍݐp

	s̃XNvg̖O(t@C)Ԃ܂B
	݁A*script Ŏw肵ê܂ܓ܂B


EPPx n

    ̃R}hŎss\Ȃ̂A}Nu%?vŎ擾łȂ
    ̂D悵ĎĂ܂BR}hŎs\Ȃ̂́A
    uPPx.Execute "command"vŎsA}NŎ擾\Ȃ̂
    uvalue = PPx.Extract("%?")vŎ擾ĂB


*PPxp
    type =	PPx.CodeType			vpeB(R)
    version =	PPx.ModuleVersion		vpeB(R)
    version =	PPx.PPxVersion			vpeB(R)
    name =	PPx.ScriptEngineName		vpeB(R)
    version =	PPx.ScriptEngineVersion		vpeB(R)
    res =	PPx.result			vpeB(R/W)
    count =	PPx.ReentryCount		vpeB(R)
    res =	PPx.StayMode			vpeB(R/W)
    		PPx.Execute "commands"		\bh(߂lL)
    res =	PPx.Extract("commands")		\bh(߂lL)
    		PPx.SetPopLineMessage "message"	\bh
    		PPx.linemessage "message"	\bh
    		PPx.report("message(s)")	\bh
    		PPx.log("message")		\bh
    res =	PPx.GetFileInformation("filename"[,mode]) \bh(߂lL)
    res =	PPx.Clipboard			vpeB(R/W)
    		PPx.setValue("key","value")	\bh
    value =	PPx.getValue("key")		\bh(߂lL)
		PPx.setProcessValue("key", value) \bh
    value =	PPx.getProcessValue("key")	\bh(߂lL)
		PPx.setIValue("key", value)	\bh
    value =	PPx.getIValue("key")		\bh(߂lL)
    		PPx.Include("filename")		֐

*(PPxp)
    idname =	PPx.WindowIDName		vpeB(R)

*(PPcp)
    dir =	PPx.WindowDirection		vpeB(R)
    index =	PPx.EntryDisplayTop		vpeB(R)
    width =	PPx.EntryDisplayX		vpeB(R)
    height =	PPx.EntryDisplayY		vpeB(R)
    count =	PPx.GetComboItemCount[(n)]	vpeB(R)
    id =	PPx.ComboIDName			vpeB(R)

*ݒ(PPcp)
    mode =	PPx.SlowMode			vpeB(R/W)
    mode =	PPx.SyncView			vpeB(R/W)

*hCu(PPcp)
    label =	PPx.DriveVolumeLabel		vpeB(R)
    size =	PPx.DriveTotalSize		vpeB(R)
    size =	PPx.DriveFreeSize		vpeB(R)

*fBNg(PPcp)
    type =	PPx.DirectoryType		vpeB(R)
    count =	PPx.LoadCount(n)		\bh(߂lL)
    entries =	PPx.EntryAllCount		vpeB(R)
    entries =	PPx.EntryDisplayCount		vpeB(R)
    entries =	PPx.EntryMarkCount		vpeB(R)
    size =	PPx.EntryMarkSize		vpeB(R)
    dirs =	PPx.EntryDisplayDirectories	vpeB(R)
    files =	PPx.EntryDisplayFiles		vpeB(R)
		PPx.EntryInsert index,"filename" \bh

*J[\̃Gg̏(PPcp)
    index =	PPx.EntryIndex			vpeB(R/W)
    mark =	PPx.EntryMark			vpeB(R/W)

    name =	PPx.EntryName			vpeB(R)
    attributes = PPx.EntryAttributes		vpeB(R)
    size =	PPx.EntrySize			vpeB(R)

    state =	PPx.EntryState			vpeB(R/W)
    color =	PPx.EntryExtColor		vpeB(R/W)
    highlight =	PPx.EntryHighlight		vpeB(R/W)
    comment =	PPx.EntryComment		vpeB(R/W)

    res =	PPx.EntryFirstMark		\bh(߂lL)
    res =	PPx.EntryNextMark		\bh(߂lL)
    res =	PPx.EntryPrevMark		\bh(߂lL)
    res =	PPx.EntryLastMark		\bh(߂lL)

*}EXJ[\̃Gg̏(PPcp)
    type =	PPx.PointType			vpeB(R)
    index =	PPx.PointIndex			vpeB(R)

*wʒũGg̏(PPcp)
    entry =	PPx.Entry / PPx.Entry([n])	RNV
	entry =	    entry.Item(n)		\bh(߂lL)
	count =	    entry.Count			vpeB(R)
	count =	    entry.length		vpeB(R)
	index =	    entry.Index			vpeB(R/W)
	result =    entry.IndexFrom(Name)	\bh(߂lL)
	mark =	    entry.Mark			vpeB(R/W)
	result =    entry.FirstMark		\bh(߂lL)
	result =    entry.NextMark		\bh(߂lL)
	result =    entry.PrevMark		\bh(߂lL)
	result =    entry.LastMark		\bh(߂lL)

	name =	    entry.Name			vpeB(R)
	name =	    entry.ShortName		vpeB(R)
	attributes = entry.Attributes		vpeB(R)
	size =	    entry.Size			vpeB(R)
	date =	    entry.DateCreated		vpeB(R)
	date =	    entry.DateLastModified	vpeB(R)
	date =	    entry.DateLastAccessed	vpeB(R)

	state =	    entry.State			vpeB(R/W)
	color =	    entry.ExtColor		vpeB(R/W)
	comment =   entry.Comment		vpeB(R/W)
	comment =   entry.GetComment(id)	\bh(߂lL)
	            entry.SetComment(id,text)	\bh
	text =	    entry.Information		\bh(߂lL)
		    entry.Hide			\bh
	highlight =	    entry.Highlight		vpeB(R/W)
	entry =	    entry.AllEntry		vpeB(R)
	entry =	    entry.AllMark		vpeB(R)
	endstate =  entry.atEnd()		֐
		    entry.moveNext()		֐
		    entry.Reset()		֐

*̉̊eyC̏(PPc,̉p)
    vpane = PPx.Pane / PPx.Pane([n])		RNV
	vpane =	    vpane.Item(n)		\bh(߂lL)
	count =	    vpane.Count			vpeB(R)
	count =	    vpane.length		vpeB(R)
	index =	    vpane.Index			vpeB(R/W)
	result =    vpane.IndexFrom(IDName)	\bh(߂lL)
	tab =	    vpane.Tab			RNV
	endstate =  vpane.atEnd()		\bh(߂lL)
		    vpane.moveNext()		\bh
		    vpane.Reset()		\bh
	g_index =   vpane.GroupIndex		vpeB(R/W)
	count =     vpane.GroupCount		vpeB(R)
	str_array = vpane.GroupList		vpeB(R)
	name =      vpane.GroupName		vpeB(R/W)

*̉̊e^ȕ(PPc,̉p,^uȂƂ͊YyC̏)
    tab = PPx.Pane.Tab / PPx.Pane.Tab(n)	RNV

	tab =	    tab.Item(n)			\bh(߂lL)
	count =	    tab.Count			vpeB(R)
	count =	    tab.length			vpeB(R)
	index =	    tab.Index			vpeB(R/W)
	result =    tab.IndexFrom(IDName)	\bh(߂lL)
	index =	    tab.Pane			vpeB(R)
	id =	    tab.IDName			vpeB(R)
	caption =   tab.Name			vpeB(R)
	type =	    tab.Type			vpeB(R)
	lock =	    tab.Lock			vpeB(R/W)
	color =	    tab.Color			vpeB(R/W)
	color =	    tab.BackColor		vpeB(R/W)
		    tab.Execute "commands"	\bh(߂lL)
	res =	    tab.Extract("commands")	\bh(߂lL)
	endstate =  tab.atEnd()			\bh(߂lL)
		    tab.moveNext()		\bh
		    tab.Reset()			\bh

*PPxp
    Etype = PPx.CodeType			vpeBAǂݍݐp

	PPx ̎gpR[h̎ނ擾܂BMultiBytełȂ 0A
	UNICODEłȂ 1 ̒lɂȂ܂B


    Eversion = PPx.ModuleVersion		vpeBAǂݍݐp

	Script Module ̃o[W擾܂BR3 Ȃ 3 ̐ɂȂ܂B


    Eversion = PPx.PPxVersion			vpeBAǂݍݐp

	PPx ̃o[W擾܂BVersion 1.23 Ȃ 12300 ̐
	Ȃ܂B


    Ename = PPx.ScriptEngineName		vpeBAǂݍݐp

	gpĂXNvg̖O(JScript, VBScript)擾܂B


    Eversion = PPx.ScriptEngineVersion		vpeBAǂݍݐp

	gpĂXNvg̃o[W(x.x.x)擾܂B


    Eresult = PPx.result			vpeBAǂݏ\

	%*script ŎsƂ̖ߒlłB*scriptŎsƂ
	łg͏ɋƂȂ܂B


    Ecount = PPx.ReentryCount			vpeBAǂݍݐp

	XNvg풓̍ē񐔂łBēNĂȂƂ 0 łB


    Eresult = PPx.StayMode			vpeBAǂݏ\

	R9`R11ƁAR22ȍ~ŋς܂B
	@R8ȑOAR12`R21͋@\܂B

	XNvg풓܂B풓邱ƂɂāAXNvg̎s
	IuWFNgێꂽCX^XƂĎc܂B
	āA\[XCX^Xԍ̎wɂAێĂ
	CX^X̃IuWFNggpł܂B

	ɂǂݍݏȗčɎsA𑱍s
	肷邱ƂłA荂xȏȂƂł܂B
	풓̋ɂẮAu풓̋ɂāvQƂĂB

	E̒lw肷邱Ƃł܂B

	0	XNvg\[X͖ǂݍ܂(WSH, QuickJSŏl)
		풓ɂ̒lw肷Ə풓̉ł܂B

	1	\[XLbVB WSHł̓LbV@\܂B

	2	XNvg풓B1 ɉāAsXNvg̏Ԃ
		Iێ܂BCX^Xԍ͎ĂłB
	
	10000`9999999	w肵ԍ̃CX^Xgp܂B
		ʃ\[X̃XNvg𓯂CX^XŎgpƂ
		włBeXNvgɋLڂO[oIuWFNg
		iϐ⃁\bhjSĂP̃CX^Xɓ邽߁A
		ӂKvłB
		AEXbhʂ̏ꍇ͓ԍw肵Ă
		ʃCX^XɂȂ܂B


	El擾Ƃ͎̒lɂȂ܂Bl͓ϐɋL
	@̌ĂяoɎgpł܂B

	0	풓ĂȂ
	1	\[XLbVĂ WSHłł͎g܂B
	10000`9999999	蓮w肵̃CX^Xԍ
	1000000000`	2w肵Ƃ̎ăCX^Xԍ


	E풓CX^XĂяoƂ͎̋LڂɂȂ܂B
	  *script / *js ͓@\̕ʃR}hE֐ƒu\łB
	  \bhw肵Ďs֐̖߂ĺAPPx.result ł͂ȂA
	  \bȟ(JavaScript ̏ꍇAreturn l)lɂȂ܂B

	  1) *script XNvgt@C [,p[^1[,p[^2...]]
	     *js XNvg [,p[^1[,p[^2...]]

	     L̂悤ɁAʏ̃XNvg̎s̋LڂƓꍇ́A
	     풓ĂCX^X ppx_resume([p[^]) s܂B
	     XNvgEXNvg̓CX^X̎ʂɎg邽߁A
	     OsXNvgƓɂKv܂B


	  2) *script :\bh, XNvgt@C [,p[^1...]
	     *js :\bh, XNvg [,p[^1...]

	     풓ĂCX^X̎w֐([p[^])s܂B
	     XNvgEXNvg̓CX^X̎ʂɎgA
	     OsXNvgƓɂKv܂B
	      let / const ̃\bh͈܂B(Chakra.dll)


	  3) *script :CX^Xԍ, [XNvgt@C] [,p[^1...]
	     *js :CX^Xԍ, [XNvg] [,p[^1...]

	     wCX^Xԍ̃CX^XŃXNvgs܂B
	     CX^XȂꍇ́A풓s܂B

	     XNvgȂꍇA܂̓XNvgt@C풓
	     XNvg̃t@CƓꍇ́A풓ĂCX^X
	     ppx_resume([p[^]) s܂B

	     XNvgt@C풓XNvg̃t@CƈقȂ
	     ꍇ́ACX^Xō̃XNvgs܂B

	     ܂Au*script %si"insno","%1%\script.js"vƂR}h
	     CƂāAscript.js ŁAPPx.setIValue = ":12345" 
	     CX^Xԍw肷邱Ƃł܂B
	     ̂ƂA%si"insno" ̒gł script.js sł܂B


	  4) *script ":CX^Xԍ,\bh" [,p[^1...]
	     *js ":CX^Xԍ,\bh" [,p[^1...]

	     wCX^Xԍ̎w胁\bhs܂B
	      let / const ̃\bh͈܂B(Chakra.dll)



    EPPx.Execute "commands"			\bhA߂lL

	w肳ꂽR}hs܂B

	ex)	PPx.Execute "explorer /e,%1"
		PPx.Execute "command %: *closeppx"

	IuWFNgɓo^ĂȂ@\gƂ͂ Execute 
	gΑsł܂B

	s̃G[R[h𓾂邱Ƃł܂BɎs
	ꍇ 0 ArŃLZꍇ(1223)
	G[ɂȂꍇ 0 ȊO̒lɂȂ܂B
	G[ԍ Win32APĨG[R[hłB
	uWin32 G[R[h ꗗvȂǂWWW̌Əڍׂ܂B
	܂A%*errormsg() ŃG[bZ[Wɂ邱Ƃł܂B

	ex)	errorcode = PPx.Execute("%Q")
		PPx.Echo(PPx.Extract("%*errormsg("+errorcode+")");


    Eresult = PPx.Extract("commands")		\bhA߂lL

	}N̓WJe߂܂B%C WJꂽʂ
	邱Ƃł܂B}Nɂ͂邪AvpeBł
	񋟂ĂȂe擾邽߂ɗp܂B
	܂Aj[(%Mxxx)\At@Cʏ(%ME_xxx)
	sǍʂ𓾂邱Ƃɂp邱Ƃł܂B
	%: ŋ؂ꍇ͏sčŌ̓̕WJʂ܂B

	ex)	var path = PPx.Extract("%1");

	WJɃG[ALZꍇ́Aʂ
	Ȃ܂B̂ƂAĈȂŎsƁAWin32API 
	G[R[h܂BÎƂ 0 ɂȂ܂B

	ex vbs) PPx.Echo PPx.Extract("%*input") + " / " + PPx.Extract();
	   %*input œ͂LZƁu / 1223vɂȂB


    EPPx.SetPopLineMessage "message"		\bh
    EPPx.linemessage "message"			\bh

	PPc : Xe[^XsɈsbZ[W\܂B
	      Oꍇ̓Oɕ\܂BɃXe[^Xs
	      \ꍇ́Â悤ɓɁu!"vǉĂB
	      JScript:   PPx.linemessage("!\"test")
	      VBScript:  PPx.linemessage "!"+chr(34)+"test"
	PPv : sɈsbZ[W\܂B
	PPb : ^[~iɕ\܂B
	sҏW : ^Cgo[ɕ\܂B
	̑ : |bvAbvEBhEɕ\܂B
	ǂ̃R}hłB
	K͑҂ꍇ́APPx.EchogpĂB


    EPPx.report "message(s)"		\bh

	PPc : OɃbZ[W\܂B
	PPb : ^[~iɕ\܂(PPx 1.97ȍ~)B
	̑ : |bvAbvEBhEɕ\܂B
	s͂܂̂œKXsKvłB
	      JScript:   PPx.report("message\r\n")
	      VBScript:  PPx.report "message"+chr(13)+chr(10)

    EPPx.log "message"				\bh

	uXe[^XsȂǂ̃Ot@Cɕۑv(X_log)L
	ĂƂAOt@CɃbZ[Wo͂܂B


    Etext = PPx.GetFileInformation("filename"[,mode]) \bh(߂lL)

	w肵t@C̒gt@C̎ނ𔻒肵܂B
	t@C̓ǂݍ݂ɎsAYނȂꍇ͋󗓂ł
	mode ɂČʂς܂(PPx 1.97ȍ~)B

	w薳 or 0	t@CʂŎgp閼O(:JPEG)
	1	ޖ(JPEG image)
	2	K̊gq(jpg)


    Eresult = PPx.Clipboard			vpeBAǂݏ\

	Nbv{[h̃eLXgłBUNICODEeLXgȊǑ`
	Ăꍇ͎QƂł܂B
	܂AWin9xłMultibyte`ɕϊłȂ̂ŁAǂݏ
	łȂꍇ܂B


    Evalue =	PPx.getValue("key")		\bh(߂lL)
    E		PPx.setValue("key","value")	\bh

	XNvgIĂeێ镶̃RNVłB
	iV8 Module ł͔CӃIuWFNgۑł܂Bj

	XNvgsĂvZXI܂
	(PPSCR.DLL܂)LeƂɎgp܂B
	) Ԃ̋LA傫ȃt@C̃LbV

	AʁEXNvgʂɗpӂꂽꏊł͂Ȃ̂ŁA
	IDname XNvgȂǂ܂񂾖O key ƂāA
	OdȂ悤ɂKv܂B


    Evalue = PPx.getProcessValue("key")	\bh(߂lL)
    EPPx.setProcessValue("key", value)		\bh
    Evalue = PPx.getIValue("key")		\bh(߂lL)
    EPPx.setIValue("key", value)		\bh

	%*sp/i  *string p/i Ɠlɓϐ̓ǂݏs܂B
	ProcessValue ̓vZXpϐA
	IValue ͊ePPxpϐ(PPcȊÓAProcessValueƓe)łB
	AWSHEQuickJS ł PPx.getValue/setValue  PPx.getProcessValue/
	setProcessValue ϐQƂ܂B


     EPPx.Include("filename")			֐

        XNvgt@Cǉœǂݍ݁Es܂Beval() ֐
        ̌ʂAXɁAfilename ŃG[NƂɁA
        \[XƂ filename \ł܂BWSH ł́Aimport 
        gȂ̂őpƂȂ܂B



*(PPxp)

    Eidname = PPx.WindowIDName			vpeBAǂݏ\

	Ăяo PPx  IDName()Ԃ܂B
	EPPx.WindowIDName = "_" ̂Ƃilj

	  IDName  C_A ` C_Z ̂悤ɁAn߂2
	  iPPc Ȃ "C_"APPv Ȃ "V_"jA3ڈȍ~ A`Z̊Ĕԍ
	  Ȃ܂B̉PPcZaa͑S"C_Z"ɂȂ܂B

	EPPx.WindowIDName = "1" ̂Ƃ
	  PPx.WindowIDName  "1" ƁAȍ~IDName
	  CA`CZ,CZxx ̂悤ɁAn߂1ށiPPc Ȃ "C"APPv Ȃ "V"j
	  2ڈȍ~ A`Z,Zaa` ̊ĔԍɂȂ܂B
	  ̉PPcZaa"CZaa"ȂǂƂĎ擾ł܂B

	 ǂ̌`ł *execute  ID wɂ̂܂܎gp邱Ƃ
	   ł܂B


*(PPcp)

    Edir = PPx.WindowDirection			vpeBAǂݍݐp

	PPc QʂŘAĂƂɁAݑ̈ʒu֌W𓾂邽߂
	vpeBłBȂAAĂȂƂł 1 ȏ̒lԂ
	܂B

	dir =	0	Pʂ̂ݕ\
		1	^㑤
		2	E^


    Eindex = PPx.EntryDisplayTop		vpeBAǂݏ\

	Gg̕\Jnʒui0`jłBႦ 100 ̏ꍇ́A擪
	101 Ԗڂ̃Ggŏ̕\ڂɂȂ܂B


    Ewidth = PPx.EntryDisplayX			vpeBAǂݍݐp

	Gg̕̕\łBႦ 2 ƂQ\Ƃ
	ɂȂ܂B


    Eheight = PPx.EntryDisplayY		vpeBAǂݍݐp

	Gg̍̕\łBႦ 10 ƂPOs\Ƃ
	ƂɂȂ܂B


    Ecount = PPx.GetComboItemCount([mode])		\bh

	̉ɓo^Ă PPc ̐łB
	PPx.GetComboItemCount(1)ŁA*capturewindowœo^ꂽ
	Ɋ܂ނ悤ɂȂ܂B


    Eid = PPx.ComboIDName			vpeBAǂݍݐp

	s̈̉IDName()Ԃ܂B
	IDName  CBA`CBZ ɂȂ܂B



*ݒ(PPcp)

    Emode = PPx.SlowMode			vpeBAǂݏ\

	ᑬ[hiX_Slowj̏Ԏ擾EݒȂ܂B
	0 Ȃʏ탂[hA1 Ȃᑬ[hłB


    Emode = PPx.SyncView			vpeBAǂݏ\

	Ar[i\[Y]j̏Ԏ擾EݒȂ܂B
	0 Ȃ offA1 Ȃ on łB
	܂Agp PPv  ID Œ肵ĂƂ
	( *ppvoption sync ID )A ID \lR[h
	( 65 Ȃ A )œ܂B
	LRɂAAr[L̔f́A0  0ȊO
	@sKv܂B



*hCu(PPcp)

    Elabel = PPx.DriveVolumeLabel		vpeBAǂݍݐp

	݃hCũ{[xłB

    Esize = PPx.DriveTotalSize			vpeBAǂݍݐp

	݃hCȗeʂłBfBXNNH[^gpĂƂ́A
	[ŮʂɂȂ܂B

    Esize = PPx.DriveFreeSize			vpeBAǂݍݐpR)

	݃hCű󂫗eʂłBfBXNNH[^gpĂƂ́A
	[U̎ceʂɂȂ܂B



*fBNg(PPcp)

    Etype = PPx.DirectoryType			vpeBAǂݍݐp

	݂̃fBNg̎ނ\܂Bl͎̒ʂłB
	̈ꗗɂȂꍇ́APPx \[X VFS.H  VFSDT_xxx QƂ
	B

		0	s
		1	path(drive/unc)
		2	Drive list
		3	SHN/Shell's Namespace
		4	list file
		5	FAT disk image file
		6	FAT disk raw access
		7	CD-ROM image file
		8	CD-ROM raw access
		9	shell: 
		10	/ (WinełŎgp)
		11	aux: DirectoryTypeł͎gpꂸAǍ@(1,4)ɂȂ
		21	FTP
		61	cab folder
		62	lzh folder
		63	zip folder
		64	Susie Plug-in
		80	HTTP
		96	UNxxx


    Ecount = PPx.LoadCount(n)			\bh(߂lL)

	fBNgǂݍ([F5])AXV(^[F5])x
	lωJE^̒l擾܂B̒lĎ邱Ƃ
	Ăf[^̑NxǗAǂݍ݂XVɂ
	č쐬Kvȃf[^̔fAȑÕfBNg̏
	ʌ̃fBNgŎ{肷邱Ƃh~ł܂B

	n = 0 ̂Ƃ͓ǂݍ݂݂̂̒lAn = 1 ̂Ƃ͓ǂݍ+XV̒lłB
	Acount ̒l̓I[o[t[N邽߁Al̑召rł͂ȂA
	vEsv̔rĂB


    Eentries = PPx.EntryAllCount		vpeBAǂݍݐp

	݂̃fBNg̑SẴGg\܂B
	t@C}XNȂǂɂĉBĂGg܂܂܂B


    Eentries = PPx.EntryDisplayCount		vpeBAǂݍݐp

	݂̃fBNg̑SẴGg\܂B
	\̃Ggit@CƃfBNgjɌ܂B


    Eentries = PPx.EntryMarkCount		vpeBAǂݍݐp

	IGg\܂B
	Ȉꍇ 0 ɂȂ܂B


    Esize = PPx.EntryMarkSize			vpeBAǂݍݐp

	IGg̑TCY\܂B
	fBNg̃TCYvZĂƂ̃TCYZ܂B
	Ȉꍇ 0 ɂȂ܂B


    Edirs = PPx.EntryDisplayDirectories	vpeBAǂݍݐp

	݂̃fBNg̑SẴfBNg\܂B
	\\łAu.vu..v܂܂ȂfBNgΏۂłB


    Efiles = PPx.EntryDisplayFiles		vpeBAǂݍݐp

	݂̃fBNg̑SẴt@C\܂B
	\\ȃt@CΏۂłB


    EPPx.EntryInsert index,"filename"		\bh

	indexJ[\ʒuɎw肵filenamẽt@CGg
	}܂B


*J[\̃Gg̏(PPcp)
    Eindex = PPx.EntryIndex			vpeBAǂݏ\

	ݑ̃J[\ʒu擾ł܂B擪̃J[\ʒu 0 łB
	܂AsƃJ[\ʒuύXł܂BA\͈͂
	͈̔͊OƂȂĂAKɊۂ߂܂B


    Emark = PPx.EntryMark			vpeBAǂݏ\

	J[\̃}[NԂłB}[N 0AL 1 łB
	܂A -1 w肷ƃ}[N]܂B


    Ename = PPx.EntryName			vpeBAǂݍݐp

	݂̃J[\̃Gg擾ł܂B


    Eattributes = PPx.EntryAttributes		vpeBAǂݍݐp

	J[\̃Gg̑łB́AScripting.
	FileSystemObject.Attributes œlƓAȉ̒l
	ałB

	Bit	10i	16i
	 0	   1	    1	ǂݍݐp
	 1	   2	    2	B
	 2	   4	    4	VXe
	 3	   8	    8	x
	 4	  16	 0x10	TufBNg
	 5	  32	 0x20	A[JCu

	 8	 256	0x100	e|
	 9	 512	0x200	Xp[Xt@C
	10	1024	0x400	p[Xt@C(WNVV{bN)
	11	2048	0x800	k
	12	4096   0x1000	ItC
	13	8192   0x2000	CfbNXtȂ
	14     16384   0x4000	Í


    Esize = PPx.EntrySize			vpeBAǂݍݐp

	J[\̃Gg̃t@CTCYłBfBNgł
	0 ɂȂ܂A\[Enter]ŃfBNgȉ̃t@CTCYv
	Zoς݂̏ꍇ́A̒l擾ł܂B


    Estate = PPx.EntryState			vpeBAǂݏ\

	J[\̃Gg̏Ԃł(ECS_xxxx)B
	eԂC_eInfoƓełBȊO̒lgpƂ
	ɓ삵܂B
	0	bZ[WBG[bZ[W\ȂǂŎgp܂B
	1	폜B폜A݂݂͑ȂƂɎg܂B
	2	ʏB̍ڂɊYȂƂɎgpFłB
	3	sBXVoA܂mFĂȂB
	4	XVBAXVAt@CTCŶꂩωB
	5	ǉBŏ̓ǂݍݎɂ݂͑ĂȂGgB
	nCCǵAPPx.EntryHighlight œƗĎw\ɕύX܂


    Ecolor = PPx.EntryExtColor			vpeBAǂݏ\

	J[\̃Gg̊gq̐FłB
	-1 ͐FwȂɂȂ܂BFw肷Ƃ͎̂悤ɂȂ܂B
	܂AeF 0`255 ͈̔͂ŁA傫قǖ邭Ȃ܂B
	PPx.EntryExtColor =  +  * 256 +  * 65536


    Estate = PPx.EntryHighlight		vpeBAǂݏ\

	J[\̃nCCg̏ԂłB
	0 ȂnCCgw薳A1`7 Ŏw肵nCCgɂȂ܂B


    Ecomment = PPx.EntryComment		vpeBAǂݏ\

	J[\̃Gg̃RgǂݏvpeBłB
	RgȂƂ́u""vɂȂ܂B
	܂ARg 00_INDEX.TXT ɔf̂́A\[W] ɂ
	ݎAfBNg̓ǂݍݎiXC_cwrtQƁjł


    Eresult = PPx.EntryFirstMark		\bh(߂lL)

	Ԏn߂Ƀ}[NGgɃJ[\ړ܂B
	PPc̓}[NԂoĂ܂B\̈ԏƂ͌܂B
	߂ĺAړɐꍇ 1As}[NȂƂ 0 
	Ȃ܂B


    Eresult = PPx.EntryNextMark		\bh(߂lL)

	݈ʒũGg̎Ƀ}[NGgɃJ[\ړ܂B
	PPc̓}[NԂoĂ܂B\̎̃}[NƂ͌܂B
	߂ĺAړɐꍇ 1AsƂ 0ɂȂ܂B


    Eresult = PPx.EntryPrevMark		\bh(߂lL)

	݈ʒũGg̑OɃ}[NGgɃJ[\ړ܂B
	PPc̓}[NԂoĂ܂B\̑Õ}[NƂ͌܂B
	߂ĺAړɐꍇ 1AsƂ 0ɂȂ܂B


    Eresult = PPx.EntryLastMark		\bh(߂lL)

	ԍŌɃ}[NGgɃJ[\ړ܂B
	PPc̓}[NԂoĂ܂B\̈ԉƂ͌܂B
	߂ĺAړɐꍇ 1As}[NȂƂ 0 
	Ȃ܂B


*}EXJ[\̃Gg̏(PPcp)

    Etype = PPx.PointType			vpeBAǂݍݐp

	}EXJ[\vf̒l(PPCR_xx)Ԃ܂B
	0	s
	15	pX\s
	16	Xe[^Xs
	17	Bj[
	18	s
	19	sACR
	32	Gg󗓁EI
	33	Gg}[N([)
	34	GgeLXg
	35	Gg[(Ẻň͂܂ꂽꏊ, X_stip)


    Eindex = PPx.PointIndex			vpeBAǂݍݐp

	}EXJ[\Gg̈ʒu擾ł܂B擪 0 łB
	GgwĂȂꍇ -1 ɂȂ܂B


*wʒũGg̏(PPcp)
    Eentry = PPx.Entry				RNV

	Ew肵ꏊ̃Gg̏łB
	  PPx.Entry.Name ƃGg̈ʒuw肵ȂŎgꍇ́A
	  J[\̈ʒuw肵ƂɂȂ܂B

	  .index, .FirstMark, .NextMark ňʒuύXł܂B

	EPPx.EntryIndex / PPx.EntryName pJ[\̈ʒuɊÂ
	  QƂł͂Ȃ̂ŁAJ[\𓮂ƂȂRȈʒũGg
	  QƂłAentry = PPx.Entry ƂɃJ[\ʒuςĂA
	  entry Gg͕ω܂B
	  ܂APPx.EntryIndex ɒlƉʍXV𔺂܂A
	  entry.index = n ł͉ʍXV߁A̕ɓ삵܂B

	E\IuWFNgłB
	  foreach()ł܂B}[NȂ΃J[\ʒû݁A
	  }[N΃}[NSẴGg񋓂܂B
	  PPx.Entry.AllMark w肵Ƃ́A}[NGĝ
	  i}[NȂƂ͗񋓖jA

	  PPx.Entry.AllEntry w肵Ƃ́ASẴGgɂȂ܂B
	  Au.vu..v폜Gg͖܂B

	  }[N֌W̔́A}[NsƐłȂȂ܂B
	  .FirstMark  .NextMark g蓮őKv܂B


	AJscript, VBscriptł́APPx.Entry(n) ̎w肪\łB
	́APPx.Entry.Item(n)Ɠ̌ʂ܂B
	ɂĂ͂̎wg܂B


	.Item(n)	nԖ(0JEg)̈ߒlt\bhłB
			PPx.Entry(n) Əȗ\łB

	.Count		SGgvpeB(R)łB
	.length		.Count.lengthPPx.EntryDisplayCount ƓlłB

	.Index		QƂGg̏ꏊ(R/W)łB擪ʒu 0 łB
			J[\ƘAĂ܂B

	.IndexFrom(name) .Index t@C\ name Ŏw肵܂B
			t@C͊SvA召łB
			Xgt@CKw̏ɂ̏ꍇAfBNg
			KvłB
			߂l͊YL̂Ƃ  0AƂ 0 łB

	.Mark		}[NԂ̃vpeB(R/W)łB
			}[N 0AL 1 łB
			܂A -1 w肷ƃ}[N]܂B

	.FirstMark	Ԏn(FirstMark)A(NextMark)AO(PrevMark)A
	.NextMark	ԍŌ(LastMark)̃}[Nʒu .Index ύX܂B
	.PrevMark	߂ĺAړɐꍇ 1As}[N
	.LastMark	ȂƂ 0 ɂȂ܂B

	.Name		Gg̃vpeB(R)łB

	.ShortName	8.3`̃Gg̃vpeB(R)łBƂ
			.Name ƓlɂȂ܂B

	.Attributes	Gg̑̃vpeB(R)łB
			FileSystemObject.Attributes œlƓłB
			ڍׂ PPx.EntryAttributes QƂĂB

	.Size		t@CTCỸvpeB(R)łBfBNgł
			0 ɂȂ܂A\[Enter]ŃfBNgȉ̃t@C
			TCYvZoς݂̏ꍇ́A̒l擾ł܂B

	.DateCreated      쐬̃vpeB(R)łB
	.DateLastModified XṼvpeB(R)łB
	.DateLastAccessed ŏIQƎ̃vpeB(R)łB
			玞́AVT_DATE Ƃē܂B
			JScript/JavaScript ł́A
			new Date(entry.DateLastModified) Ƃ
			Date IuWFNgƂāAWSH/V8/QuicjJSł
			łʂĎg܂B
			vbs ł Year(), Hour(), Minute() ɓnƂ
			ł܂B

	.State		Gg̏Ԃ̃vpeB(R/W)ł(EXS_xxxx)B
			ڍׂ PPx.EntryState QƂĂB

	.ExtColor	Gg̊gq̐F̃vpeB(R/W)łB
			-1 ͐FwȂɂȂ܂BFw肷Ƃ
			̂悤ɂȂ܂B܂AeF 0`255 
			͈͂ŁA傫قǖ邭Ȃ܂B
			 +  * 256 +  * 65536

	.Highlight	Gg̏Ԃ̃nCCg(R/W)łB
			ڍׂ PPx.EntryHighlight QƂĂB

	.Comment	Gg̃RgǂݏvpeB(R/W)łB
			RgȂƂ́u""vɂȂ܂B
			܂ARg 00_INDEX.TXT ɔf̂́A
			\[W] ɂ鏑ݎAfBNg̓ǂݍݎ
			XC_cwrtQƁjł

	.GetComment(id)	gRg(id=1`10)̓e擾郁\bhłB
			RgȂƂ́u""vɂȂ܂B

	.SetComment(id,text) gRg(id=1`10)̓eݒ肷郁\bh
			łBtext ͖̒1000܂łłB

	.Information	^[I]œt@C擾郁\bhłB

	.Hide		w肳ꂽGg\ɂ܂B

	.AllEntry, .AllMark
			foreach, Enumerator, atEnd gƂ̗񋓕@
			ς Entry RNV𓾂܂B
			AllEntry ́u.vu..v폜GgS
			AllMark ̓}[NGĝ݁i}[N̂Ƃ͋A
			ʏ̓}[N̂Ƃ̓J[\ʒujɂȂ܂B

		Jscript :
		    for (var a = PPx.Entry.AllMark; !a.atEnd(); a.moveNext() ){
			PPx.Echo(a.Name);
		    }

	.atEnd(), .moveNext(), .Reset()
		foreach/Enumerator gȂƂɎgp񋓋@\ł
		Jscript ̗:
		    for (var a = PPx.Entry; !a.atEnd(); a.moveNext() ){
			PPx.Echo(a.Name);
		    }


*̉̊eyC̏(PPc,̉p)

    Evpane = PPx.Pane				RNV

	Index vpeBŎw肵̉yC̏łB

	PPx.Pane.Tab ƃyC̈ʒuw肵Ȃꍇ́AXNvg
	ĂяȏyC(-1)w肵ƂɂȂ܂B

	yCẃA̎w肪\łB
	  0, 1, 2...	ΎwB珇 0, 1, 2... ƂȂ܂B
	  -1		XNvǧĂяȏB
			yC̈ʒuςĂɌĂяȏ
			yCɂȂ܂B
	  -2		ݑBɃANeBȗyCɂɂȂ܂B
	  -3		ΑBɔΑyCɂɂȂ܂B

	  ܂A( foreach )gpł܂B

	Jscript, VBscriptł́APPx.Pane(n) ̎w肪\łB
	́APPx.Pane.Item(n)Ɠ̌ʂ܂B
	ɂĂ͂̎wg܂B

	.Item(n)	OLyCwyCߒlt\bhłB
			vpane(n) Əȗ\łB

	.Count		SyCvpeB(R)łB
	.length		̉łȂ 0 ɂȂ܂B

	.Index		ݎQƂĂyCAOLyCw̒l(R/W)
			łB̉łȂ 0 ɂȂ܂B

	.IndexFrom(IDName) .Index  IDName (CA,~ )\Ŏw肵܂B
			߂l͊Y ID L̂Ƃ  0AƂ 0 łB
			 .IndexFrom = IDName gp\ł(WSHł̂)B

	.Tab / .Tab(n)	QƒyC̃^ũRNV܂B
         .Tab() inȗj͂ł܂B.Tab(-1)ƂĂB

	.atEnd(), .moveNext(), .Reset()
		foreach/Enumerator gȂƂɎgp񋓋@\ł
		Jscript ̗:
		    for (var a = PPx.Pane(); !a.atEnd(); a.moveNext() ){
			PPx.Echo(a.Tab(-1).IDname);
		    }

	.GroupIndex	ANeBuO[vʒũvpeB(R/W)łB
			(set)ŃANeBuO[vύXł܂B
	.GroupName	ANeBuO[ṽO[ṽvpeB(R/W)łB
			(set)ŃO[vύXł܂B
	.GroupCount	yC̃^uO[ṽvpeB(R)łB
	.GroupList	yC̃^uO[vꗗtab؂̕ŕԂ܂B
			zɂꍇ́Â悤ɂĂB
			Jscript: list = PPx.Pane.GroupList.split('\t');
			VBscript: list = Split(PPx.Pane.GroupList, chr(9))


*̉̊e^ȕ(PPc,̉p)

    Etab = PPx.Pane.Tab			RNV

	IndexvpeBŎw肵^uɊւłB
	^uȂƂ́AYyCɂɂȂ܂B

	eŎw肵(tab.pane)yCɊ֘AtĂ^uɂȂ܂B

	PPx.Pane.Tab ƃ^üʒuw肵Ȃꍇ́A
	ẽyCĂяo(-1)ł΁AĂяõ^ȕA
	.Index / .IndexFrom Ŏw肷΁A̎w^ȕ񂪓܂B

	^uẃA̎w肪\łB
	  0, 1, 2...	ΎwB珇 0, 1, 2... ƂȂ܂B
	  -1		KlB
			ẽyCĂяo(-1)ł΁AĂяo
			^uAłȂ΁AI𒆂̃^u܂B
	  ܂A( foreach )gpł܂B

	Jscript, VBscriptł́ATab(n) ̎w肪\łB
	́ATab.Item(n)Ɠ̌ʂ܂B
	ɂĂ͂̎wg܂B


	.Item(n)	OL^uw^uߒlt\bhłB
			tab(n) Əȗ\łB

	.Count		̃yCɂS^uvpeB(R)łB
	.length

	.Index		ݎQƂĂ^uAOL^uw̒l(R/W)łB

	.IndexFrom(IDName) .Index  IDName (CA,~ )\Ŏw肵܂B
			߂l͊Y ID L̂Ƃ  0AƂ 0 łB
			 .IndexFrom = IDName gp\ł(WSHł̂)B

	.Pane		tabyC̈ʒu(0, 1, 2...)\܂B
			w^uȂƂ -1 ɂȂ܂B
			^ueyCŋLĂÃ^u\
			Ƃ́A-2ɂȂ܂B

	.IDName		^uPPcIDName(,CA`CZxx)Ԃ܂B
			EPPx.WindowIDName ̐ݒɉČ`(C_Z / CZaa)
			  ς܂B
			E*capturewindow Ŏ荞܂Ă鑋ł΁A
			  󕶎ɂȂ܂B
			E*execute  ID wɂ̂܂܎gpł܂B

	.Name		̃^uɋLڂĂ镶擾܂B

	.Type		̃^u̎ނ擾܂B܂A^ȗI܂B

			擾͎̒l܂B
			0:ݑBANeBȗłB
			1:ΑB\(^uI)̔ΑłB
			2:\Bݑ,ΑȊO̕\(^uI)łB
			3:PPcȊO*capturewindowŎ荞܂ꂽ\łB
			-1:\ ΑB^uIĂȂΑłB
			-2:\Bݑ,ΑȊÕ^uIĂȂ
			-3:PPcȊO*capturewindowŎ荞܂ꂽ\łB

			^uIƂĎgꍇA.Type = 0 Ǝw肵܂B
			0 Ȃw肵^uݑɂȂ܂B
			2 ͑Îݍs܂B
			   ݃yCȂtH[JXς܂

	.Lock		̃^ũfBNg̃bN(R/W)܂B
			0 Ȃ烍bNłB
			1 Ȃ烍bNĂA\fBNgς悤
			  ƐVK^uł̃fBNg\܂B
			-1 Ȃ烍bNԂ𔽓]܂B

	.Color		̃^u̕F(R/W)łB

	.BackColor	̃^u̔wiF(R/W)łB
			.Color,.BackColoŕAPPx.EntryExtColor Ɠ
			w@ŐFwł܂B

	.Execute	w肳ꂽ^uŃR}hs܂B
			̑̓ PPx.Execute ƓłB

	.Extract	w肳ꂽ^uŃR}hWJ܂B
			̑̓ PPx.Extract ƓłB
			G[R[h̎擾͑ΉĂ܂B

	.atEnd(), .moveNext(), .Reset()
		foreach/Enumerator gȂƂɎgp񋓋@\ł
		Jscript ̗:
		    for (var a = PPx.Pane().Tab(); !a.atEnd(); a.moveNext() ){
			PPx.Echo(a.IDname);
		    }


*PPvł̓

	Ewidth = PPx.EntryDisplayX	vpeBAǂݍݐp

	Eheight = PPx.EntryDisplayY	vpeBAǂݍݐp

	Estate = PPx.EntryState	vpeBAǂݍݐp
	  0	\t@C
	  1	16i
	  2	eLXg
	  3	
	  4	摜
	  5	raw摜


PPc̃}[NɊւ鈵ɂ

	PPx.EntryFirstMark, PPx.EntryNextMark ƁAfor each PPx.Entry ł́A
	}[NGg}[Nɑł܂B

	OL̂悤ɗ񋓂 PPx.EntryFirstMark nƁAPPx.Entry n̂Qނ
	܂APPx.Entry ɂGg񋓂 PPx.EntryFirstMark n
	łB

	܂AǂgĂ}[NOĂ܂iOύX폜Ȃǁj
	ƁAȍ~̃}[NǂȂȂ܂B

	̂悤ȂƂ́AXC_alst̊YXVݒ肪ēǂݍ݂łȂAXV
	邱ƂmFAPPx.EntryFirstMark JԂs悤ɂ
	SĎsł܂B
	̗ł́A}[N / IGgԂɖOύXXNvg
	(Jscript)łB

var oldalst = PPx.Extract("%*getcust(XC_alst)");
PPx.Execute("*customize XC_alst=1,1,1,1,1");
PPx.EntryFirstMark;
do {
   if ( PPx.Execute("%K\"@R") != 0 ) break;
   PPx.EntryMark = 0;
}while( PPx.EntryFirstMark != 0 );
PPx.Execute("*customize XC_alst=" + oldalst);

	%K"@R" s邱ƂŖOύXs܂ÂƂɕύX
	Gg̃}[NO܂B̂߁APPx.EntryFirstMark 
	}[NtGgIђĂ܂B


풓̋ɂ(PPx.StayMode  2 ̂Ƃ)

	EPxڂɎsXNvg̃O[oXR[v̋Lڂēxs
	  邱Ƃ͂ł܂B
	  O[o\bhi֐j̎ŝ݉\łB

	  ) PPx.Echo("Pڂ̂ݎs");
	      PPx.StayMode = 2;
	      function ppx_resume(){ PPx.Echo("Qڈȍ~s"); }


	EO[oXR[vŁAlet  const ō쐬IuWFNg
	  ēxp邱Ƃ͂ł܂BxXR[vo_
	  QƂłȂȂ悤łB


	EWŎ̃\bhCxgpɒ`ĂAΎgp܂B

	  function ppx_resume()
		Qxڈȍ~̎sɁA\bhw肵ĂȂƂ
		gp܂B

	  function ppx_finally() (PPx 1.97+1 ȍ~Ή)
		풓w肳ĂƂɁA(a) CLOSEEVENT s
		ォ(1.98+4 ȍ~)A(b) vZX/XbhI钼O
		Ăяo܂B풓͎gp܂B

		XNvgŊJt@C铙̌n̂߂
		pӂĂ܂B
		(a) ̂Ƃ́As PPx ̏xQƂł܂A
		(a),(b) ƂɃ_CAO\悤ȑُ͓
		Ȃ鋰ꂪ܂B


	EXNvg̊eIuWFNǵACX^XPʂŊǗĂA
	  CX^X瑼̃CX^X̃IuWFNg𒼐ڎQ
	  邱Ƃ͂ł܂B܂AقȂIDAقȂXbh
	  CX^XQƂł܂BQƂKvȂƂ́AϐA
	  t@CAJX^}CY(S_xxx)gpĂB


	EStayMode = 0/1 ̂Ƃ́AXNvg̎s̓xɃCX^X
	  Ej܂B

	  StayMode 2 ̂Ƃ́AStayMode = 0 Ƃď풓I点邩A
	  sĂPPx(Xbh)I܂ŃCX^Xێ܂B


	ECX^X́As̃IvVƂăCX^Xԍ
	  w肵Ƃ͂̃CX^XAԍw薳̂Ƃ
	  XNvg\[Xi*sciptȂt@CA*js ȂXNvg
	  ̂́jvCX^Xgp܂B


	EXNvg̍ē̍lKvłB܂Aē\ȉ񐔂
	  ӂKvłBȉ̗łWSHł 51ځAV8ł 40ځA
	  QuickJSł 15ڂ̍ēŃX^bN̈悪s|̃G[
	  Ă܂(64bit)BAPPx.ReentryCount ōē̉񐔂
	  擾ł܂B

	  ppbw /c *script test.js %: *script ":10000"

	  test.js:
	  var count = 0;
	  PPx.StayMode = 10000
	  function ppx_resume (){
	    count++;
	    PPx.report(' Try: ' + count + '  ReentryCount = ' + PPx.ReentryCount + '\r\n');
	    PPx.Execute('*script ":10000"'); // ōē
	  }


	E*scirpt ɂsłȂƂ́Ae PPx ̋@\(PPx֌W
	  IuWFNg̖w)Ayуp[^(Argument)͎gpł܂B
	  CxgƂAppx_finally Aɂ̏ԂɂȂ܂B


	Es̏풓ĂCX^X́A%*stayinfo() Ŏ擾ł܂B
	  %*stayinfo()		s PPx (ŝ݁Ȃ͔)
	  			CX^Xԍ󔒋؂Ŏ擾܂B
	  			o͗) 12345 1073741825 1073741824
	  %*stayinfo(ԍ)	s PPx (ŝ݁Ȃ͕s)
	  			wԍi"123"  ":123" `j
	  			CX^X̗L擾܂B
	  			CX^X 1AȂ 0 ƂȂ܂B



Ō

	Ẽ\tgEFA̓t[\tgEFAłB쌠́uTOROvA
	  u ǘavɂ܂B

	E32bitł́ABorland C++ Builder 6 pč\zĂ܂B
	  64bitł́AVisual Studio 2008 pč\zĂ܂B
	  ARM64ł́AVisual Studio 2022 pč\zĂ܂B



License

PPx WSH Script Module ́AMITCZXɊÂČJĂ܂B
PPx WSH Script Module is released under the MIT License.

Copyright (c) 2024 TORO


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the gSoftwareh),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED gAS ISh, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



R23+1	2026/10/31
EPPx.Entry.ShortName ̌ʂu.vɂȂ邱Ƃ̂C

R23	2025/03/22
EG[ɈُI邱Ƃ̂C

R22	2024/09/22
EWin9x ̓싓𒲐
E풓CX^X̏擾֐(%*stayinfo)ǉ
EPPx.CreateObject  OLE IuWFNg̃CxgɑΉ(prefixw)
EPPx.Entry.IndexFrom() ǉ
EPPx.Entry.Reset() ɋ@\Ȃꍇ̂C
EPPx.Enumerator() (JScript  new Enumerator)ǉ
EPPx.GetFileInformation()  mode wLɂ(PPx 1.97ȍ~)
EPPx.Include(), PPx.LoadCount() ǉ
EPPx.Pane.GroupIndex/GroupName/GroupCount/GroupListǉ
EPPx.Pane.IndexFrom  PPx.Pane.Tab.IndexFrom ̃\bh`pӂ
ER11ȍ~ Ă PPx.StayMode dlύXċ@\悤ɂ

R21	2023/10/14
EPPx.result  null 󂯕t悤ɂ

R20	2023/09/23
EPPx.Argument(-1),PPx.Arguments.Item(-1)Ńp[XÖ擾ł悤
EO PPx.Extract ̃G[R[h擾ł悤ɂ
E64bit Arm łǉ

R19	2022/11/06
EPPx.Echo ̕Ȃ
EPPx.ScriptEngineName,PPx.ScriptEngineVersion,PPx.getValue,PPx.setValueǉ
EPPx.report(), PPx.log(), PPx.setProcessValue(), PPx.setIValue ǉ
EPPx.Argument(n)iPPx.Arguments(n)ƓAV8łƋʉpjǉ
EPPx.Arguments,PPx.Pane,PPx.Tab,PPx.Entry.atEnd(),.moveNext(),.Reset()ǉ
EPPx.Entry  .AllMark, .AllEntry ǉ
EPPx.WindowIDName="1"̂ƂA.WindowIDNamePPx.Pane.Tab.IDNameCZxx`
E*script, %*script ̕ʖǉ(*scriptw, %*scriptw)

R18	2020/01/11
EPPx.ExtractAPPx.result ̕ɘa
EPPx.Echo ̕ 8000 Ɋɘa
E}EXJ[\wʒȕ(PPx.PointIndex, PPx.PointType)ǉ
ECCs(*js,*js9,*jsc,*vbs/%*js,%*js9,%*jsc,%*vbs)ǉ
Egqjs̃XNvg_others:usejs9 = 4 ̂ƂAChakra.dllg悤ɂ
Egqjsc̃XNvgChakra.dll(Edge, ECMAScript 2015(6))g悤ɂ

R17	2019/01/26
E萫̋
EBOMtUTF-8 ̃XNvg̓ǂݍ݂ɑΉ

R16	2016/08/27
ER15 PPx.Execute ̖߂l擾łȂȂ̂C
EJScript9.DLLgpƁAPPx.QuitňُÎ΍􂵂

R15	2016/02/11
EPPx.Entry.GetComment , PPx.Entry.SetComment ǉ
EPPx.Entry.Information vpeB烁\bhɕύX
Egqjs9̃XNvgJScript9.DLL(IE9,Chakra,ECMAScript 5)g悤ɂ
Egqjs̃XNvg_others:usejs9̎wɂJScript9.DLLg悤ɂ

R14	2013/02/23
EPPx.ClipboardŃNbv{[hނƖP̂C

R13	2013/01/26
ȄňُI邱Ƃ̂C

R12	2012/09/08
EPPx.Entry̗(foreach)A}[N̂ƂɍsȂ̂C

R11	2012/03/16
EPPx.EntryInsert̐Ă̂C
EPPx.EntryPrevMark,PPx.EntryLastMark ǉ
EPPx.ComboIDName ǉ
EPPx.GetComboItemCount ǉ
EPPx.Entry.Hide@\ĂȂ̂C
EPPx.Entry.NameƃGgʒuw肵ȂƂ̓J[\ʒuƂȂ悤ɂ
EPPx.Entry .FirstMark .NextMark .PrevMark .LastMark ǉ
EPPx.Pane.lockPPx.Pane.Tab.lockɎdlύX
EPPx.Pane  .Count .length .Item .Index .IndexFrom ǉ
EPPx.Pane.Tab RNVǉ
EPPx.StayMode̓삪̂ŁAꎞIɋ@\Ȃ悤ɂ

R10	2011/07/02
Esample.vbsC

R10	2011/05/07
EPPx.Quit  -1 w肷邱ƂŁA*scriptȍ~̃R}hs𒆎~ł悤
EPPx.EntryState,PPx.Entry.StatenCCgw𕪗
EPPx.EntryHighlight,PPx.Entry.Highlight ǉ
EPPx.Pane.lock ǉ

R9	2010/10/02
EPPx.EntryDisplayTop݉\ɂ
EPPx.DriveVolumeLabel PPx.DriveTotalSize PPx.DriveFreeSizeǉ
EPPx.EntryMarkSize PPx.EntryInsert ǉ
EPPx.Entry.Hideǉ
EPPx.Clipboardǉ
EPPx.StayModeǉ
EPPx.Entry̏𒲐

R8	2009/07/05
EPPx.Execute Ŗ߂l擾\ɂAɎs悤ɂ

R7	2008/03/20
Ex64łJ

R7	2007/07/01
EPPx.Entry.Item(n)g悤ɂ
Evbs,jsPPx.Entry(n)g悤ɂ

R6	2007/04/07
E\PPxVersion0.43ȍ~ɂȂ
EPPx.ArgumentsFor eachɑΉ
EPPx.GetFileInformation,PPx.SlowMode,PPx.EntryMarkCountǉ
EPPx.EntryRNVǉ

R5	2006/02/26
E֐`(%*script(scriptname),PPx.result)ǉ
EPPx.Argumentsǉ
EPPx.Echo ňُI邱Ƃ̂C
EPerlScript,PythonScriptɑΉ

R4	2006/02/12
EWindows9xnɑΉ
EPPx.EntryState,PPx.EntryExtColorǉ

R3	2005/11/13
Egqɂ錾ꔻʂVXe擾悤ɂ
EPPxIuWFNg Quit,PPxVersion,ModuleVersion,CodeType,EntryAllCount,
  EntryDisplayCount,EntryDisplayFiles,EntryDisplayDirectories,
  DirectoryType,SyncView ǉ

R2	2004/10/23
E0.36+4 ̎dlɍ킹

R1	2004/04/10
EUNICODEPPxœ\ɂ
EPPx.EntryFirstMark/PPx.EntryNextMark ̓C

R0	2004/04/03

A^ꎟzz						TORO^ ǘa
E-mail	toroid.jp@gmail.com
WWW	http://toro.d.dooo.jp/	https://toroidj.github.io/
