55 Info.lpFile = szCommandLine;
56 Info.lpParameters = szParam;
61 CommandLine.ReleaseBuffer();
100 if (cbData %
sizeof(
WCHAR) != 0)
111 szBuffer[cbData /
sizeof(
WCHAR)] =
L'\0';
117 ExpandStr.ReleaseBuffer();
135 m_SectionName(lpSubKeyName)
139 DWORD dwMaxValueNameLen;
147 &dwValueNum, &dwMaxValueNameLen,
152 for (
DWORD i = 0;
i < dwValueNum;
i++)
155 DWORD dwcchName = dwMaxValueNameLen + 1;
157 szValueName =
ValueName.GetBuffer(dwMaxValueNameLen + 1);
181 m_SectionName(Section.m_SectionName),
182 m_bSuccess(Section.m_bSuccess),
183 m_SectionTitle(Section.m_SectionTitle),
184 m_EntryList(Section.m_EntryList)
231 DWORD dwMaxSubKeyNameLen;
236 L"Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\");
259 &dwSubKeyNum, &dwMaxSubKeyNameLen,
266 for (
DWORD i = 0;
i < dwSubKeyNum;
i++)
269 DWORD dwcchName = dwMaxSubKeyNameLen + 1;
271 szSubKeyName =
SubKeyName.GetBuffer(dwMaxSubKeyNameLen + 1);
298 UINT CompleteCnt = 0;
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE) noexcept
LONG QueryStringValue(LPCTSTR pszValueName, LPTSTR pszValue, ULONG *pnChars) noexcept
LONG QueryDWORDValue(LPCTSTR pszValueName, DWORD &dwValue) noexcept
LONG EnumKey(DWORD iIndex, LPTSTR pszName, LPDWORD pnNameLength, FILETIME *pftLastWriteTime=NULL) noexcept
LONG DeleteValue(LPCTSTR lpszValue) noexcept
void Attach(HKEY hKey) noexcept
bool IsEmpty() const noexcept
LONG EnumValueName(_In_ DWORD iIndex, _Out_ LPTSTR pszName, _Inout_ LPDWORD pnNameLength)
RunOnceExEntry(_In_ const ATL::CStringW &Name, _In_ const ATL::CStringW &Value)
BOOL Delete(_In_ CRegKeyEx &hParentKey)
BOOL HandleSubKey(_In_ CRegKeyEx &hKey, _In_ const CStringW &SubKeyName)
RunOnceExInstance(_In_ HKEY BaseKey)
BOOL Run(_In_ BOOL bSilence)
BOOL Exec(_In_opt_ HWND hwnd)
CSimpleArray< RunOnceExSection > m_SectionList
ATL::CStringW m_SectionTitle
BOOL CloseAndDelete(_In_ CRegKeyEx &hParentKey)
CSimpleArray< RunOnceExEntry > m_EntryList
BOOL HandleValue(_In_ CRegKeyEx &hKey, _In_ const CStringW &ValueName)
RunOnceExSection(_In_ CRegKeyEx &hParentKey, _In_ const CStringW &lpSubKeyName)
BOOL Exec(_Inout_ UINT &iCompleteCnt, _In_ const UINT iTotalCnt)
ATL::CStringW m_SectionName
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
LONG WINAPI RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
#define FLAGS_NO_STAT_DIALOG
int RunOnceExSectionCmp(_In_ const void *a, _In_ const void *b)
int RunOnceExEntryCmp(_In_ const void *a, _In_ const void *b)
RUNONCEEX_CALLBACK g_Callback
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
void WINAPI PathRemoveArgsW(LPWSTR lpszPath)
LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
RUNONCEEX_CALLBACK g_Callback
VOID(CALLBACK * RUNONCEEX_CALLBACK)(_In_ UINT CompleteCnt, _In_ UINT TotalCnt, _In_ DWORD_PTR dwReserved)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
#define SEE_MASK_NOCLOSEPROCESS
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)