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 ---
You may need the fully qualified path to the PowerShell executable for it to work.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 5:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Thanks Tracy - I'll give that a try just now ... will let you know in a few minutes
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Tracy Pearson Sent: 07 January 2022 22:55 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
You may need the fully qualified path to the PowerShell executable for it to work.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 5:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Hi Tracy
I tried setting the command in the registry to "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "C:\Temp\Test1.PS1" "%1"
I no longer get an error but all I see is a PowerShell window which flashes on the screen briefly and then closes ...
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Tracy Pearson Sent: 07 January 2022 22:55 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
You may need the fully qualified path to the PowerShell executable for it to work.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 5:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Now it might be the quote marks and the parameters. Perhaps a single quote mark.
"C:\Temp\Test1.PS1 '%1'"
Embedded quotes.
I'm grabbing at straws here. The original entry was this: "C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" -SHELLOPEN "%1"
Me, I had created config.fpw files for each of my projects that have a command entry to run a startup.prg that does my environment setup and opens my project files.
I've not gotten myself into PowerShell. I'm so used to a command prompt from the DOS days when we started Windows from a command.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 6:10 PM To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Hi Tracy
I tried setting the command in the registry to "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "C:\Temp\Test1.PS1" "%1"
I no longer get an error but all I see is a PowerShell window which flashes on the screen briefly and then closes ...
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Tracy Pearson Sent: 07 January 2022 22:55 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
You may need the fully qualified path to the PowerShell executable for it to work.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 5:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Tracy
Tried several variations of quotes and spaces without success so far - will have another look tomorrow. Thanks again
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Tracy Pearson Sent: 07 January 2022 23:20 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Now it might be the quote marks and the parameters. Perhaps a single quote mark.
"C:\Temp\Test1.PS1 '%1'"
Embedded quotes.
I'm grabbing at straws here. The original entry was this: "C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" -SHELLOPEN "%1"
Me, I had created config.fpw files for each of my projects that have a command entry to run a startup.prg that does my environment setup and opens my project files.
I've not gotten myself into PowerShell. I'm so used to a command prompt from the DOS days when we started Windows from a command.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 6:10 PM To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Hi Tracy
I tried setting the command in the registry to "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "C:\Temp\Test1.PS1" "%1"
I no longer get an error but all I see is a PowerShell window which flashes on the screen briefly and then closes ...
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Tracy Pearson Sent: 07 January 2022 22:55 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
You may need the fully qualified path to the PowerShell executable for it to work.
HTH, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 5:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Paul
For me double-clicking a PJX in Windows also opens VFP9 with the project file open and ready.
When I examine the .pjx entry using FileTypesMan (https://www.nirsoft.net/utils/file_types_manager.html) the registry key is:
HKEY_CLASSES_ROOT\Visual.FoxPro.Project\shell\open\command
and the value is a REG_SZ equal to
"C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" -SHELLOPEN "%1"
HTH
Thanks Alan, wOOdy and Michael
I am going to try wOOdy's suggestion first and see where that takes me. Can anybody confirm what happens (and what the relevant registry entries are) when double-clicking on an SCX, an FRX and a VCX (not all at the same time <g>)?
Many thanks, again
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Alan Bourke Sent: 08 January 2022 15:15 To: profoxtech@leafe.com Subject: Re: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Paul
For me double-clicking a PJX in Windows also opens VFP9 with the project file open and ready.
When I examine the .pjx entry using FileTypesMan (https://www.nirsoft.net/utils/file_types_manager.html) the registry key is:
HKEY_CLASSES_ROOT\Visual.FoxPro.Project\shell\open\command
and the value is a REG_SZ equal to
"C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" -SHELLOPEN "%1"
HTH
-- Alan Bourke alanpbourke (at) fastmail (dot) fm
[excessive quoting removed by server]
Paul
Same registry values, same expected action on double clicking here.
Thanks Alan (and all other responders)
I have everything working as expected for SCX, VCX, MNX, FRX and LBX. I am still to address DBF, DBC, PRG and, perhaps, QPR
The funny thing is that I can't remember having had this work in the past and had been assuming all along that VFP simply did not work as expected when double-clicking Fox files in Explorer - hence my attempts with PowerShell (and with a C # console app).
Paul
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Alan Bourke Sent: 09 January 2022 09:04 To: profoxtech@leafe.com Subject: Re: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Paul
Same registry values, same expected action on double clicking here.
-- Alan Bourke alanpbourke (at) fastmail (dot) fm
[excessive quoting removed by server]
SFA ... 😊
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Alan Bourke Sent: 10 January 2022 07:49 To: profoxtech@leafe.com Subject: Re: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
I have everything working as expected for SCX, VCX, MNX, FRX and LBX. I am still to address DBF, DBC, PRG and, perhaps, QPR
What have Queen's Park Rangers got to do with it :)
-- Alan Bourke alanpbourke (at) fastmail (dot) fm
[excessive quoting removed by server]
Paul,
I'm not sure why you're having to go to such lengths. When I double-click a PJX or PJT file in Windows Explorer, the project automatically opens up in the project manager.
Mike
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 3:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Hi Mike
Could you show us what relevant entries you have in the registry - for as long as I can remember double clicking on a PJX gives ... not an object file
Paul
Off to bed until tomorrow
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Michael Glassman Sent: 07 January 2022 23:52 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Paul,
I'm not sure why you're having to go to such lengths. When I double-click a PJX or PJT file in Windows Explorer, the project automatically opens up in the project manager.
Mike
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 3:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Searching for ".pjx" in the registry gives the following: Computer\HKEY_CLASSES_ROOT.pjx (Default) REG_SZ Visual.FoxPro.Project
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explore r\FileExts.PJX\OpenWithList (Default) REG_SZ (value not set) Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explore r\FileExts.PJX\OpenWithList a REG_SZ vfp9.exe Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explore r\FileExts.PJX\OpenWithList MRUList REG_SZ a
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explore r\FileExts.PJX\OpenWithProgids (Default) REG_SZ (value not set) Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explore r\FileExts.PJX\OpenWithProgids Visaul.FoxPro.Project REG_NONE (zero-length binary value)
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes.pjx (Default) REG_SZ Visual.FoxPro.Project
Mike
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 4:57 PM To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Hi Mike
Could you show us what relevant entries you have in the registry - for as long as I can remember double clicking on a PJX gives ... not an object file
Paul
Off to bed until tomorrow
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Michael Glassman Sent: 07 January 2022 23:52 To: profoxtech@leafe.com Subject: RE: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
Paul,
I'm not sure why you're having to go to such lengths. When I double-click a PJX or PJT file in Windows Explorer, the project automatically opens up in the project manager.
Mike
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of paul.newton.hudl@gmail.com Sent: Friday, January 07, 2022 3:43 PM To: profoxtech@leafe.com Subject: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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 ---
[excessive quoting removed by server]
Maybe you should just run VFP9.EXE /REGSERVER with Admin privileges.
After that, start VFPCLEAN.APP from within VFP9, to restore all other Registry settings.
wOOdy
-----Ursprüngliche Nachricht----- Von: ProFox profox-bounces@leafe.com Im Auftrag von paul.newton.hudl@gmail.com Gesendet: Freitag, 7. Januar 2022 23:43 An: profox@leafe.com Betreff: Problem trying to run a Powershell script as an Explorer shell command (Fox related)
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.