Thanks Tracy - I'll give that a try just now ... will let you know in  a few
minutes

Paul

-----Original Message-----
From: ProfoxTech <profoxtech-boun...@leafe.com> On Behalf Of Tracy Pearson
Sent: 07 January 2022 22:55
To: profoxt...@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-boun...@leafe.com] On Behalf Of
paul.newton.h...@gmail.com
Sent: Friday, January 07, 2022 5:43 PM
To: profoxt...@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]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/015f01d80419$f0879320$d196b960$@gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to