Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.4 KiB

  1. //
  2. // runonce.h
  3. //
  4. #ifndef _RUNONCE_INC
  5. #define _RUNONCE_INC
  6. // Cabinet_EnumRegApps flags
  7. #define RRA_DEFAULT 0x0000
  8. #define RRA_DELETE 0x0001 // delete each reg value when we're done with it
  9. #define RRA_WAIT 0x0002 // Wait for current item to finish before launching next item
  10. // was RRA_SHELLSERVICEOBJECTS 0x0004 -- do not reuse
  11. #define RRA_NOUI 0x0008 // prevents ShellExecuteEx from displaying error dialogs
  12. #if (_WIN32_WINNT >= 0x0500)
  13. #define RRA_USEJOBOBJECTS 0x0020 // wait on job objects instead of process handles
  14. #endif
  15. typedef UINT RRA_FLAGS;
  16. typedef struct {
  17. TCHAR szSubkey[MAX_PATH];
  18. TCHAR szValueName[MAX_PATH];
  19. TCHAR szCmdLine[MAX_PATH];
  20. } REGAPP_INFO;
  21. // legacy from ripping this code out of explorer\initcab.cpp
  22. extern BOOL g_fCleanBoot; // are we running in SAFE-MODE?
  23. extern BOOL g_fEndSession; // did we process a WM_ENDSESSION?
  24. typedef BOOL (WINAPI* PFNREGAPPSCALLBACK)(LPCTSTR szSubkey, LPCTSTR szCmdLine, RRA_FLAGS fFlags, LPARAM lParam);
  25. STDAPI_(BOOL) ShellExecuteRegApp(LPCTSTR pszCmdLine, RRA_FLAGS fFlags);
  26. STDAPI_(BOOL) Cabinet_EnumRegApps(HKEY hkeyParent, LPCTSTR pszSubkey, RRA_FLAGS fFlags, PFNREGAPPSCALLBACK pfnCallback, LPARAM lParam);
  27. STDAPI_(BOOL) ExecuteRegAppEnumProc(LPCTSTR szSubkey, LPCTSTR szCmdLine, RRA_FLAGS fFlags, LPARAM lParam);
  28. #endif // _RUNONCE_INC