anyway, i was wondering if it's possible to open xyplorer in dual panes by passing two path parameters in the command line.
It depends of what your source application can "output".
From the helpfile:
Configuration - Command Line Switches:
XYplorer.exe /script="::msg 'Hi!';"
If your app can call an external app with a customized string like this:
/script="::focus('P2'); goto('<second path>'); focus('P1'); goto('<first path>');"
it would work.
Otherwise you'd need a simple wrapper (e.g. compiled autoit script),
that takes both arguments (paths) from the source app and builds this custom string
to invoke XYplorer with it.
At least I don't know any direct way to achieve this.
Edit:
@Don: I hope it's okay to use the XYplorer icon for the compiled file? Otherwise drop me a note and I'll remove it.
Code: Select all
#NoTrayIcon
#Region
#AutoIt3Wrapper_Icon=StartXYplorer.ico
#AutoIt3Wrapper_Outfile=StartXYplorer.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Res_Comment=CheckProcess for XYplorer
#AutoIt3Wrapper_Res_LegalCopyright=Highend 2012
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#EndRegion
; #SETTINGS# ====================================================================================================================
Global $configFile = "StartXYplorer.ini"
Global $configFilePath = @ScriptDir & "\" & $configFile
; #MAIN PART# ===================================================================================================================
$result = FileExists($configFilePath)
If $result = 0 Then
MsgBox(4096, @ScriptName, $configFile & " not found, aborted!")
Exit
EndIf
$appFilePath = IniRead($configFilePath, "General", "ApplicationPath", "NotFound")
If $appFilePath = "NotFound" Then
MsgBox(4096, @ScriptName, "Key: ApplicationPath is missing in " & $configFile & " , aborted!")
Exit
EndIf
; Check command line parameters
If $CmdLine[0] = 2 Then
$pathFirst = $CmdLine[1]
$pathSecond = $CmdLine[2]
Else
MsgBox(4096, @ScriptName, "You must supply two paths as arguments, aborted!")
Exit
EndIf
; Call XYplorer with both paths
ShellExecute ('"' & $appFilePath & '"', "/script=" & '"' & "::focus('P2'); goto('" & $pathSecond & "'); focus('P1'); goto('" & $pathFirst & "');" & '"' & " /flg=2")
That should work (tried it at least with a portable installation).
Attached: .exe & .ini as a .zip file.
You have to copy the StartXYplorer.exe and StartXYplorer.ini into the same location and afterwards you have to edit the StartXYplorer.ini file.
Adapt the path
Code: Select all
ApplicationPath=D:\Tools\XYplorer\XYplorer.exe
to your XYplorer installation.
Then you can call XYplorer from an external application with:
Code: Select all
<your path to StartXYplorer.exe>\StartXYplorer.exe "<path for left side>" "<path for right side>"