mirror of
https://github.com/zodiacon/WFPExplorer
synced 2026-06-08 18:39:31 +00:00
bug fix in net event remote port display
basic search in filters view (Ctrl+F) Minor tweaks
This commit is contained in:
@@ -147,7 +147,7 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Enumerators.h" />
|
||||
<ClInclude Include="WFPEnumerators.h" />
|
||||
<ClInclude Include="pch.h" />
|
||||
<ClInclude Include="WFPEngine.h" />
|
||||
<ClInclude Include="WFPEnumerator.h" />
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<ClInclude Include="WFPEngine.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Enumerators.h">
|
||||
<ClInclude Include="WFPEnumerators.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="WFPEnumerator.h">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <VirtualListView.h>
|
||||
#include "Interfaces.h"
|
||||
#include <WFPEngine.h>
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
|
||||
class WFPEngine;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "WFPHelper.h"
|
||||
#include <ResizablePropertySheet.h>
|
||||
#include "AppSettings.h"
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
#include <ClipboardHelper.h>
|
||||
#include <fstream>
|
||||
#include <ThemeHelper.h>
|
||||
@@ -163,7 +163,8 @@ LRESULT CFiltersView::OnActivate(UINT, WPARAM activate, LPARAM, BOOL&) {
|
||||
}
|
||||
|
||||
LRESULT CFiltersView::OnDeleteFilter(WORD, WORD, HWND, BOOL&) {
|
||||
ATLASSERT(m_List.GetSelectedCount() > 0);
|
||||
int selected = m_List.GetSelectedCount();
|
||||
ATLASSERT(selected > 0);
|
||||
if (AtlMessageBox(m_hWnd, L"Delete selected filter(s)?", IDS_TITLE, MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON2) == IDNO)
|
||||
return 0;
|
||||
|
||||
@@ -177,7 +178,8 @@ LRESULT CFiltersView::OnDeleteFilter(WORD, WORD, HWND, BOOL&) {
|
||||
m_List.SelectAllItems(false);
|
||||
Refresh();
|
||||
}
|
||||
AtlMessageBox(m_hWnd, std::format(L"Deleted {} filters", deleted).c_str(), IDS_TITLE, MB_ICONINFORMATION);
|
||||
if(deleted < selected)
|
||||
AtlMessageBox(m_hWnd, std::format(L"Deleted {}/{} filters", deleted, selected).c_str(), IDS_TITLE, MB_ICONINFORMATION);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -204,6 +206,52 @@ LRESULT CFiltersView::OnSave(WORD, WORD, HWND, BOOL&) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CFiltersView::OnFind(UINT, WPARAM, LPARAM, BOOL&) {
|
||||
auto findDlg = Frame()->GetFindDialog();
|
||||
auto searchDown = findDlg->SearchDown();
|
||||
int start = m_List.GetNextItem(-1, LVIS_SELECTED);
|
||||
CString find(findDlg->GetFindString());
|
||||
auto ignoreCase = !findDlg->MatchCase();
|
||||
if (ignoreCase)
|
||||
find.MakeLower();
|
||||
|
||||
auto columns = m_List.GetHeader().GetItemCount();
|
||||
auto count = m_List.GetItemCount();
|
||||
int from = searchDown ? start + 1 : start - 1 + count;
|
||||
int to = searchDown ? count + start : start + 1;
|
||||
int step = searchDown ? 1 : -1;
|
||||
|
||||
int findIndex = -1;
|
||||
CString text;
|
||||
for (int i = from; i != to; i += step) {
|
||||
int index = i % count;
|
||||
for (int c = 0; c < columns; c++) {
|
||||
m_List.GetItemText(index, c, text);
|
||||
if (ignoreCase)
|
||||
text.MakeLower();
|
||||
if (text.Find(find) >= 0) {
|
||||
findIndex = index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (findIndex >= 0)
|
||||
break;
|
||||
}
|
||||
|
||||
if (findIndex >= 0) {
|
||||
m_List.SelectItem(findIndex);
|
||||
m_List.SetFocus();
|
||||
}
|
||||
else {
|
||||
AtlMessageBox(m_hWnd, L"Finsihed searching list.", IDS_TITLE, MB_ICONINFORMATION);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CFiltersView::OnFindNext(WORD, WORD, HWND, BOOL&) {
|
||||
return SendMessage(CFindReplaceDialog::GetFindReplaceMsg());
|
||||
}
|
||||
|
||||
void CFiltersView::DoSort(SortInfo const* si) {
|
||||
auto col = GetColumnManager(m_List)->GetColumnTag<ColumnType>(si->SortColumn);
|
||||
auto asc = si->SortAscending;
|
||||
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
|
||||
BEGIN_MSG_MAP(CFiltersView)
|
||||
MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)
|
||||
MESSAGE_HANDLER(CFindReplaceDialog::GetFindReplaceMsg(), OnFind)
|
||||
MESSAGE_HANDLER(WM_CREATE, OnCreate)
|
||||
CHAIN_MSG_MAP(CVirtualListView<CFiltersView>)
|
||||
CHAIN_MSG_MAP(CCustomDraw<CFiltersView>)
|
||||
@@ -43,6 +44,7 @@ public:
|
||||
COMMAND_ID_HANDLER(ID_VIEW_REFRESH, OnRefresh)
|
||||
COMMAND_ID_HANDLER(ID_EDIT_DELETE, OnDeleteFilter)
|
||||
COMMAND_ID_HANDLER(ID_EDIT_COPY, OnCopy)
|
||||
COMMAND_ID_HANDLER(ID_EDIT_FINDNEXT, OnFindNext)
|
||||
COMMAND_ID_HANDLER(ID_FILE_SAVE, OnSave)
|
||||
END_MSG_MAP()
|
||||
|
||||
@@ -82,6 +84,8 @@ private:
|
||||
LRESULT OnDeleteFilter(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnCopy(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnSave(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnFind(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnFindNext(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
|
||||
WFPEngine& m_Engine;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "StringHelper.h"
|
||||
#include <ranges>
|
||||
#include "AppSettings.h"
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
|
||||
CHierarchyView::CHierarchyView(IMainFrame* frame, WFPEngine& engine) : CFrameView(frame), m_Engine(engine) {
|
||||
}
|
||||
|
||||
@@ -5,5 +5,6 @@ struct IMainFrame abstract {
|
||||
virtual CUpdateUIBase& UI() = 0;
|
||||
virtual HFONT GetMonoFont() const = 0;
|
||||
virtual bool TrackPopupMenu(HMENU hMenu, DWORD flags, int x, int y, HWND hWnd = nullptr) = 0;
|
||||
virtual CFindReplaceDialog* GetFindDialog() const = 0;
|
||||
};
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <SortHelper.h>
|
||||
#include "WFPHelper.h"
|
||||
#include "LayerGeneralPage.h"
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
#include <ClipboardHelper.h>
|
||||
#include <ThemeHelper.h>
|
||||
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
const int WINDOW_MENU_POSITION = 4;
|
||||
|
||||
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) {
|
||||
if (m_pFindDlg && m_pFindDlg->IsDialogMessageW(pMsg))
|
||||
return TRUE;
|
||||
|
||||
if (CFrameWindowImpl<CMainFrame>::PreTranslateMessage(pMsg))
|
||||
return TRUE;
|
||||
|
||||
@@ -58,6 +61,9 @@ LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/
|
||||
{ ID_VIEW_SUBLAYERS, IDI_SUBLAYER },
|
||||
{ ID_VIEW_CALLOUTS, IDI_CALLOUT },
|
||||
{ ID_VIEW_PROVIDERCONTEXTS, IDI_CONTEXT },
|
||||
{ 0 },
|
||||
{ ID_EDIT_FIND, IDI_FIND },
|
||||
{ ID_EDIT_FINDNEXT, IDI_FIND_NEXT },
|
||||
};
|
||||
CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE);
|
||||
auto tb = ToolbarHelper::CreateAndInitToolBar(m_hWnd, buttons, _countof(buttons));
|
||||
@@ -120,6 +126,10 @@ bool CMainFrame::TrackPopupMenu(HMENU hMenu, DWORD flags, int x, int y, HWND hWn
|
||||
return ShowContextMenu(hMenu, flags, x, y, hWnd);
|
||||
}
|
||||
|
||||
CFindReplaceDialog* CMainFrame::GetFindDialog() const {
|
||||
return m_pFindDlg;
|
||||
}
|
||||
|
||||
void CMainFrame::InitMenu() {
|
||||
struct {
|
||||
UINT id, icon;
|
||||
@@ -143,6 +153,8 @@ void CMainFrame::InitMenu() {
|
||||
{ ID_VIEW_NETWORKEVENTS, IDI_EVENT },
|
||||
{ ID_FILE_OPEN, IDI_OPEN },
|
||||
{ ID_FILE_SAVE, IDI_SAVE },
|
||||
{ ID_EDIT_FIND, IDI_FIND },
|
||||
{ ID_EDIT_FINDNEXT, IDI_FIND_NEXT },
|
||||
};
|
||||
for (auto& cmd : cmds) {
|
||||
if (cmd.icon)
|
||||
@@ -161,6 +173,7 @@ void CMainFrame::UpdateUI() {
|
||||
UIEnable(ID_EDIT_DELETE, false);
|
||||
UIEnable(ID_VIEW_REFRESH, anyPage);
|
||||
UIEnable(ID_EDIT_PROPERTIES, false);
|
||||
UIEnable(ID_EDIT_FIND, anyPage);
|
||||
}
|
||||
|
||||
void CMainFrame::SetAlwaysOnTop(bool onTop) {
|
||||
@@ -341,3 +354,29 @@ LRESULT CMainFrame::OnAlwaysOnTop(WORD, WORD, HWND, BOOL&) {
|
||||
SetAlwaysOnTop(settings.AlwaysOnTop());
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMainFrame::OnEditFind(WORD, WORD, HWND, BOOL&) {
|
||||
ATLASSERT(m_view.GetPageCount() > 0);
|
||||
|
||||
if (m_pFindDlg == nullptr) {
|
||||
m_pFindDlg = new CFindReplaceDialog;
|
||||
m_pFindDlg->Create(TRUE, m_SearchText, nullptr, FR_DOWN | FR_HIDEWHOLEWORD, m_hWnd);
|
||||
m_pFindDlg->ShowWindow(SW_SHOW);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMainFrame::OnFind(UINT msg, WPARAM wp, LPARAM lp, BOOL&) {
|
||||
if (m_pFindDlg->IsTerminating()) {
|
||||
m_pFindDlg = nullptr;
|
||||
return 0;
|
||||
}
|
||||
m_pFindDlg->SetFocus();
|
||||
|
||||
if (auto page = m_view.GetActivePage(); page >= 0) {
|
||||
m_SearchText = m_pFindDlg->GetFindString();
|
||||
::SendMessage(m_view.GetPageHWND(page), msg, wp, lp);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ public:
|
||||
COMMAND_ID_HANDLER(ID_VIEW_STATUS_BAR, OnViewStatusBar)
|
||||
COMMAND_ID_HANDLER(ID_VIEW_HIERARCHY, OnViewHierarchy)
|
||||
COMMAND_ID_HANDLER(ID_VIEW_NETWORKEVENTS, OnViewNetEvents)
|
||||
MESSAGE_HANDLER(CFindReplaceDialog::GetFindReplaceMsg(), OnFind)
|
||||
COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
|
||||
NOTIFY_CODE_HANDLER(TBVN_PAGEACTIVATED, OnPageActivated)
|
||||
COMMAND_ID_HANDLER(ID_OPTIONS_ALWAYSONTOP, OnAlwaysOnTop)
|
||||
@@ -42,6 +43,7 @@ public:
|
||||
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
|
||||
MESSAGE_HANDLER(WM_SHOWWINDOW, OnShowWindow)
|
||||
MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd)
|
||||
COMMAND_ID_HANDLER(ID_EDIT_FIND, OnEditFind)
|
||||
COMMAND_ID_HANDLER(ID_APP_EXIT, OnFileExit)
|
||||
CHAIN_MSG_MAP(CAutoUpdateUI<CMainFrame>)
|
||||
CHAIN_MSG_MAP(COwnerDrawnMenu<CMainFrame>)
|
||||
@@ -58,6 +60,7 @@ private:
|
||||
CUpdateUIBase& UI() override;
|
||||
HFONT GetMonoFont() const override;
|
||||
bool TrackPopupMenu(HMENU hMenu, DWORD flags, int x, int y, HWND hWnd = nullptr) override;
|
||||
CFindReplaceDialog* GetFindDialog() const override;
|
||||
|
||||
void InitMenu();
|
||||
void UpdateUI();
|
||||
@@ -85,9 +88,13 @@ private:
|
||||
LRESULT OnWindowActivate(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnPageActivated(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnAlwaysOnTop(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnEditFind(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
|
||||
LRESULT OnFind(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
|
||||
|
||||
WFPEngine m_Engine;
|
||||
CFont m_MonoFont;
|
||||
CCustomTabView m_view;
|
||||
CMultiPaneStatusBarCtrl m_StatusBar;
|
||||
CFindReplaceDialog* m_pFindDlg{ nullptr };
|
||||
CString m_SearchText;
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "pch.h"
|
||||
#include "NetEventsView.h"
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
#include <atltime.h>
|
||||
#include "StringHelper.h"
|
||||
#include <SortHelper.h>
|
||||
@@ -80,7 +80,7 @@ int CNetEventsView::GetRowImage(HWND, int row, int col) const {
|
||||
void CNetEventsView::UpdateUI() {
|
||||
}
|
||||
|
||||
CString const& CNetEventsView::GetLocalAddress(NetEventInfo& info) {
|
||||
CString const& CNetEventsView::GetLocalAddress(NetEventInfo& info) const {
|
||||
if (info.LocalAddress.IsEmpty()) {
|
||||
auto const& header = info.Data->header;
|
||||
auto flags = header.flags;
|
||||
@@ -92,7 +92,7 @@ CString const& CNetEventsView::GetLocalAddress(NetEventInfo& info) {
|
||||
return info.LocalAddress;
|
||||
}
|
||||
|
||||
CString const& CNetEventsView::GetRemoteAddress(NetEventInfo& info) {
|
||||
CString const& CNetEventsView::GetRemoteAddress(NetEventInfo& info) const {
|
||||
if (info.RemoteAddress.IsEmpty()) {
|
||||
auto const& header = info.Data->header;
|
||||
auto flags = header.flags;
|
||||
@@ -109,7 +109,7 @@ UINT16 CNetEventsView::GetLocalPort(NetEventInfo& info) const {
|
||||
}
|
||||
|
||||
UINT16 CNetEventsView::GetRemotePort(NetEventInfo& info) const {
|
||||
return (info.Data->header.flags & FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET) ? info.Data->header.localPort : 0;
|
||||
return (info.Data->header.flags & FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET) ? info.Data->header.remotePort : 0;
|
||||
}
|
||||
|
||||
CString const& CNetEventsView::GetAppId(NetEventInfo& info) {
|
||||
|
||||
@@ -47,8 +47,8 @@ private:
|
||||
};
|
||||
|
||||
void UpdateUI();
|
||||
CString const& GetLocalAddress(NetEventInfo& info);
|
||||
CString const& GetRemoteAddress(NetEventInfo& info);
|
||||
CString const& GetLocalAddress(NetEventInfo& info) const;
|
||||
CString const& GetRemoteAddress(NetEventInfo& info) const;
|
||||
UINT16 GetLocalPort(NetEventInfo& info) const;
|
||||
UINT16 GetRemotePort(NetEventInfo& info) const;
|
||||
CString const& GetAppId(NetEventInfo& info);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "StringHelper.h"
|
||||
#include <SortHelper.h>
|
||||
#include "resource.h"
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
|
||||
CProviderContextView::CProviderContextView(IMainFrame* frame, WFPEngine& engine) : CFrameView(frame), m_Engine(engine) {
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <VirtualListView.h>
|
||||
#include "Interfaces.h"
|
||||
#include <WFPEngine.h>
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
|
||||
class WFPEngine;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <VirtualListView.h>
|
||||
#include "Interfaces.h"
|
||||
#include <WFPEngine.h>
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
|
||||
class WFPEngine;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "StringHelper.h"
|
||||
#include <SortHelper.h>
|
||||
#include "resource.h"
|
||||
#include <Enumerators.h>
|
||||
#include <WFPEnumerators.h>
|
||||
|
||||
CSublayersView::CSublayersView(IMainFrame* frame, WFPEngine& engine) : CFrameView(frame), m_Engine(engine) {
|
||||
}
|
||||
|
||||
+23
-12
@@ -73,6 +73,9 @@ BEGIN
|
||||
MENUITEM "&Delete\tDel", ID_EDIT_DELETE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Properties...\tAlt+Enter", ID_EDIT_PROPERTIES
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Find...\tCtrl+F", ID_EDIT_FIND
|
||||
MENUITEM "Find &Next\tF3", ID_EDIT_FINDNEXT
|
||||
END
|
||||
POPUP "&View"
|
||||
BEGIN
|
||||
@@ -194,6 +197,12 @@ IDI_SAVE ICON "res\\Save.ico"
|
||||
|
||||
IDI_OPEN ICON "res\\Open.ico"
|
||||
|
||||
IDI_FIND ICON "res\\Find.ico"
|
||||
|
||||
IDI_FIND_NEXT ICON "res\\Find-next.ico"
|
||||
|
||||
IDI_FIND_PREV ICON "res\\Find-prev.ico"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -305,17 +314,16 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,164,246,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,230,246,50,14
|
||||
LTEXT "Key:",IDC_STATIC,7,15,16,8
|
||||
EDITTEXT IDC_KEY,51,13,234,12,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
LTEXT "Name:",IDC_STATIC,7,36,22,8
|
||||
EDITTEXT IDC_NAME,51,34,359,12,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
LTEXT "Description:",IDC_STATIC,7,57,39,8
|
||||
EDITTEXT IDC_DESC,51,55,359,12,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
LTEXT "ID:",IDC_STATIC,347,16,12,8
|
||||
EDITTEXT IDC_ID,365,14,70,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
PUSHBUTTON "Generate",IDC_GENERATE,290,12,50,14
|
||||
LTEXT "Provider:",IDC_STATIC,7,81,30,8
|
||||
COMBOBOX IDC_PROVIDER,51,78,279,75,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Key:",IDC_STATIC,7,10,16,8
|
||||
EDITTEXT IDC_KEY,51,8,234,12,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
LTEXT "Name:",IDC_STATIC,7,31,22,8
|
||||
EDITTEXT IDC_NAME,51,29,359,12,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
LTEXT "Description:",IDC_STATIC,7,52,39,8
|
||||
EDITTEXT IDC_DESC,51,50,359,12,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_STATICEDGE
|
||||
PUSHBUTTON "Generate",IDC_GENERATE,290,7,50,14
|
||||
LTEXT "Provider:",IDC_STATIC,7,76,30,8
|
||||
COMBOBOX IDC_PROVIDER,51,73,279,75,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Copy From...",IDC_COPYFROM,353,7,64,14
|
||||
END
|
||||
|
||||
|
||||
@@ -397,6 +405,7 @@ BEGIN
|
||||
VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT, NOINVERT
|
||||
"X", ID_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_DELETE, ID_EDIT_DELETE, VIRTKEY, NOINVERT
|
||||
"V", ID_EDIT_PASTE, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT, NOINVERT
|
||||
VK_RETURN, ID_EDIT_PROPERTIES, VIRTKEY, ALT, NOINVERT
|
||||
@@ -408,8 +417,9 @@ BEGIN
|
||||
"S", ID_FILE_SAVE, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_F6, ID_NEXT_PANE, VIRTKEY, NOINVERT
|
||||
VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT, NOINVERT
|
||||
VK_DELETE, ID_EDIT_DELETE, VIRTKEY, NOINVERT
|
||||
VK_F5, ID_VIEW_REFRESH, VIRTKEY, NOINVERT
|
||||
"F", ID_EDIT_FIND, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_F3, ID_EDIT_FINDNEXT, VIRTKEY, NOINVERT
|
||||
END
|
||||
|
||||
|
||||
@@ -608,6 +618,7 @@ BEGIN
|
||||
ID_VIEW_PROVIDERCONTEXTS "\nProvider Contexts"
|
||||
ID_VIEW_NETWORKEVENTS "\nNetwork Events"
|
||||
ID_NEW_FILTER "\nNew Filter"
|
||||
ID_EDIT_FINDNEXT "\nFind Next"
|
||||
END
|
||||
|
||||
#endif // English (United States) resources
|
||||
|
||||
@@ -296,6 +296,9 @@
|
||||
<Image Include="res\FilteringRefresh.ico" />
|
||||
<Image Include="res\Filteringrestricted.ico" />
|
||||
<Image Include="res\FilteringRightArrow.ico" />
|
||||
<Image Include="res\Find-next.ico" />
|
||||
<Image Include="res\Find-prev.ico" />
|
||||
<Image Include="res\Find.ico" />
|
||||
<Image Include="res\layers.ico" />
|
||||
<Image Include="res\Object.ico" />
|
||||
<Image Include="res\Open.ico" />
|
||||
|
||||
@@ -255,6 +255,15 @@
|
||||
<Image Include="res\Save.ico">
|
||||
<Filter>Resource Files\Icons</Filter>
|
||||
</Image>
|
||||
<Image Include="res\Find.ico">
|
||||
<Filter>Resource Files\Icons</Filter>
|
||||
</Image>
|
||||
<Image Include="res\Find-next.ico">
|
||||
<Filter>Resource Files\Icons</Filter>
|
||||
</Image>
|
||||
<Image Include="res\Find-prev.ico">
|
||||
<Filter>Resource Files\Icons</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
+10
-4
@@ -40,8 +40,11 @@
|
||||
#define IDI_EVENT 235
|
||||
#define IDD_NEWFILTER 236
|
||||
#define IDI_SAVE 238
|
||||
#define IDI_ICON2 239
|
||||
#define IDI_OPEN 239
|
||||
#define IDI_FIND 240
|
||||
#define IDI_FIND_NEXT 241
|
||||
#define IDI_ICON3 242
|
||||
#define IDI_FIND_PREV 242
|
||||
#define IDC_VERSION 1000
|
||||
#define IDC_COPYRIGHT 1001
|
||||
#define IDC_KEY 1001
|
||||
@@ -66,6 +69,7 @@
|
||||
#define IDC_FLAGS 1017
|
||||
#define IDC_TABS 1018
|
||||
#define IDC_GENERATE 1019
|
||||
#define IDC_COPYFROM 1021
|
||||
#define ID_WINDOW_CLOSE 32772
|
||||
#define ID_WINDOW_CLOSE_ALL 32773
|
||||
#define ID_OPTIONS_ALWAYSONTOP 32775
|
||||
@@ -87,14 +91,16 @@
|
||||
#define ID_NEW_FILTER 32791
|
||||
#define ID_NEW_SIMPLEFILTER 32795
|
||||
#define ID_NEW_PROVIDER 32796
|
||||
#define ID_EDIT_FIND32797 32797
|
||||
#define ID_EDIT_FINDNEXT 32798
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 240
|
||||
#define _APS_NEXT_COMMAND_VALUE 32797
|
||||
#define _APS_NEXT_CONTROL_VALUE 1021
|
||||
#define _APS_NEXT_RESOURCE_VALUE 243
|
||||
#define _APS_NEXT_COMMAND_VALUE 32801
|
||||
#define _APS_NEXT_CONTROL_VALUE 1022
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "pch.h"
|
||||
#include "..\WFPCore\WFPEngine.h"
|
||||
#include "..\WFPCore\Enumerators.h"
|
||||
#include "..\WFPCore\WFPEnumerators.h"
|
||||
|
||||
#pragma comment(lib, "Fwpuclnt.lib")
|
||||
#pragma comment(lib, "Shlwapi.lib")
|
||||
|
||||
Reference in New Issue
Block a user