diff --git a/PoolListCtrl.cpp b/PoolListCtrl.cpp index 9f2a5ff..75ec229 100644 --- a/PoolListCtrl.cpp +++ b/PoolListCtrl.cpp @@ -63,7 +63,7 @@ int CPoolListCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) font.Detach(); InsertColumn(ColumnType::TagName, L"Tag", LVCFMT_CENTER, 80); - InsertColumn(ColumnType::PoolType, L"Type", LVCFMT_CENTER, 80); + InsertColumn(ColumnType::PoolType, L"Type", LVCFMT_CENTER, 120); InsertColumn(ColumnType::Allocs, L"Allocs", LVCFMT_RIGHT, 100); InsertColumn(ColumnType::Frees, L"Frees", LVCFMT_RIGHT, 100); InsertColumn(ColumnType::Diff, L"Diff", LVCFMT_RIGHT, 80); @@ -279,11 +279,11 @@ static int CompareStrings(PCWSTR s1, PCWSTR s2) { int CPoolListCtrl::OnCompareItems(LPARAM lParam1, LPARAM lParam2, int iColumn) { - ASSERT(m_Tags.find(lParam1) != m_Tags.end()); - ASSERT(m_Tags.find(lParam2) != m_Tags.end()); + ASSERT(m_Tags.find((ULONG)lParam1) != m_Tags.end()); + ASSERT(m_Tags.find((ULONG)lParam2) != m_Tags.end()); - const auto& info1 = m_Tags[lParam1]; - const auto& info2 = m_Tags[lParam2]; + const auto& info1 = m_Tags[(ULONG)lParam1]; + const auto& info2 = m_Tags[(ULONG)lParam2]; const auto& item1 = info1.Tag; const auto& item2 = info2.Tag; @@ -422,7 +422,7 @@ void CPoolListCtrl::RefreshPoolData() ASSERT(n >= 0); if (ProcessChanges(n, item, it->second.Tag, true)) { UpdateItem(n, info, true); - m_Tags[lvfi.lParam] = info; + m_Tags[(ULONG)lvfi.lParam] = info; } } } diff --git a/PoolMonEx.rc b/PoolMonEx.rc index 9f846bb..edcbe00 100644 --- a/PoolMonEx.rc +++ b/PoolMonEx.rc @@ -84,7 +84,7 @@ IDR_MAINFRAME MENU BEGIN POPUP "&File" BEGIN - MENUITEM "&Save...\tCtrl+S", ID_FILE_SAVE32771 + MENUITEM "&Save...\tCtrl+S", ID_FILE_SAVE MENUITEM SEPARATOR MENUITEM "E&xit", ID_APP_EXIT END @@ -262,7 +262,7 @@ END STRINGTABLE BEGIN - IDR_MAINFRAME "Kernel Pool Monitor (C)2016-2017 by Pavel Yosifovich" + IDR_MAINFRAME "Kernel Pool Monitor v0.8 (C)2016-2018 by Pavel Yosifovich" END STRINGTABLE diff --git a/PoolMonX.sln b/PoolMonX.sln index fe20977..d397272 100644 --- a/PoolMonX.sln +++ b/PoolMonX.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26430.6 +VisualStudioVersion = 15.0.26730.12 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PoolMonX", "PoolMonX.vcxproj", "{26A93265-52DE-4226-9974-AC437B0EC988}" EndProject @@ -9,6 +9,8 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + DefaultBuild|x64 = DefaultBuild|x64 + DefaultBuild|x86 = DefaultBuild|x86 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection @@ -17,6 +19,10 @@ Global {26A93265-52DE-4226-9974-AC437B0EC988}.Debug|x64.Build.0 = Debug|x64 {26A93265-52DE-4226-9974-AC437B0EC988}.Debug|x86.ActiveCfg = Debug|Win32 {26A93265-52DE-4226-9974-AC437B0EC988}.Debug|x86.Build.0 = Debug|Win32 + {26A93265-52DE-4226-9974-AC437B0EC988}.DefaultBuild|x64.ActiveCfg = Debug|x64 + {26A93265-52DE-4226-9974-AC437B0EC988}.DefaultBuild|x64.Build.0 = Debug|x64 + {26A93265-52DE-4226-9974-AC437B0EC988}.DefaultBuild|x86.ActiveCfg = Debug|Win32 + {26A93265-52DE-4226-9974-AC437B0EC988}.DefaultBuild|x86.Build.0 = Debug|Win32 {26A93265-52DE-4226-9974-AC437B0EC988}.Release|x64.ActiveCfg = Release|x64 {26A93265-52DE-4226-9974-AC437B0EC988}.Release|x64.Build.0 = Release|x64 {26A93265-52DE-4226-9974-AC437B0EC988}.Release|x86.ActiveCfg = Release|Win32 @@ -25,4 +31,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FFDC0B32-20D9-446F-B3CC-159DEB6A5D88} + EndGlobalSection EndGlobal diff --git a/PoolMonX.vcxproj b/PoolMonX.vcxproj index bce0fff..2a852df 100644 --- a/PoolMonX.vcxproj +++ b/PoolMonX.vcxproj @@ -21,7 +21,7 @@ {26A93265-52DE-4226-9974-AC437B0EC988} PoolMonEx - 8.1 + 10.0.14393.0 MFCProj PoolMonX @@ -39,7 +39,7 @@ v141 true Unicode - Static + Dynamic Application @@ -139,7 +139,7 @@ true WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) true - MultiThreaded + MultiThreadedDLL Windows diff --git a/PoolMonXSetup/PoolMonXSetup-SetupFiles/PoolMonXSetup.msi b/PoolMonXSetup/PoolMonXSetup-SetupFiles/PoolMonXSetup.msi new file mode 100644 index 0000000..5c9ad6b Binary files /dev/null and b/PoolMonXSetup/PoolMonXSetup-SetupFiles/PoolMonXSetup.msi differ diff --git a/PoolMonXSetup/PoolMonXSetup-SetupFiles/Setup.msi b/PoolMonXSetup/PoolMonXSetup-SetupFiles/Setup.msi new file mode 100644 index 0000000..1e8c554 Binary files /dev/null and b/PoolMonXSetup/PoolMonXSetup-SetupFiles/Setup.msi differ diff --git a/PoolMonXSetup/PoolMonXSetup-cache/cacheIndex.txt b/PoolMonXSetup/PoolMonXSetup-cache/cacheIndex.txt new file mode 100644 index 0000000..5fe5afe Binary files /dev/null and b/PoolMonXSetup/PoolMonXSetup-cache/cacheIndex.txt differ diff --git a/PoolMonXSetup/PoolMonXSetup-cache/part1/disk1.cab b/PoolMonXSetup/PoolMonXSetup-cache/part1/disk1.cab new file mode 100644 index 0000000..269df26 Binary files /dev/null and b/PoolMonXSetup/PoolMonXSetup-cache/part1/disk1.cab differ diff --git a/PoolMonXSetup/PoolMonXSetup-cache/part1/output-info.ini b/PoolMonXSetup/PoolMonXSetup-cache/part1/output-info.ini new file mode 100644 index 0000000..2b9acc1 Binary files /dev/null and b/PoolMonXSetup/PoolMonXSetup-cache/part1/output-info.ini differ diff --git a/PoolMonXSetup/PoolMonXSetup.aip b/PoolMonXSetup/PoolMonXSetup.aip new file mode 100644 index 0000000..31b790f --- /dev/null +++ b/PoolMonXSetup/PoolMonXSetup.aip @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PoolMonXSetup/PoolMonXSetup.aiproj b/PoolMonXSetup/PoolMonXSetup.aiproj new file mode 100644 index 0000000..98ca3c4 --- /dev/null +++ b/PoolMonXSetup/PoolMonXSetup.aiproj @@ -0,0 +1,32 @@ + + + All + 2.0 + 5a4500b8-0897-4934-8aef-b9f460a0d409 + msi + . + PoolMonXSetup.aip + + + . + True + PoolMonXSetup + PoolMonXSetup + PoolMonXSetup + + + + + Code + + + + + PoolMonX + {26a93265-52de-4226-9974-ac437b0ec988} + True + PrimaryOutput + + + + \ No newline at end of file diff --git a/PoolMonXSetup/PoolMonXSetup.back.aip b/PoolMonXSetup/PoolMonXSetup.back.aip new file mode 100644 index 0000000..5ea526c --- /dev/null +++ b/PoolMonXSetup/PoolMonXSetup.back.aip @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PoolView.cpp b/PoolView.cpp index 6053f51..9209de0 100644 --- a/PoolView.cpp +++ b/PoolView.cpp @@ -28,6 +28,7 @@ BEGIN_MESSAGE_MAP(CPoolView, CWnd) ON_COMMAND(ID_EDIT_COPY, &CPoolView::OnEditCopy) ON_COMMAND(ID_VIEW_PAUSE, &CPoolView::OnViewPause) ON_UPDATE_COMMAND_UI(ID_VIEW_PAUSE, &CPoolView::OnUpdateViewPause) + ON_COMMAND(ID_FILE_SAVE, &CPoolView::OnFileSave) END_MESSAGE_MAP() // CPoolView message handlers @@ -46,7 +47,7 @@ BOOL CPoolView::PreCreateWindow(CREATESTRUCT& cs) { } void CPoolView::OnPaint() { - CPaintDC dc(this); + CPaintDC dc(this); } int CPoolView::OnCreate(LPCREATESTRUCT lpCreateStruct) { @@ -56,7 +57,7 @@ int CPoolView::OnCreate(LPCREATESTRUCT lpCreateStruct) { m_List.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_CLIPSIBLINGS, CRect(), this, 123); m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_AUTOSIZECOLUMNS | LVS_EX_DOUBLEBUFFER); - return 0; + return 0; } @@ -72,14 +73,12 @@ BOOL CPoolView::OnEraseBkgnd(CDC* pDC) { } -void CPoolView::OnEditCopy() -{ +void CPoolView::OnEditCopy() { // TODO: Add your command handler code here } -BOOL CPoolView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) -{ +BOOL CPoolView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { if (m_List.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) return TRUE; @@ -87,14 +86,53 @@ BOOL CPoolView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* } -void CPoolView::OnViewPause() -{ +void CPoolView::OnViewPause() { m_Paused = !m_Paused; m_List.Pause(m_Paused); } -void CPoolView::OnUpdateViewPause(CCmdUI *pCmdUI) -{ +void CPoolView::OnUpdateViewPause(CCmdUI *pCmdUI) { pCmdUI->SetText(m_Paused ? L"Resume" : L"Pause"); } + + +void CPoolView::OnFileSave() { + CFileDialog dlg(FALSE, L".csv", nullptr, OFN_EXPLORER | OFN_OVERWRITEPROMPT, L"CSV Files|*.csv|All Files|*.*||", this); + if (dlg.DoModal() == IDOK) { + try { + CFile file(dlg.GetPathName(), CFile::modeWrite | CFile::modeCreate); + CArchive ar(&file, CArchive::store); + int column = 0; + TCHAR text[128]; + while(true) { + LVCOLUMN col; + col.mask = LVCF_TEXT; + col.cchTextMax = 128; + col.pszText = text; + if (!m_List.GetColumn(column, &col)) + break; + ar.WriteString(col.pszText); + ar.WriteString(L","); + column++; + } + ar.WriteString(L"\n"); + + int count = m_List.GetItemCount(); + for (int i = 0; i < count; i++) { + for (int c = 0; c < column; c++) { + ar.WriteString(m_List.GetItemText(i, c)); + ar.WriteString(L","); + } + ar.WriteString(L"\n"); + } + + } + catch (CFileException* ex) { + TCHAR msg[256]; + ex->GetErrorMessage(msg, 256); + AfxMessageBox(msg); + ex->Delete(); + } + } +} diff --git a/PoolView.h b/PoolView.h index 7c2c262..87077d1 100644 --- a/PoolView.h +++ b/PoolView.h @@ -49,5 +49,6 @@ protected: afx_msg void OnEditCopy(); afx_msg void OnViewPause(); afx_msg void OnUpdateViewPause(CCmdUI *pCmdUI); + afx_msg void OnFileSave(); }; diff --git a/VSSetup/VSSetup.vdproj b/VSSetup/VSSetup.vdproj new file mode 100644 index 0000000..17b4af3 --- /dev/null +++ b/VSSetup/VSSetup.vdproj @@ -0,0 +1,704 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:VSSetup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_C77CF6B5C4A84EC4846D2D6C02F81144" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\VSSetup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\VSSetup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.6.1" + { + "Name" = "8:Microsoft .NET Framework 4.6.1 (x86 and x64)" + "ProductCode" = "8:.NETFramework,Version=v4.6.1" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Visual.C++.14.0.x86" + { + "Name" = "8:Visual C++ \"14\" Runtime Libraries (x86)" + "ProductCode" = "8:Microsoft.Visual.C++.14.0.x86" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + } + } + "File" + { + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_8368FC85AA184FB2B6C47ED7D87D1283" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_C908FC9EB6F749A28FEB6FDAB97AE079" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_CC6BF2AE29C14B7996F8452E18FECE6E" + { + "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:PoolMonX" + "ProductCode" = "8:{451522B8-98EF-4D07-A647-9CB7D226785F}" + "PackageCode" = "8:{985D0740-4303-477D-A95B-55998F173E8D}" + "UpgradeCode" = "8:{4441A281-920C-4982-AE0B-D6FE7B931D63}" + "AspNetVersion" = "8:4.0.30319.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:1.0.0" + "Manufacturer" = "8:Default Company Name" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:PoolMonX" + "Subject" = "8:" + "ARPCONTACT" = "8:Pavel Yosifovich" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:1" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7A4E33B2753748EC92ED165033A57C26" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6A821F3A969044BABC15FDA4F8799BFA" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F79596255D4B4FA9866C42EE7734D0AE" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C9573F5D8DBC4C91962820208EF0C240" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + } + "UserInterface" + { + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_49CD21B23D1543BC910C6B73D36DA971" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5C390E1A1F44452A950DB78C91D952A0" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D77A3D2BF6A14EC0BA73FB19779FAB12" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_6E3C5238144E479E843854EBBA1537D7" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6E611099E0D145ED97AE0A65E1DA5CA1" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3CC24897E20E46E1B46D68576A4695AB" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_731A92AF1A2B4C0FA36A64395A863A73" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_37F4E93137694E11841A70BF71F78951" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_39A63569BAF5419985F04776A3407467" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_88CB1C70E75C413EA191BEEDD1E3E8FF" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_8EB038A4A957407583820E7CD5046E82" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5D609F363B924865BA57501376D1274F" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_95AB838EE78D47A29F057E905458D2CD" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B8C192D85D134C6AB5611F36A2E2CC8C" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E2CB94120E954D579CFD53EC56A54074" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_158E3F9D70D94342951F089EC2ACF7A8" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_89A814C39AB045009F3AAC89B1F6B0AF" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9EC1859DBFE94DB2B27737B3DE9C3DB3" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C77CF6B5C4A84EC4846D2D6C02F81144" + { + "SourcePath" = "8:..\\x64\\Release\\PoolMonX.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_CC6BF2AE29C14B7996F8452E18FECE6E" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{26A93265-52DE-4226-9974-AC437B0EC988}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/resource.h b/resource.h index afb4e97..8bd045a 100644 --- a/resource.h +++ b/resource.h @@ -11,7 +11,6 @@ #define IDI_PAGED 311 #define IDR_POOLTAG 314 #define IDC_REFRESH 1000 -#define ID_FILE_SAVE32771 32771 #define ID_VIEW_REFRESH 32772 #define ID_VIEW_PAUSE 32773 #define ID_VIEW_REFRESHINTERVAL 32778 diff --git a/test.csv b/test.csv new file mode 100644 index 0000000..4dc946b Binary files /dev/null and b/test.csv differ