windows-nt/Source/XPSP1/NT/shell/inc/runonce.h

39 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//
// runonce.h
//
#ifndef _RUNONCE_INC
#define _RUNONCE_INC
// Cabinet_EnumRegApps flags
#define RRA_DEFAULT 0x0000
#define RRA_DELETE 0x0001 // delete each reg value when we're done with it
#define RRA_WAIT 0x0002 // Wait for current item to finish before launching next item
// was RRA_SHELLSERVICEOBJECTS 0x0004 -- do not reuse
#define RRA_NOUI 0x0008 // prevents ShellExecuteEx from displaying error dialogs
#if (_WIN32_WINNT >= 0x0500)
#define RRA_USEJOBOBJECTS 0x0020 // wait on job objects instead of process handles
#endif
typedef UINT RRA_FLAGS;
typedef struct {
TCHAR szSubkey[MAX_PATH];
TCHAR szValueName[MAX_PATH];
TCHAR szCmdLine[MAX_PATH];
} REGAPP_INFO;
// legacy from ripping this code out of explorer\initcab.cpp
extern BOOL g_fCleanBoot; // are we running in SAFE-MODE?
extern BOOL g_fEndSession; // did we process a WM_ENDSESSION?
typedef BOOL (WINAPI* PFNREGAPPSCALLBACK)(LPCTSTR szSubkey, LPCTSTR szCmdLine, RRA_FLAGS fFlags, LPARAM lParam);
STDAPI_(BOOL) ShellExecuteRegApp(LPCTSTR pszCmdLine, RRA_FLAGS fFlags);
STDAPI_(BOOL) Cabinet_EnumRegApps(HKEY hkeyParent, LPCTSTR pszSubkey, RRA_FLAGS fFlags, PFNREGAPPSCALLBACK pfnCallback, LPARAM lParam);
STDAPI_(BOOL) ExecuteRegAppEnumProc(LPCTSTR szSubkey, LPCTSTR szCmdLine, RRA_FLAGS fFlags, LPARAM lParam);
#endif // _RUNONCE_INC