[Chapter 19] 19.12 Win32::Process
Author: Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Date: 1999-07-02T01:59:59Z

#

| Chapter 19 Win32 Modules and Extensions |

## 19.12 Win32::Process

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:

>     Win32::Process->Create($Proc, app, cmnd, hndls, opts, dir)

The arguments to `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:

>     use Win32::Process;
>     Win32::Process->Create($proc, 'C:\\windows\\Notepad.exe',
>                            "Notepad perlnut.txt", 1,
>                            DETACHED_PROCESS, ".");

The process creation options given by the `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.

### 19.12.1 Methods

The following methods are provided for objects of created by Win32::Process:

- Kill
- Suspend
- Resume
- GetPriorityClass
- SetPriorityClass
- GetExitCode
- Wait

19.11 Win32::NetResource |  | 19.13 Win32::Registry