This module provides access to extended Win32 process creation and management abilities.
Process objects are created with the Create
method (the constructor). Additional
methods can be used on objects to kill, suspend, resume, and set the priorities of processes.
The Create
constructor has the following syntax:
The arguments toWin32::Process->Create($Proc, app, cmnd, hndls, opts, dir)
Create
are as follows:$Proc
Name of the reference for the created process object.
app
Full pathname of the executable.
cmnd
Command line for executable.
hndls
Determines handle inheritance. A value of 1 turns on inheritance; a 0 value turns it off.
opts
Sets options to implement when the process is created. The available options for this argument are listed below.
dir
The working directory for the executable.
The process is created by passing the command line in cmnd
to the executable
named in app
. For example, a process object for a text file running in Notepad
is created like this:
The process creation options given by theuse Win32::Process; Win32::Process->Create($proc, 'C:\\windows\\Notepad.exe', "Notepad perlnut.txt", 1, DETACHED_PROCESS, ".");
opts
argument to Create
are:
CREATE_DEFAULT_ERROR_MODE Give the process the default error mode. CREATE_NEW_CONSOLE Create a new console for the process. Can't be used with DETACHED_PROCESS. CREATE_NEW_PROCESS_GROUP Create process as root of a new process group. CREATE_SEPARATE_WOW_VDM Run process in its own Virtual DOS Machine (VDM). Only applicable to 16-bit apps. CREATE_SUSPENDED Start process in a suspended state. The process can be started with the Resume method. CREATE_UNICODE_ENVIRONMENT Use UNICODE characters in the environment block of the new process. DEBUG_PROCESS Debug the new process with the calling process. DEBUG_ONLY_THIS_PROCESS Don't debug the new process if calling process is being debugged. DETACHED_PROCESS Create a process with no access to the console of the calling process.