| 
    Process Hacker
    
   | 
 
#include <phapp.h>#include <settings.h>#include <symprv.h>#include <cpysave.h>#include <phappres.h>#include <emenu.h>#include <phsvccl.h>#include "mxml/mxml.h"#include <winsta.h>#include <dbghelp.h>#include <appmodel.h>Go to the source code of this file.
Typedefs | |
| typedef LONG(WINAPI * | _GetPackageFullName )(_In_ HANDLE hProcess, _Inout_ UINT32 *packageFullNameLength, _Out_opt_ PWSTR packageFullName) | 
| typedef LONG(WINAPI * | _GetPackagePath )(_In_ PACKAGE_ID *packageId, _Reserved_ UINT32 reserved, _Inout_ UINT32 *pathLength, _Out_opt_ PWSTR path) | 
| typedef LONG(WINAPI * | _PackageIdFromFullName )(_In_ PCWSTR packageFullName, _In_ UINT32 flags, _Inout_ UINT32 *bufferLength, _Out_opt_ BYTE *buffer) | 
| typedef struct  _GET_PROCESS_MAIN_WINDOW_CONTEXT  | GET_PROCESS_MAIN_WINDOW_CONTEXT | 
| typedef struct  _GET_PROCESS_MAIN_WINDOW_CONTEXT *  | PGET_PROCESS_MAIN_WINDOW_CONTEXT | 
Functions | |
| BOOLEAN | PhGetProcessIsSuspended (_In_ PSYSTEM_PROCESS_INFORMATION Process) | 
| Determines whether a process is suspended.   | |
| NTSTATUS | PhGetProcessSwitchContext (_In_ HANDLE ProcessHandle, _Out_ PGUID Guid) | 
| Determines the OS compatibility context of a process.   | |
| PPH_STRING | PhGetProcessPackageFullName (_In_ HANDLE ProcessHandle) | 
| PACKAGE_ID * | PhPackageIdFromFullName (_In_ PWSTR PackageFullName) | 
| PPH_STRING | PhGetPackagePath (_In_ PACKAGE_ID *PackageId) | 
| NTSTATUS | PhGetProcessKnownType (_In_ HANDLE ProcessHandle, _Out_ PH_KNOWN_PROCESS_TYPE *KnownProcessType) | 
| Determines the type of a process based on its image file name.   | |
| BOOLEAN | PhaGetProcessKnownCommandLine (_In_ PPH_STRING CommandLine, _In_ PH_KNOWN_PROCESS_TYPE KnownProcessType, _Out_ PPH_KNOWN_PROCESS_COMMAND_LINE KnownCommandLine) | 
| VOID | PhEnumChildWindows (_In_opt_ HWND hWnd, _In_ ULONG Limit, _In_ WNDENUMPROC Callback, _In_ LPARAM lParam) | 
| BOOL CALLBACK | PhpGetProcessMainWindowEnumWindowsProc (_In_ HWND hwnd, _In_ LPARAM lParam) | 
| HWND | PhGetProcessMainWindow (_In_ HANDLE ProcessId, _In_opt_ HANDLE ProcessHandle) | 
| PPH_STRING | PhGetServiceRelevantFileName (_In_ PPH_STRINGREF ServiceName, _In_ SC_HANDLE ServiceHandle) | 
| PPH_STRING | PhEscapeStringForDelimiter (_In_ PPH_STRING String, _In_ WCHAR Delimiter) | 
| PPH_STRING | PhUnescapeStringForDelimiter (_In_ PPH_STRING String, _In_ WCHAR Delimiter) | 
| PPH_STRING | PhGetOpaqueXmlNodeText (_In_ mxml_node_t *node) | 
| VOID | PhSearchOnlineString (_In_ HWND hWnd, _In_ PWSTR String) | 
| VOID | PhShellExecuteUserString (_In_ HWND hWnd, _In_ PWSTR Setting, _In_ PWSTR String, _In_ BOOLEAN UseShellExecute, _In_opt_ PWSTR ErrorMessage) | 
| VOID | PhLoadSymbolProviderOptions (_Inout_ PPH_SYMBOL_PROVIDER SymbolProvider) | 
| PWSTR | PhMakeContextAtom (VOID) | 
| VOID | PhCopyListViewInfoTip (_Inout_ LPNMLVGETINFOTIP GetInfoTip, _In_ PPH_STRINGREF Tip) | 
| Copies a string into a NMLVGETINFOTIP structure.   | |
| VOID | PhCopyListView (_In_ HWND ListViewHandle) | 
| VOID | PhHandleListViewNotifyForCopy (_In_ LPARAM lParam, _In_ HWND ListViewHandle) | 
| VOID | PhHandleListViewNotifyBehaviors (_In_ LPARAM lParam, _In_ HWND ListViewHandle, _In_ ULONG Behaviors) | 
| BOOLEAN | PhGetListViewContextMenuPoint (_In_ HWND ListViewHandle, _Out_ PPOINT Point) | 
| HFONT | PhDuplicateFontWithNewWeight (_In_ HFONT Font, _In_ LONG NewWeight) | 
| VOID | PhSetWindowOpacity (_In_ HWND WindowHandle, _In_ ULONG OpacityPercent) | 
| VOID | PhLoadWindowPlacementFromSetting (_In_opt_ PWSTR PositionSettingName, _In_opt_ PWSTR SizeSettingName, _In_ HWND WindowHandle) | 
| VOID | PhSaveWindowPlacementToSetting (_In_opt_ PWSTR PositionSettingName, _In_opt_ PWSTR SizeSettingName, _In_ HWND WindowHandle) | 
| VOID | PhLoadListViewColumnsFromSetting (_In_ PWSTR Name, _In_ HWND ListViewHandle) | 
| VOID | PhSaveListViewColumnsToSetting (_In_ PWSTR Name, _In_ HWND ListViewHandle) | 
| PPH_STRING | PhGetPhVersion (VOID) | 
| VOID | PhGetPhVersionNumbers (_Out_opt_ PULONG MajorVersion, _Out_opt_ PULONG MinorVersion, _Reserved_ PULONG Reserved, _Out_opt_ PULONG RevisionNumber) | 
| VOID | PhWritePhTextHeader (_Inout_ PPH_FILE_STREAM FileStream) | 
| BOOLEAN | PhShellProcessHacker (_In_opt_ HWND hWnd, _In_opt_ PWSTR Parameters, _In_ ULONG ShowWindowType, _In_ ULONG Flags, _In_ ULONG AppFlags, _In_opt_ ULONG Timeout, _Out_opt_ PHANDLE ProcessHandle) | 
| BOOLEAN | PhShellProcessHackerEx (_In_opt_ HWND hWnd, _In_opt_ PWSTR FileName, _In_opt_ PWSTR Parameters, _In_ ULONG ShowWindowType, _In_ ULONG Flags, _In_ ULONG AppFlags, _In_opt_ ULONG Timeout, _Out_opt_ PHANDLE ProcessHandle) | 
| BOOLEAN | PhCreateProcessIgnoreIfeoDebugger (_In_ PWSTR FileName) | 
| VOID | PhInitializeTreeNewColumnMenu (_Inout_ PPH_TN_COLUMN_MENU_DATA Data) | 
| VOID | PhInitializeTreeNewColumnMenuEx (_Inout_ PPH_TN_COLUMN_MENU_DATA Data, _In_ ULONG Flags) | 
| VOID | PhpEnsureValidSortColumnTreeNew (_Inout_ HWND TreeNewHandle, _In_ ULONG DefaultSortColumn, _In_ PH_SORT_ORDER DefaultSortOrder) | 
| BOOLEAN | PhHandleTreeNewColumnMenu (_Inout_ PPH_TN_COLUMN_MENU_DATA Data) | 
| VOID | PhDeleteTreeNewColumnMenu (_In_ PPH_TN_COLUMN_MENU_DATA Data) | 
| VOID | PhInitializeTreeNewFilterSupport (_Out_ PPH_TN_FILTER_SUPPORT Support, _In_ HWND TreeNewHandle, _In_ PPH_LIST NodeList) | 
| VOID | PhDeleteTreeNewFilterSupport (_In_ PPH_TN_FILTER_SUPPORT Support) | 
| PPH_TN_FILTER_ENTRY | PhAddTreeNewFilter (_In_ PPH_TN_FILTER_SUPPORT Support, _In_ PPH_TN_FILTER_FUNCTION Filter, _In_opt_ PVOID Context) | 
| VOID | PhRemoveTreeNewFilter (_In_ PPH_TN_FILTER_SUPPORT Support, _In_ PPH_TN_FILTER_ENTRY Entry) | 
| BOOLEAN | PhApplyTreeNewFiltersToNode (_In_ PPH_TN_FILTER_SUPPORT Support, _In_ PPH_TREENEW_NODE Node) | 
| VOID | PhApplyTreeNewFilters (_In_ PPH_TN_FILTER_SUPPORT Support) | 
| VOID NTAPI | PhpCopyCellEMenuItemDeleteFunction (_In_ struct _PH_EMENU_ITEM *Item) | 
| BOOLEAN | PhInsertCopyCellEMenuItem (_In_ struct _PH_EMENU_ITEM *Menu, _In_ ULONG InsertAfterId, _In_ HWND TreeNewHandle, _In_ PPH_TREENEW_COLUMN Column) | 
| BOOLEAN | PhHandleCopyCellEMenuItem (_In_ struct _PH_EMENU_ITEM *SelectedItem) | 
| BOOLEAN | PhpSelectFavoriteInRegedit (_In_ HWND RegeditWindow, _In_ PPH_STRINGREF FavoriteName, _In_ BOOLEAN UsePhSvc) | 
| BOOLEAN | PhShellOpenKey2 (_In_ HWND hWnd, _In_ PPH_STRING KeyName) | 
| Opens a key in the Registry Editor.   | |
Variables | |
| GUID | XP_CONTEXT_GUID = { 0xbeb1b341, 0x6837, 0x4c83, { 0x83, 0x66, 0x2b, 0x45, 0x1e, 0x7c, 0xe6, 0x9b } } | 
| GUID | VISTA_CONTEXT_GUID = { 0xe2011457, 0x1546, 0x43c5, { 0xa5, 0xfe, 0x00, 0x8d, 0xee, 0xe3, 0xd3, 0xf0 } } | 
| GUID | WIN7_CONTEXT_GUID = { 0x35138b9a, 0x5d96, 0x4fbd, { 0x8e, 0x2d, 0xa2, 0x44, 0x02, 0x25, 0xf9, 0x3a } } | 
| GUID | WIN8_CONTEXT_GUID = { 0x4a2f28e3, 0x53b9, 0x4441, { 0xba, 0x9c, 0xd6, 0x9d, 0x4a, 0x4a, 0x6e, 0x38 } } | 
| GUID | WINBLUE_CONTEXT_GUID = { 0x1f676c76, 0x80e1, 0x4239, { 0x95, 0xbb, 0x83, 0xd0, 0xf6, 0xd0, 0xda, 0x78 } } | 
| typedef LONG(WINAPI * _GetPackageFullName)(_In_ HANDLE hProcess, _Inout_ UINT32 *packageFullNameLength, _Out_opt_ PWSTR packageFullName) | 
| typedef LONG(WINAPI * _GetPackagePath)(_In_ PACKAGE_ID *packageId, _Reserved_ UINT32 reserved, _Inout_ UINT32 *pathLength, _Out_opt_ PWSTR path) | 
| typedef LONG(WINAPI * _PackageIdFromFullName)(_In_ PCWSTR packageFullName, _In_ UINT32 flags, _Inout_ UINT32 *bufferLength, _Out_opt_ BYTE *buffer) | 
| typedef struct _GET_PROCESS_MAIN_WINDOW_CONTEXT GET_PROCESS_MAIN_WINDOW_CONTEXT | 
| typedef struct _GET_PROCESS_MAIN_WINDOW_CONTEXT * PGET_PROCESS_MAIN_WINDOW_CONTEXT | 
| PPH_TN_FILTER_ENTRY PhAddTreeNewFilter | ( | _In_ PPH_TN_FILTER_SUPPORT | Support, | 
| _In_ PPH_TN_FILTER_FUNCTION | Filter, | ||
| _In_opt_ PVOID | Context | ||
| ) | 
| BOOLEAN PhaGetProcessKnownCommandLine | ( | _In_ PPH_STRING | CommandLine, | 
| _In_ PH_KNOWN_PROCESS_TYPE | KnownProcessType, | ||
| _Out_ PPH_KNOWN_PROCESS_COMMAND_LINE | KnownCommandLine | ||
| ) | 
| VOID PhApplyTreeNewFilters | ( | _In_ PPH_TN_FILTER_SUPPORT | Support | ) | 
| BOOLEAN PhApplyTreeNewFiltersToNode | ( | _In_ PPH_TN_FILTER_SUPPORT | Support, | 
| _In_ PPH_TREENEW_NODE | Node | ||
| ) | 
| VOID PhCopyListViewInfoTip | ( | _Inout_ LPNMLVGETINFOTIP | GetInfoTip, | 
| _In_ PPH_STRINGREF | Tip | ||
| ) | 
| BOOLEAN PhCreateProcessIgnoreIfeoDebugger | ( | _In_ PWSTR | FileName | ) | 
| VOID PhDeleteTreeNewColumnMenu | ( | _In_ PPH_TN_COLUMN_MENU_DATA | Data | ) | 
| VOID PhDeleteTreeNewFilterSupport | ( | _In_ PPH_TN_FILTER_SUPPORT | Support | ) | 
| HFONT PhDuplicateFontWithNewWeight | ( | _In_ HFONT | Font, | 
| _In_ LONG | NewWeight | ||
| ) | 
| VOID PhEnumChildWindows | ( | _In_opt_ HWND | hWnd, | 
| _In_ ULONG | Limit, | ||
| _In_ WNDENUMPROC | Callback, | ||
| _In_ LPARAM | lParam | ||
| ) | 
| PPH_STRING PhEscapeStringForDelimiter | ( | _In_ PPH_STRING | String, | 
| _In_ WCHAR | Delimiter | ||
| ) | 
| BOOLEAN PhGetListViewContextMenuPoint | ( | _In_ HWND | ListViewHandle, | 
| _Out_ PPOINT | Point | ||
| ) | 
| PPH_STRING PhGetOpaqueXmlNodeText | ( | _In_ mxml_node_t * | node | ) | 
| PPH_STRING PhGetPackagePath | ( | _In_ PACKAGE_ID * | PackageId | ) | 
| PPH_STRING PhGetPhVersion | ( | VOID | ) | 
| VOID PhGetPhVersionNumbers | ( | _Out_opt_ PULONG | MajorVersion, | 
| _Out_opt_ PULONG | MinorVersion, | ||
| _Reserved_ PULONG | Reserved, | ||
| _Out_opt_ PULONG | RevisionNumber | ||
| ) | 
| BOOLEAN PhGetProcessIsSuspended | ( | _In_ PSYSTEM_PROCESS_INFORMATION | Process | ) | 
| NTSTATUS PhGetProcessKnownType | ( | _In_ HANDLE | ProcessHandle, | 
| _Out_ PH_KNOWN_PROCESS_TYPE * | KnownProcessType | ||
| ) | 
| HWND PhGetProcessMainWindow | ( | _In_ HANDLE | ProcessId, | 
| _In_opt_ HANDLE | ProcessHandle | ||
| ) | 
| PPH_STRING PhGetProcessPackageFullName | ( | _In_ HANDLE | ProcessHandle | ) | 
| NTSTATUS PhGetProcessSwitchContext | ( | _In_ HANDLE | ProcessHandle, | 
| _Out_ PGUID | Guid | ||
| ) | 
| PPH_STRING PhGetServiceRelevantFileName | ( | _In_ PPH_STRINGREF | ServiceName, | 
| _In_ SC_HANDLE | ServiceHandle | ||
| ) | 
| BOOLEAN PhHandleCopyCellEMenuItem | ( | _In_ struct _PH_EMENU_ITEM * | SelectedItem | ) | 
| VOID PhHandleListViewNotifyBehaviors | ( | _In_ LPARAM | lParam, | 
| _In_ HWND | ListViewHandle, | ||
| _In_ ULONG | Behaviors | ||
| ) | 
| VOID PhHandleListViewNotifyForCopy | ( | _In_ LPARAM | lParam, | 
| _In_ HWND | ListViewHandle | ||
| ) | 
| BOOLEAN PhHandleTreeNewColumnMenu | ( | _Inout_ PPH_TN_COLUMN_MENU_DATA | Data | ) | 
| VOID PhInitializeTreeNewColumnMenu | ( | _Inout_ PPH_TN_COLUMN_MENU_DATA | Data | ) | 
| VOID PhInitializeTreeNewColumnMenuEx | ( | _Inout_ PPH_TN_COLUMN_MENU_DATA | Data, | 
| _In_ ULONG | Flags | ||
| ) | 
| VOID PhInitializeTreeNewFilterSupport | ( | _Out_ PPH_TN_FILTER_SUPPORT | Support, | 
| _In_ HWND | TreeNewHandle, | ||
| _In_ PPH_LIST | NodeList | ||
| ) | 
| BOOLEAN PhInsertCopyCellEMenuItem | ( | _In_ struct _PH_EMENU_ITEM * | Menu, | 
| _In_ ULONG | InsertAfterId, | ||
| _In_ HWND | TreeNewHandle, | ||
| _In_ PPH_TREENEW_COLUMN | Column | ||
| ) | 
| VOID PhLoadListViewColumnsFromSetting | ( | _In_ PWSTR | Name, | 
| _In_ HWND | ListViewHandle | ||
| ) | 
| VOID PhLoadSymbolProviderOptions | ( | _Inout_ PPH_SYMBOL_PROVIDER | SymbolProvider | ) | 
| VOID PhLoadWindowPlacementFromSetting | ( | _In_opt_ PWSTR | PositionSettingName, | 
| _In_opt_ PWSTR | SizeSettingName, | ||
| _In_ HWND | WindowHandle | ||
| ) | 
| PACKAGE_ID* PhPackageIdFromFullName | ( | _In_ PWSTR | PackageFullName | ) | 
| VOID NTAPI PhpCopyCellEMenuItemDeleteFunction | ( | _In_ struct _PH_EMENU_ITEM * | Item | ) | 
| VOID PhpEnsureValidSortColumnTreeNew | ( | _Inout_ HWND | TreeNewHandle, | 
| _In_ ULONG | DefaultSortColumn, | ||
| _In_ PH_SORT_ORDER | DefaultSortOrder | ||
| ) | 
| BOOL CALLBACK PhpGetProcessMainWindowEnumWindowsProc | ( | _In_ HWND | hwnd, | 
| _In_ LPARAM | lParam | ||
| ) | 
| BOOLEAN PhpSelectFavoriteInRegedit | ( | _In_ HWND | RegeditWindow, | 
| _In_ PPH_STRINGREF | FavoriteName, | ||
| _In_ BOOLEAN | UsePhSvc | ||
| ) | 
| VOID PhRemoveTreeNewFilter | ( | _In_ PPH_TN_FILTER_SUPPORT | Support, | 
| _In_ PPH_TN_FILTER_ENTRY | Entry | ||
| ) | 
| VOID PhSaveListViewColumnsToSetting | ( | _In_ PWSTR | Name, | 
| _In_ HWND | ListViewHandle | ||
| ) | 
| VOID PhSaveWindowPlacementToSetting | ( | _In_opt_ PWSTR | PositionSettingName, | 
| _In_opt_ PWSTR | SizeSettingName, | ||
| _In_ HWND | WindowHandle | ||
| ) | 
| VOID PhSearchOnlineString | ( | _In_ HWND | hWnd, | 
| _In_ PWSTR | String | ||
| ) | 
| VOID PhSetWindowOpacity | ( | _In_ HWND | WindowHandle, | 
| _In_ ULONG | OpacityPercent | ||
| ) | 
| VOID PhShellExecuteUserString | ( | _In_ HWND | hWnd, | 
| _In_ PWSTR | Setting, | ||
| _In_ PWSTR | String, | ||
| _In_ BOOLEAN | UseShellExecute, | ||
| _In_opt_ PWSTR | ErrorMessage | ||
| ) | 
| BOOLEAN PhShellOpenKey2 | ( | _In_ HWND | hWnd, | 
| _In_ PPH_STRING | KeyName | ||
| ) | 
| BOOLEAN PhShellProcessHacker | ( | _In_opt_ HWND | hWnd, | 
| _In_opt_ PWSTR | Parameters, | ||
| _In_ ULONG | ShowWindowType, | ||
| _In_ ULONG | Flags, | ||
| _In_ ULONG | AppFlags, | ||
| _In_opt_ ULONG | Timeout, | ||
| _Out_opt_ PHANDLE | ProcessHandle | ||
| ) | 
| BOOLEAN PhShellProcessHackerEx | ( | _In_opt_ HWND | hWnd, | 
| _In_opt_ PWSTR | FileName, | ||
| _In_opt_ PWSTR | Parameters, | ||
| _In_ ULONG | ShowWindowType, | ||
| _In_ ULONG | Flags, | ||
| _In_ ULONG | AppFlags, | ||
| _In_opt_ ULONG | Timeout, | ||
| _Out_opt_ PHANDLE | ProcessHandle | ||
| ) | 
| PPH_STRING PhUnescapeStringForDelimiter | ( | _In_ PPH_STRING | String, | 
| _In_ WCHAR | Delimiter | ||
| ) | 
| VOID PhWritePhTextHeader | ( | _Inout_ PPH_FILE_STREAM | FileStream | ) | 
| GUID VISTA_CONTEXT_GUID = { 0xe2011457, 0x1546, 0x43c5, { 0xa5, 0xfe, 0x00, 0x8d, 0xee, 0xe3, 0xd3, 0xf0 } } | 
| GUID WIN7_CONTEXT_GUID = { 0x35138b9a, 0x5d96, 0x4fbd, { 0x8e, 0x2d, 0xa2, 0x44, 0x02, 0x25, 0xf9, 0x3a } } | 
| GUID WIN8_CONTEXT_GUID = { 0x4a2f28e3, 0x53b9, 0x4441, { 0xba, 0x9c, 0xd6, 0x9d, 0x4a, 0x4a, 0x6e, 0x38 } } | 
| GUID WINBLUE_CONTEXT_GUID = { 0x1f676c76, 0x80e1, 0x4239, { 0x95, 0xbb, 0x83, 0xd0, 0xf6, 0xd0, 0xda, 0x78 } } |