JUCE: Process Class Reference

JUCE

Public Types | Static Public Member Functions | List of all members
Process Class Reference

Represents the current executable's process. More...

## Public Types
enum | ProcessPriority { LowPriority = 0, NormalPriority = 1, HighPriority = 2, RealtimePriority = 3 }

## Static Public Member Functions
static void JUCE_CALLTYPE | setPriority (const ProcessPriority priority)
| Changes the current process's priority. More...
static void JUCE_CALLTYPE | terminate ()
| Kills the current process immediately. More...
static bool JUCE_CALLTYPE | isForegroundProcess ()
| Returns true if this application process is the one that the user is currently using. More...
static void JUCE_CALLTYPE | makeForegroundProcess ()
| Attempts to make the current process the active one. More...
static void JUCE_CALLTYPE | hide ()
| Hides the application (on an OS that supports this, e.g. More...
static void JUCE_CALLTYPE | raisePrivilege ()
| Raises the current process's privilege level. More...
static void JUCE_CALLTYPE | lowerPrivilege ()
| Lowers the current process's privilege level. More...
static bool JUCE_CALLTYPE | isRunningUnderDebugger () noexcept
| Returns true if this process is being hosted by a debugger. More...
static bool JUCE_CALLTYPE | openDocument (const String &documentURL, const String &parameters)
| Tries to launch the OS's default reader application for a given file or URL. More...
static bool JUCE_CALLTYPE | openEmailWithAttachments (const String &targetEmailAddress, const String &emailSubject, const String &bodyText, const StringArray &filesToAttach)
| Tries to launch the OS's default email application to let the user create a message. More...
static void *JUCE_CALLTYPE | getCurrentModuleInstanceHandle () noexcept
| WINDOWS ONLY - This returns the HINSTANCE of the current module. More...
static void JUCE_CALLTYPE | setCurrentModuleInstanceHandle (void *newHandle) noexcept
| WINDOWS ONLY - Sets a new module handle to be used by the library. More...
static bool | setMaxNumberOfFileHandles (int maxNumberOfFiles) noexcept
| UNIX ONLY - Attempts to use setrlimit to change the maximum number of file handles that the app can open. More...

## Detailed Description

Represents the current executable's process.

This contains methods for controlling the current application at the process-level.

See also
  Thread, JUCEApplicationBase

## Member Enumeration Documentation

## ◆ ProcessPriority

enum Process::ProcessPriority

Enumerator
LowPriority |
NormalPriority |
HighPriority |
RealtimePriority |

## Member Function Documentation

## ◆ setPriority()

static void JUCE_CALLTYPE Process::setPriority | ( | const ProcessPriority | priority | ) |
| static

Changes the current process's priority.

Parameters

  priority | the process priority, where 0=low, 1=normal, 2=high, 3=realtime

## ◆ terminate()

static void JUCE_CALLTYPE Process::terminate | ( |  | ) |
| static

Kills the current process immediately.

This is an emergency process terminator that kills the application immediately - it's intended only for use only when something goes horribly wrong.

See also
  JUCEApplicationBase::quit

## ◆ isForegroundProcess()

static bool JUCE_CALLTYPE Process::isForegroundProcess | ( |  | ) |
| static

Returns true if this application process is the one that the user is currently using.

## ◆ makeForegroundProcess()

static void JUCE_CALLTYPE Process::makeForegroundProcess | ( |  | ) |
| static

Attempts to make the current process the active one.

(This is not possible on some platforms).

## ◆ hide()

static void JUCE_CALLTYPE Process::hide | ( |  | ) |
| static

Hides the application (on an OS that supports this, e.g.

OSX, iOS, Android)

## ◆ raisePrivilege()

static void JUCE_CALLTYPE Process::raisePrivilege | ( |  | ) |
| static

Raises the current process's privilege level.

Does nothing if this isn't supported by the current OS, or if process privilege level is fixed.

## ◆ lowerPrivilege()

static void JUCE_CALLTYPE Process::lowerPrivilege | ( |  | ) |
| static

Lowers the current process's privilege level.

Does nothing if this isn't supported by the current OS, or if process privilege level is fixed.

## ◆ isRunningUnderDebugger()

static bool JUCE_CALLTYPE Process::isRunningUnderDebugger | ( |  | ) |
| staticnoexcept

Returns true if this process is being hosted by a debugger.

## ◆ openDocument()

static bool JUCE_CALLTYPE Process::openDocument | ( | const String & | documentURL,
|  | const String & | parameters
| ) |  |
| static

Tries to launch the OS's default reader application for a given file or URL.

## ◆ openEmailWithAttachments()

static bool JUCE_CALLTYPE Process::openEmailWithAttachments | ( | const String & | targetEmailAddress,
|  | const String & | emailSubject,
|  | const String & | bodyText,
|  | const StringArray & | filesToAttach
| ) |  |
| static

Tries to launch the OS's default email application to let the user create a message.

## ◆ getCurrentModuleInstanceHandle()

static void* JUCE_CALLTYPE Process::getCurrentModuleInstanceHandle | ( |  | ) |
| staticnoexcept

WINDOWS ONLY - This returns the HINSTANCE of the current module.

The return type is a void* to avoid being dependent on windows.h - just cast it to a HINSTANCE to use it.

In a normal JUCE application, this will be automatically set to the module handle of the executable.

If you've built a DLL and plan to use any JUCE messaging or windowing classes, you'll need to make sure you call the setCurrentModuleInstanceHandle() to provide the correct module handle in your DllMain() function, because the system relies on the correct instance handle when opening windows.

## ◆ setCurrentModuleInstanceHandle()

static void JUCE_CALLTYPE Process::setCurrentModuleInstanceHandle | ( | void * | newHandle | ) |
| staticnoexcept

WINDOWS ONLY - Sets a new module handle to be used by the library.

The parameter type is a void* to avoid being dependent on windows.h, but it actually expects a HINSTANCE value.

See also
  getCurrentModuleInstanceHandle()

## ◆ setMaxNumberOfFileHandles()

static bool Process::setMaxNumberOfFileHandles | ( | int | maxNumberOfFiles | ) |
| staticnoexcept

UNIX ONLY - Attempts to use setrlimit to change the maximum number of file handles that the app can open.

Pass 0 or less as the parameter to mean 'infinite'. Returns true if it succeeds.

The documentation for this class was generated from the following file:

- juce_Process.h