Loading...
Searching...
No Matches
juce::Process Class Reference

## Detailed Description

Represents the current executable's process.

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

See also
  Thread, JUCEApplicationBase

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

- juce_core/threads/juce_Process.h

## Public Types

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

## Static Public Member Functions

static void JUCE_CALLTYPE | setPriority (ProcessPriority priority)
| Changes the current process's priority.
static void JUCE_CALLTYPE | terminate ()
| Kills the current process immediately.
static bool JUCE_CALLTYPE | isForegroundProcess ()
| Returns true if this application process is the one that the user is currently using.
static void JUCE_CALLTYPE | makeForegroundProcess ()
| Attempts to make the current process the active one.
static void JUCE_CALLTYPE | hide ()
| Hides the application (on an OS that supports this, e.g.
static void JUCE_CALLTYPE | raisePrivilege ()
| Raises the current process's privilege level.
static void JUCE_CALLTYPE | lowerPrivilege ()
| Lowers the current process's privilege level.
static bool JUCE_CALLTYPE | isRunningUnderDebugger () noexcept
| Returns true if this process is being hosted by a debugger.
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.
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.
static void *JUCE_CALLTYPE | getCurrentModuleInstanceHandle () noexcept
| WINDOWS ONLY - This returns the HINSTANCE of the current module.
static void JUCE_CALLTYPE | setCurrentModuleInstanceHandle (void *newHandle) noexcept
| WINDOWS ONLY - Sets a new module handle to be used by the library.
static void | setDockIconVisible (bool isVisible)
| OSX ONLY - Shows or hides the OSX dock icon for this app.
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.

## Member Enums

## ProcessPriority

enum juce::Process::ProcessPriority

Enumerator
LowPriority |
NormalPriority |
HighPriority |
RealtimePriority |

## Member Functions

## setPriority()

void JUCE_CALLTYPE juce::Process::setPriority | ( | ProcessPriority | priority | ) |

static

Changes the current process's priority.

Parameters

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

References JUCE_CALLTYPE.

## terminate()

void JUCE_CALLTYPE juce::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

References JUCE_CALLTYPE.

## isForegroundProcess()

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

static

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

References JUCE_CALLTYPE.

## makeForegroundProcess()

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

static

Attempts to make the current process the active one.

(This is not possible on some platforms).

References JUCE_CALLTYPE.

## hide()

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

static

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

OSX, iOS, Android)

References JUCE_CALLTYPE.

## raisePrivilege()

void JUCE_CALLTYPE juce::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.

References JUCE_CALLTYPE.

## lowerPrivilege()

void JUCE_CALLTYPE juce::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.

References JUCE_CALLTYPE.

## isRunningUnderDebugger()

bool JUCE_CALLTYPE juce::Process::isRunningUnderDebugger | ( |  | ) |

static noexcept

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

References JUCE_CALLTYPE.

## openDocument()

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

static

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

References JUCE_CALLTYPE, and openDocument().

Referenced by openDocument().

## openEmailWithAttachments()

bool JUCE_CALLTYPE juce::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.

References JUCE_CALLTYPE, and openEmailWithAttachments().

Referenced by openEmailWithAttachments().

## getCurrentModuleInstanceHandle()

void *JUCE_CALLTYPE juce::Process::getCurrentModuleInstanceHandle | ( |  | ) |

static noexcept

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.

References JUCE_CALLTYPE.

## setCurrentModuleInstanceHandle()

void JUCE_CALLTYPE juce::Process::setCurrentModuleInstanceHandle | ( | void * | newHandle | ) |

static noexcept

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()

References JUCE_CALLTYPE, and setCurrentModuleInstanceHandle().

Referenced by setCurrentModuleInstanceHandle().

## setDockIconVisible()

void juce::Process::setDockIconVisible | ( | bool | isVisible | ) |

static

OSX ONLY - Shows or hides the OSX dock icon for this app.

## setMaxNumberOfFileHandles()

bool juce::Process::setMaxNumberOfFileHandles | ( | int | maxNumberOfFiles | ) |

static noexcept

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.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited