WinStartApp: Difference between revisions
Appearance
m add link for PROGDETAILS data type |
|||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Execute a program. | Execute a program. | ||
== Syntax == | |||
WinStartApp (notifyHndl, progDetails, progParams, reserved, flags) | |||
=== Parameters === | === Parameters === | ||
; notifyHndl - [[ | ; notifyHndl - [[HWND]] - input : The window notification handle or [[NULLHANDLE]]. If a window handle is passed, the system passes the WM_APPTERMINATENOTIFY message upon program exit. | ||
The window notification handle or [[ | ; progDetails - PROGDETAILS - input : The program list structure. | ||
; progParams - [[PSZ]] - input : [[NULL]] or the parameters for the program to be started. The layout is first, the program's exe name; the second, the space separated arguments. | |||
; progDetails - | ; reserved - [[PVOID]] - input : Start data. Reserved - pass NULL. | ||
The program list structure. | ; flags - [[ULONG]] - input : Zero for no flags or: | ||
* [[SAF#SAF_BACKGROUND|SAF_BACKGROUND]] | |||
; progParams - [[ | * [[SAF#SAF_INSTALLEDCMDLINE|SAF_INSTALLEDCMDLINE]] | ||
[[ | * [[SAF#SAF_MAXIMIZED|SAF_MAXIMIZED]] | ||
* [[SAF#SAF_MINIMIZED|SAF_MINIMIZED]] | |||
; reserved - [[ | * [[SAF#SAF_STARTCHILDAPP|SAF_STARTCHILDAPP]] | ||
Start data. | |||
; flags - [[ | |||
Zero for no flags or: | |||
* [[ | |||
* [[ | |||
* [[ | |||
* [[ | |||
* [[ | |||
=== Constants === | === Constants === | ||
Line 28: | Line 20: | ||
=== Returns === | === Returns === | ||
The invoked applications handle of type [[ | ;[[HAPP]] : The invoked applications handle of this type. | ||
Possible returns from [[ | ;[[NULLHANDLE]] : An error occurred. | ||
* [[ | Possible returns from [[WinGetLastError]]: | ||
* [[ | * [[PM Error Codes#PMERR_CANNOT_START|PMERR_CANNOT_START]] | ||
* [[ | * [[PM Error Codes#PMERR_DOS_ERROR|PMERR_DOS_ERROR]] | ||
* [[ | * [[PM Error Codes#PMERR_INVALID_APPL|PMERR_INVALID_APPL]] | ||
* [[PM Error Codes#PMERR_INVALID_HWND|PMERR_INVALID_HWND]] | |||
* [[PM Error Codes#PMERR_INVALID_PARAMETERS|PMERR_INVALID_PARAMETERS]] | |||
* [[PM Error Codes#PMERR_INVALID_PROGRAM_CATEGORY|PMERR_INVALID_PROGRAM_CATEGORY]] | |||
* [[PM Error Codes#PMERR_INVALID_WINDOW|PMERR_INVALID_WINDOW]] | |||
* [[PM Error Codes#PMERR_STARTED_IN_BACKGROUND|PMERR_STARTED_IN_BACKGROUND]] | |||
=== Define (C/C++) === | === Define (C/C++) === | ||
INCL_WINWINDOWMGR or INCL_WIN or INCL_PM | INCL_WINWINDOWMGR or INCL_WIN or INCL_PM | ||
=== Calling Convention === | |||
=== Calling | |||
[[Cdecl32]] | [[Cdecl32]] | ||
=== Example Code === | === Example Code === | ||
HWND notifyHndl; | |||
PROGDETAILS progDetails; | |||
PSZ progParams; | |||
PVOID reserved = NULL; | |||
ULONG flags; | |||
HAPP invokedHndl; | |||
... | |||
// populate PROGDETAILS structure... | |||
... | ... | ||
invokedHndl = WinStartApp(notifyHndl, progDetails, progParams, reserved, flags); | invokedHndl = WinStartApp(notifyHndl, progDetails, progParams, reserved, flags); | ||
Line 57: | Line 52: | ||
=== Related Functions === | === Related Functions === | ||
[[ | *[[WinQueryTaskSizePos]] | ||
*[[WinSetWindowPos]] | |||
*[[WinTerminateApp]] | |||
=== Notes === | === Notes === | ||
Specifying [[SAF#SAF_STARTCHILDAPP|SAF_STARTCHILDAPP]] flag, the newly invoked program can be stopped with [[WinTerminateApp]]. | |||
[[Category:Win]] |
Latest revision as of 21:52, 6 August 2023
Execute a program.
Syntax
WinStartApp (notifyHndl, progDetails, progParams, reserved, flags)
Parameters
- notifyHndl - HWND - input
- The window notification handle or NULLHANDLE. If a window handle is passed, the system passes the WM_APPTERMINATENOTIFY message upon program exit.
- progDetails - PROGDETAILS - input
- The program list structure.
- progParams - PSZ - input
- NULL or the parameters for the program to be started. The layout is first, the program's exe name; the second, the space separated arguments.
- reserved - PVOID - input
- Start data. Reserved - pass NULL.
- flags - ULONG - input
- Zero for no flags or:
Constants
None
Returns
- HAPP
- The invoked applications handle of this type.
- NULLHANDLE
- An error occurred.
Possible returns from WinGetLastError:
- PMERR_CANNOT_START
- PMERR_DOS_ERROR
- PMERR_INVALID_APPL
- PMERR_INVALID_HWND
- PMERR_INVALID_PARAMETERS
- PMERR_INVALID_PROGRAM_CATEGORY
- PMERR_INVALID_WINDOW
- PMERR_STARTED_IN_BACKGROUND
Define (C/C++)
INCL_WINWINDOWMGR or INCL_WIN or INCL_PM
Calling Convention
Example Code
HWND notifyHndl; PROGDETAILS progDetails; PSZ progParams; PVOID reserved = NULL; ULONG flags; HAPP invokedHndl; ... // populate PROGDETAILS structure... ... invokedHndl = WinStartApp(notifyHndl, progDetails, progParams, reserved, flags); ...
Related Functions
Notes
Specifying SAF_STARTCHILDAPP flag, the newly invoked program can be stopped with WinTerminateApp.