39 lines
1.4 KiB
C
39 lines
1.4 KiB
C
|
//
|
||
|
// 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
|