Announcement

Collapse
No announcement yet.

Execution Path

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Execution Path

    Anyone know how to find out where a program was executed i.e. if the user typed c:\dr\myprog is it possible to extract the c:\dr information from the command line?

    Cheers


  • #2
    Haven't used it for a long time, but it should work....

    Code:
    function ExecPath$ public
      dim Temp as integer, TempPath as string   		'local variables
      TempPath = ""
      reg %ax, &h6200                                       'get PSP function
      call interrupt &h21                                   'call DOS
      def seg  = reg(%bx)                            	'load PSP segment
      temp    = peeki(&h2C)
      def seg = temp					'load env.tab segment
      TempPath = peek$(0,1024)
      def seg
      Temp     = instr(TempPath, chr$(0,0))
      if Temp then                                          'if found,add 4
        incr Temp, 4
        TempPath = mid$(TempPath,Temp,128)
        TempPath = extract$(TempPath, chr$(0))          	'startup directory
        do
          TempPath = left$(TempPath,len(TempPath)-1)        'cut string until
        loop until (right$(TempPath,1) = "\")               'first "\" separator
        if (mid$(TempPath,2,2) <> ":\") then TempPath = ""  'test if path valid
      end if
      ExecPath = ucase$(TempPath)
    end function
    Regards,
    Peter

    Comment

    Working...
    X