Hi all
I have been toying on and off over several years with a method of opening
VFP with a MODIFY command when double-clicking a file in Explorer. For
example, double-clicking on a PJX in Explorer should open VFP with the
command MODIFY PROJECT <Project> NOWAIT.
I am almost there, maybe. At the moment everything is in C:\Temp
ConFig.FPW contains
Command = C:\Temp\FoxOpen.PRG
*FoxOpen.PRG is constructed on-the fly by a PowerShell script TEST.PS1 as
follows:
TEST.PS1
Param([string]$a)
$file=Get-Item "$a"
$Extension = $file.Extension.ToUpper()
$Command = ""
switch ($Extension)
{
.PJX
{
$Command = "Modify Project '"+ $a + "' NOWAIT"
}
# Other cases follow
}
Set-Content -Path C:\Temp\FoxOpen.PRG -Value $Command
& "C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe"
-CC:\Temp\Config.FPW
I have tested this in a PowerShell console like this
PS C:\Temp> C:\Temp\Test.PS1 <PJXPath> where <PJXPath> is a fully qualified
path to a PJX, enclosed in single quotes
I have also tested in a COMMAND window like this
C:\Temp> PowerShell C:\Temp\Test.PS1 <PJXPath> again where <PJXPath> is a
fully qualified path to a PJX, enclosed in single quotes
So far, so good. Now for how to implement the shell command. My registry
settings are as follows:
Computer\HKEY_CLASSES_ROOT
PJXFile (Default) REG-SZ Project (FoxPro)
Shell (Default) REG_SZ (value not set)
Modify project (Default)
REG_SZ (value not set)
Command (Default)
REG_SZ "POWERSHELL C:\Temp\Test1.PS1" "%1"
However, double-clicking on a PJX results in:
Windows cannot access the specified device, path or file. You may not have
the appropriate permissions to access the item.
It seems as if I am nearly there, so any suggestions will be very gratefully
received. Many thanks
Paul Newton
P.S. My first attempt at doing anything useful with PowerShell
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---