Files
mirror-processhacker/2.x/incomplete/peview_hide_tabs.patch
T
wj32 d64a2ef343 added peview_hide_tabs.patch
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4351 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2011-07-24 05:24:21 +00:00

59 lines
2.6 KiB
Diff

Index: peprp.c
===================================================================
--- peprp.c (revision 4340)
+++ peprp.c (working copy)
@@ -2,7 +2,7 @@
* Process Hacker -
* PE viewer
*
- * Copyright (C) 2010 wj32
+ * Copyright (C) 2010-2011 wj32
*
* This file is part of Process Hacker.
*
@@ -69,6 +69,8 @@
PROPSHEETHEADER propSheetHeader = { sizeof(propSheetHeader) };
PROPSHEETPAGE propSheetPage;
HPROPSHEETPAGE pages[5];
+ PH_MAPPED_IMAGE_IMPORTS imports;
+ PH_MAPPED_IMAGE_EXPORTS exports;
PIMAGE_DATA_DIRECTORY entry;
status = PhLoadMappedImage(PvFileName->Buffer, NULL, TRUE, &PvMappedImage);
@@ -97,18 +99,25 @@
pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
// Imports page
- memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
- propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
- propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEIMPORTS);
- propSheetPage.pfnDlgProc = PvpPeImportsDlgProc;
- pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
+ if ((NT_SUCCESS(PhGetMappedImageImports(&imports, &PvMappedImage)) && imports.NumberOfDlls != 0) ||
+ (NT_SUCCESS(PhGetMappedImageDelayImports(&imports, &PvMappedImage)) && imports.NumberOfDlls != 0))
+ {
+ memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
+ propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
+ propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEIMPORTS);
+ propSheetPage.pfnDlgProc = PvpPeImportsDlgProc;
+ pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
+ }
// Exports page
- memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
- propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
- propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEEXPORTS);
- propSheetPage.pfnDlgProc = PvpPeExportsDlgProc;
- pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
+ if (NT_SUCCESS(PhGetMappedImageExports(&exports, &PvMappedImage)) && exports.NumberOfEntries != 0)
+ {
+ memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
+ propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
+ propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEEXPORTS);
+ propSheetPage.pfnDlgProc = PvpPeExportsDlgProc;
+ pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
+ }
// Load Config page
if (NT_SUCCESS(PhGetMappedImageDataEntry(&PvMappedImage, IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, &entry)) && entry->VirtualAddress)