diff --git a/Combo/BuildMenuCombo.vcxproj b/Combo/BuildMenuCombo.vcxproj deleted file mode 100644 index 5032c60..0000000 --- a/Combo/BuildMenuCombo.vcxproj +++ /dev/null @@ -1,139 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - - MFCProj - BuildMenuCombo - - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - - - - - - - - - - - - - $(SolutionDir)Combo\$(Configuration)\ - false - BuildMenu - - - true - $(SolutionDir)Combo\$(Configuration)\ - BuildMenu - - - - MultiThreaded - OnlyExplicitInline - true - true - MaxSpeed - true - Level3 - NDEBUG;WIN32;_WINDOWS;BUILD_UI;%(PreprocessorDefinitions) - .\Release\BuildMenuCombo.pch - - - true - NDEBUG;%(PreprocessorDefinitions) - .\Release\BuildMenuCombo.tlb - true - Win32 - - - 0x0404 - Release/BuildMenu.res - NDEBUG;BUILD_UI;%(PreprocessorDefinitions) - - - true - .\Release\BuildMenuCombo.bsc - - - true - Windows - - - - - MultiThreadedDebug - Default - false - Disabled - true - Level3 - true - EditAndContinue - _DEBUG;WIN32;_WINDOWS;BUILD_UI;%(PreprocessorDefinitions) - EnableFastChecks - - - true - _DEBUG;%(PreprocessorDefinitions) - .\Debug\BuildMenuCombo.tlb - true - Win32 - - - 0x0404 - Debug/BuildMenu.res - _DEBUG;BUILD_UI;%(PreprocessorDefinitions) - - - true - .\Debug\BuildMenuCombo.bsc - - - true - true - Windows - $(OutDir)$(TargetName)$(TargetExt) - - - - - - - - - - \Users\Temp\Desktop\PCMancefssh\Resource;%(AdditionalIncludeDirectories) - \Users\Temp\Desktop\PCMancefssh\Resource;%(AdditionalIncludeDirectories) - - - - - - - - - - \ No newline at end of file diff --git a/Combo/BuildMenuCombo.vcxproj.filters b/Combo/BuildMenuCombo.vcxproj.filters deleted file mode 100644 index c6eefc5..0000000 --- a/Combo/BuildMenuCombo.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ - - - - - {b3ddee94-8ea7-43a2-a15d-f211fee70b56} - cpp;c;cxx;rc;def;r;odl;idl;hpj;bat - - - {a2ef7c2f-1738-494d-bf67-e74071d7713b} - h;hpp;hxx;hm;inl - - - {74b72fcb-4992-4fe2-ad2b-fb1bd1ba5b58} - ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/Combo/Combo.dsp b/Combo/Combo.dsp new file mode 100644 index 0000000..3c61800 --- /dev/null +++ b/Combo/Combo.dsp @@ -0,0 +1,661 @@ +# Microsoft Developer Studio Project File - Name="Combo" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=Combo - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "Combo.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "Combo.mak" CFG="Combo - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "Combo - Win32 Release" (based on "Win32 (x86) Application") +!MESSAGE "Combo - Win32 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName ""$/Combo", WDAAAAAA" +# PROP Scc_LocalPath "." +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "Combo - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 1 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /Ob2 /I "..\SimpXmlParser" /D "NDEBUG" /D "_COMBO_" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /FR /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x404 /d "NDEBUG" +# ADD RSC /l 0x404 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 +# ADD LINK32 wininet.lib wsock32.lib winmm.lib msimg32.lib version.lib /nologo /subsystem:windows /machine:I386 /out:"Release/PCMan Combo/PCMan.exe" +# Begin Special Build Tool +OutDir=.\Release +SOURCE="$(InputPath)" +PreLink_Cmds=$(OutDir)\BuildMenu.exe $(OutDir)\PCMan Combo\Config ..\Version_PreBuildEvent_Combo.bat 1 +# End Special Build Tool + +!ELSEIF "$(CFG)" == "Combo - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 1 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\SimpXmlParser" /D "_DEBUG" /D "_COMBO_" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "USE_DEBUG_CONSOLE" /FR /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x404 /d "_DEBUG" +# ADD RSC /l 0x404 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept +# ADD LINK32 wininet.lib wsock32.lib winmm.lib msimg32.lib version.lib /nologo /subsystem:windows /debug /machine:I386 /out:"Debug/PCMan Combo/PCMan.exe" /pdbtype:sept +# Begin Special Build Tool +OutDir=.\Debug +SOURCE="$(InputPath)" +PreLink_Cmds=$(OutDir)\BuildMenu.exe $(OutDir)\PCMan Combo\Config ..\Version_PreBuildEvent_Lite.bat 1 +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "Combo - Win32 Release" +# Name "Combo - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\Lite\AddressDlg.cpp +# End Source File +# Begin Source File + +SOURCE=.\AdItem.cpp +# End Source File +# Begin Source File + +SOURCE=.\AdList.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AES.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AnsiBar.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AppConfig.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoComplete.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoReplyPage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoUpdate.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoUpdateDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\BBSHyperLink.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\BrowseDirDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\ChiConv\ChiConv.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\Clipboard.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\ColorConfigDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Resource\Combo.rc +# End Source File +# Begin Source File + +SOURCE=..\Lite\ConfigFile.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\Conn.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\ConnectPage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\CtrlEdit.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\CustomizeDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\CustomTabCtrl.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\CustomToolBar.cpp +# End Source File +# Begin Source File + +SOURCE=.\custsite.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\Debug_Kit.cpp +# End Source File +# Begin Source File + +SOURCE=..\DlgLayout\DlgLayout.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\DragTreeCtrl.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\FavMenu.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\GeneralPage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\Hotkey.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\HotkeyEdit.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\HyperLinkPage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\InputNameDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\InstantTranDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\KeyMap.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\KeyMapDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\ListDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\MainFrm.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\MemIniFile.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\MouseCTL.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\MouseGesture.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\OleImage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\OtherPage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\PasswdDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\PCMan.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\ReBarState.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\Rijndael.cpp +# End Source File +# Begin Source File + +SOURCE=.\SearchBar.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\SearchPlugin.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\SetBkDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\SimpXmlParser\SimpXmlParser.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\sitelistctrl.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\SitePage.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\SiteSettings.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\StdAfx.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\StringDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\strutils.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\TelnetConn.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\TermView.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\TriggerList.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\Ucs2Conv.cpp +# End Source File +# Begin Source File + +SOURCE=.\WebBrowser.cpp +# End Source File +# Begin Source File + +SOURCE=.\WebBrowserCtrl.cpp +# End Source File +# Begin Source File + +SOURCE=.\WebCfgPage.cpp +# End Source File +# Begin Source File + +SOURCE=.\WebConn.cpp +# End Source File +# Begin Source File + +SOURCE=.\WebPageDlg.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\WindowState.cpp +# End Source File +# Begin Source File + +SOURCE=..\Lite\WinUtils.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\Lite\AddressDlg.h +# End Source File +# Begin Source File + +SOURCE=.\AdItem.h +# End Source File +# Begin Source File + +SOURCE=.\AdList.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\AnsiBar.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\AppConfig.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoComplete.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoReplyPage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\AutoUpdate.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\BBSHyperLink.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\BrowseDirDlg.h +# End Source File +# Begin Source File + +SOURCE=..\ChiConv\ChiConv.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\Clipboard.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\ColorConfigDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\ConfigFile.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\Conn.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\ConnectPage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\CtrlEdit.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\CustomizeDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\CustomTabCtrl.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\CustomToolBar.h +# End Source File +# Begin Source File + +SOURCE=.\custsite.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\Debug_Kit.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\DragTreeCtrl.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\FavMenu.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\FileUtil.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\GeneralPage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\Hotkey.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\HotkeyEdit.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\HyperLinkPage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\InputNameDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\KeyMap.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\KeyMapDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\ListDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\MainFrm.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\MemIniFile.h +# End Source File +# Begin Source File + +SOURCE=.\MENUMAPITEM.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\OleImage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\OtherPage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\PasswdDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\PCMan.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\ReBarState.h +# End Source File +# Begin Source File + +SOURCE=..\Resource\resource.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\RFC854.H +# End Source File +# Begin Source File + +SOURCE=..\Lite\Rijndael.h +# End Source File +# Begin Source File + +SOURCE=.\SearchBar.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\SearchPlugin.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\SetBkDlg.h +# End Source File +# Begin Source File + +SOURCE=..\SimpXmlParser\SimpXmlParser.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\sitelistctrl.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\SitePage.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\SiteSettings.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\StdAfx.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\StringDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\strutils.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\TelnetConn.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\TermView.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\Ucs2Conv.h +# End Source File +# Begin Source File + +SOURCE=.\WebBrowser.h +# End Source File +# Begin Source File + +SOURCE=.\WebBrowserCtrl.h +# End Source File +# Begin Source File + +SOURCE=.\webcfgpage.h +# End Source File +# Begin Source File + +SOURCE=.\WebConn.h +# End Source File +# Begin Source File + +SOURCE=.\WebPageDlg.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\WindowState.h +# End Source File +# Begin Source File + +SOURCE=..\Lite\WinUtils.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=..\Resource\res\ansfile.ico +# End Source File +# Begin Source File + +SOURCE=..\Resource\res\copy_cur.cur +# End Source File +# Begin Source File + +SOURCE=..\Resource\res\drag_cur.cur +# End Source File +# Begin Source File + +SOURCE=..\Resource\res\hand.cur +# End Source File +# Begin Source File + +SOURCE=..\Resource\res\idr_main.ico +# End Source File +# End Group +# End Target +# End Project diff --git a/Combo/Combo.vcproj b/Combo/Combo.vcproj new file mode 100644 index 0000000..1862ac9 --- /dev/null +++ b/Combo/Combo.vcproj @@ -0,0 +1,2037 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Combo/Combo.vcxproj b/Combo/Combo.vcxproj deleted file mode 100644 index 5130bd4..0000000 --- a/Combo/Combo.vcxproj +++ /dev/null @@ -1,245 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {A56537F7-964A-457E-B2B2-A5C89ED935F9} - Win32Proj - Combo - - - - Application - true - MultiByte - Static - - - Application - false - true - MultiByte - Static - - - - - - - - - - - - - - - true - ..\Lite\;$(IncludePath) - PCMan - $(SolutionDir)Combo\$(Configuration)\PCMan Combo - - - false - $(SolutionDir)Combo\$(Configuration)\PCMan Combo - PCMan - ..\Lite\;$(IncludePath) - - - - NotUsing - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_COMBO_;%(PreprocessorDefinitions) - ..\SimpXmlParser;%(AdditionalIncludeDirectories) - - - Windows - true - wininet.lib;wsock32.lib;winmm.lib;version.lib;libssh2d.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - - - - - 0x0404 - - - - - Level3 - NotUsing - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_COMBO_;%(PreprocessorDefinitions) - ..\SimpXmlParser;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - wininet.lib;wsock32.lib;winmm.lib;version.lib;libssh2.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - - - - - - \ No newline at end of file diff --git a/Combo/Combo.vcxproj.filters b/Combo/Combo.vcxproj.filters deleted file mode 100644 index 58e6d22..0000000 --- a/Combo/Combo.vcxproj.filters +++ /dev/null @@ -1,458 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {bdd28138-9aa9-4f6c-9d67-fde740689f85} - - - {b30e489a-5aad-409c-8b89-61937cbe1a3e} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - Source Files\NewFilter1 - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files - - - Header Files - - - Header Files - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - Header Files\NewFilter1 - - - - - Resource Files - - - \ No newline at end of file diff --git a/Combo/Debug/PCMan Combo/Config/BBSFavorites b/Combo/Debug/PCMan Combo/Config/BBSFavorites index 312fb5d..d85b1b6 100644 --- a/Combo/Debug/PCMan Combo/Config/BBSFavorites +++ b/Combo/Debug/PCMan Combo/Config/BBSFavorites @@ -6,5 +6,4 @@ s s¥x¤j§å½ð½ð¹ê·~§{ ptt.cc sKKCity bbs.kkcity.com.tw sptt.cc ptt.cc -sPTT SSH telnets://ptt.cc:22 diff --git a/Combo/Debug/PCMan Combo/Config/UI b/Combo/Debug/PCMan Combo/Config/UI index 30febd1..f896d4b 100644 Binary files a/Combo/Debug/PCMan Combo/Config/UI and b/Combo/Debug/PCMan Combo/Config/UI differ diff --git a/Combo/Debug/PCMan Combo/PCMan.exe.manifest b/Combo/Debug/PCMan Combo/PCMan.exe.manifest new file mode 100644 index 0000000..f2e29cf --- /dev/null +++ b/Combo/Debug/PCMan Combo/PCMan.exe.manifest @@ -0,0 +1,10 @@ + + + +PCMan + + + + + + diff --git a/Combo/WebBrowser.cpp b/Combo/WebBrowser.cpp index 35e7a1c..be15da9 100644 --- a/Combo/WebBrowser.cpp +++ b/Combo/WebBrowser.cpp @@ -20,7 +20,7 @@ static char THIS_FILE[] = __FILE__; #include "../Lite/mainfrm.h" #include "WebConn.h" -//static const IID IID_ITravelLogStg = { 0x7EBFDD80, 0xAD18, 0x11d3, {0xA4, 0xC5, 0x00, 0xC0, 0x4F, 0x72, 0xD6, 0xB8}}; +static const IID IID_ITravelLogStg = { 0x7EBFDD80, 0xAD18, 0x11d3, {0xA4, 0xC5, 0x00, 0xC0, 0x4F, 0x72, 0xD6, 0xB8}}; ///////////////////////////////////////////////////////////////////////////// // CWebBrowser diff --git a/Lite/MainFrm.cpp b/Lite/MainFrm.cpp index d0b1951..75b880d 100644 --- a/Lite/MainFrm.cpp +++ b/Lite/MainFrm.cpp @@ -752,10 +752,7 @@ void CMainFrame::OnRClickTab(NMHDR *pNMHDR, LRESULT *pResult) pos+=2; } else - { - InsertMenu(popup, pos + 1, MF_STRING | MF_BYPOSITION, ID_CONNECT_CLOSE_ALL_OTHERS, close_all_other_pages); - InsertMenu(popup, pos + 2, MF_STRING | MF_BYPOSITION, ID_CONNECT_CLOSE, close_this_page); - } + InsertMenu(popup, pos + 1, MF_STRING | MF_BYPOSITION, ID_CONNECT_CLOSE, close_this_page); ::TrackPopupMenu(popup, TPM_RIGHTBUTTON | TPM_LEFTALIGN, pt.x, pt.y, 0, m_hWnd, NULL); DeleteMenu(popup, pos, MF_BYPOSITION); @@ -840,24 +837,18 @@ void CMainFrame::OnNewConnectionAds(LPCTSTR cmdline) AddToTypedHistory(cmdline); - short portDefault = 23; - bool ssh = false; - if (0 == strnicmp(cmdline, "telnet:", 7)) { - portDefault = 23; - ssh = false; + cmdline += 7; + while (*cmdline == '/') + cmdline++; } else if (0 == strnicmp(cmdline, "bbs:", 4)) { - portDefault = 23; - ssh = false; + cmdline += 4; + while (*cmdline == '/') + cmdline++; } - else if (0 == strnicmp(cmdline, "telnets:", 8)) - { - portDefault = 22; - ssh = true; - } else if (IsFileExist(cmdline)) { int l = strlen(cmdline); @@ -889,23 +880,22 @@ void CMainFrame::OnNewConnectionAds(LPCTSTR cmdline) if (param[param.GetLength()-1] == '/') param = param.Left(param.GetLength() - 1); - int rfindPos = param.ReverseFind(':'); - int findPos = param.Find(':'); + int pos = param.Find(':'); CString address; unsigned short port; - if (rfindPos == findPos) + if (pos == -1) { address = param; port = 23; } else { - address = param.Left(rfindPos); - CString port_str = param.Mid(rfindPos + 1); + address = param.Left(pos); + CString port_str = param.Mid(pos + 1); port = (unsigned short)atoi(port_str); - //if (port == 23) - // param = address; + if (port == 23) + param = address; } view.Connect(address, param, port); if(!setCharset) @@ -998,8 +988,7 @@ void CMainFrame::UpdateAddressBar() CString address = view.con->address; if (view.telnet && !view.telnet->is_ansi_editor) { - unsigned short portDefault = view.telnet->IsSSH() ? 22 : 23; - if (view.telnet->port != portDefault) + if (view.telnet->port != 23) { char port_str[16]; sprintf(port_str, ":%d", view.telnet->port); @@ -2404,7 +2393,7 @@ void CMainFrame::OnConnectCloseAllOthers() int all = tab.GetItemCount(); for(int i=0;iname; name += '\t'; -//#ifdef _COMBO_ -// name += telnet->address.Mid(9); -//#else -// name += telnet->address; -//#endif - name += telnet->address; - unsigned short portDefault = telnet->IsSSH() ? 22 : 23; - if (telnet->port != portDefault && telnet->port > 0) +#ifdef _COMBO_ + name += telnet->address.Mid(9); +#else + name += telnet->address; +#endif + if (telnet->port != 23 && telnet->port > 0) { char port_str[16]; sprintf(port_str, ":%d", telnet->port); @@ -2966,8 +2953,7 @@ void CMainFrame::OnFavorite(UINT id) { typedef DWORD (WINAPI DOFD)(HWND, LPCTSTR); DOFD* pfunc = NULL; - HMODULE hmod = LoadLibrary("IEFRAME.dll"); - if (!hmod) hmod = LoadLibrary("Shdocvw.dll"); + HMODULE hmod = LoadLibrary("Shdocvw.dll"); pfunc = (DOFD*)GetProcAddress(hmod, "DoOrganizeFavDlg"); if (!hmod || !pfunc) return; @@ -4051,7 +4037,7 @@ void CMainFrame::OnBBSFont() } } -LRESULT CMainFrame::OnDownloadPage( WPARAM, LPARAM ) +void CMainFrame::OnDownloadPage() { const char url[] = "http://of.openfoundry.org/projects/744/download"; #ifdef _COMBO_ @@ -4059,7 +4045,6 @@ LRESULT CMainFrame::OnDownloadPage( WPARAM, LPARAM ) #else ShellExecute(m_hWnd, "open", url , NULL, NULL, SW_SHOW); #endif - return TRUE; } diff --git a/Lite/MainFrm.h b/Lite/MainFrm.h index 6cbe3aa..702e7d9 100644 --- a/Lite/MainFrm.h +++ b/Lite/MainFrm.h @@ -274,7 +274,7 @@ class CMainFrame : public CFrameWnd //}}AFX_MSG void OnFavorite(UINT id); - LRESULT OnDownloadPage(WPARAM, LPARAM); + void OnDownloadPage(); #if _MFC_VER >= 0x0700 afx_msg void OnActivateApp(BOOL bActive, DWORD hTask); diff --git a/Lite/TelnetConn.cpp b/Lite/TelnetConn.cpp index 462949a..6e6f590 100644 --- a/Lite/TelnetConn.cpp +++ b/Lite/TelnetConn.cpp @@ -108,8 +108,6 @@ CTelnetConn::CTelnetConn() site_settings.paste_autowrap = 0; key_map = NULL; - - m_isSSH = false; } CTelnetConn::~CTelnetConn() @@ -864,27 +862,20 @@ void CTelnetConn::OnConnect(int nErrorCode) item.iImage = 0; view->parent->tab.SetItem(idx, &item); CString ads_port = address; - - unsigned short defaultPort = this->IsSSH() ? 22 : 23; - - if (port != defaultPort) //22: ssh + if (port != 23) { char port_str[16]; sprintf(port_str, ":%d", port); ads_port += port_str; } - CString str("s"); str += name; str += '\t'; - -//#ifdef _COMBO_ -// str += LPCTSTR(ads_port) + (this->IsSSH() ? 10 : 9); // strlen("telnet://") = 9; strlen("telnets://") = 10; -//#else -// str += ads_port; -//#endif - - str += ads_port; //EDIT. make a difference between telnet and telnets when add history. +#ifdef _COMBO_ + str += LPCTSTR(ads_port) + 9; // strlen("telnet://") = 9; +#else + str += ads_port; +#endif str += '\t'; if (!cfg_path.IsEmpty()) str += cfg_path.Left(cfg_path.GetLength() - name.GetLength()); @@ -902,7 +893,7 @@ int CTelnetConn::Send(const void *lpBuf, int nBufLen) if (!is_ansi_editor) { - int r = this->SendImpl(lpBuf, nBufLen); + int r = ::send(telnet, (char*)lpBuf, nBufLen, 0); return r; } @@ -2171,27 +2162,3 @@ void CTelnetConn::CopyArticleComplete(bool cancel) get_article_with_ansi = false; downloaded_article.Empty(); } - - -int CTelnetConn::RecvImpl( void *buf, int len ) -{ - return ::recv(telnet, static_cast(buf), len, 0); -} - - -int CTelnetConn::SendImpl( const void *lpBuf, int nBufLen ) -{ - return ::send(telnet, static_cast(lpBuf), nBufLen, 0); -} - -void CTelnetConn::ConnectImpl( sockaddr *addr, int len ) -{ - ::connect(telnet, addr, len); -} - -int CTelnetConn::CloseImpl() -{ - int r = ::closesocket(telnet); - telnet = 0; - return r; -} diff --git a/Lite/TelnetConn.h b/Lite/TelnetConn.h index e6599ec..fe65b25 100644 --- a/Lite/TelnetConn.h +++ b/Lite/TelnetConn.h @@ -185,7 +185,6 @@ BYTE get_article_in_editor : 1; public: virtual void OnReceive(int nErrorCode); virtual void OnConnect(int nErrorCode); - //}}AFX_VIRTUAL // Generated message map functions @@ -195,43 +194,34 @@ BYTE get_article_in_editor : 1; // Implementation protected: - bool m_isSSH; - -public: - virtual void ConnectImpl(sockaddr *addr, int len); - virtual int RecvImpl(void* buf, int len); - virtual int SendImpl(const void* lpBuf, int nBufLen); - virtual int CloseImpl(); - - bool IsSSH() const - { - return m_isSSH; - } }; int CTelnetConn::Close() { - return this->CloseImpl(); + int r =::closesocket(telnet); + telnet = 0; + return r; } void CTelnetConn::Connect(sockaddr *addr, int len) { - this->ConnectImpl(addr, len); + ::connect(telnet, addr, len); } int CTelnetConn::Recv(void *buf, int len) { - return this->RecvImpl(buf, len); + return ::recv(telnet, (char*)buf, len, 0); } + #ifndef SD_SEND #define SD_SEND 1 #endif int CTelnetConn::Shutdown() { - return ::shutdown(telnet, SD_SEND); + return ::shutdown(telnet, SD_SEND); } inline void CTelnetConn::SetBgColor(BYTE &attr, BYTE bk) diff --git a/Lite/TelnetSSHConnSurrogate.cpp b/Lite/TelnetSSHConnSurrogate.cpp deleted file mode 100644 index 5e0e3c4..0000000 --- a/Lite/TelnetSSHConnSurrogate.cpp +++ /dev/null @@ -1,85 +0,0 @@ -#include "TelnetSSHConnSurrogate.h" -#include - -#include "TelnetSSHState.h" - -TelnetSSHConnSurrogate::TelnetSSHConnSurrogate(void) : - m_addrlen(0) -{ - m_isSSH = true; -} - - -TelnetSSHConnSurrogate::~TelnetSSHConnSurrogate(void) -{ -} - - -void TelnetSSHConnSurrogate::OnReceive( int nErrorCode ) -{ - CTelnetConn::OnReceive(nErrorCode); - - m_self->OnReceive(nErrorCode); -} - - -void TelnetSSHConnSurrogate::OnConnect( int nErrorCode ) -{ - CTelnetConn::OnConnect(nErrorCode); - m_self->OnConnect(nErrorCode); -} - - -void TelnetSSHConnSurrogate::ConnectImpl( sockaddr *addr, int len ) -{ - std::unique_ptr self( - new TelnetSSHLoginInfoLoadState( - this->telnet, - std::bind(&TelnetSSHConnSurrogate::NextState, this), - std::bind(&TelnetSSHConnSurrogate::ReceiveData, this), - std::bind(&TelnetSSHConnSurrogate::SetDisconnect, this) - )); - //std::unique_ptr self( - // new TelnetSSHConnectState( - // this->telnet, "bbs", "", - // std::bind(&TelnetSSHConnSurrogate::NextState, this), - // std::bind(&TelnetSSHConnSurrogate::SetDisconnect, this) - // )); - m_self = std::move(self); - - m_addr = *addr; - m_addrlen = len; - m_self->Connect(&m_addr, m_addrlen); -} - - -int TelnetSSHConnSurrogate::RecvImpl( void *buf, int len ) -{ - return m_self->Recv(buf, len); -} - - -int TelnetSSHConnSurrogate::SendImpl( const void *buf, int len ) -{ - return m_self->Send(buf, len); -} - - -int TelnetSSHConnSurrogate::CloseImpl() -{ - int result = CTelnetConn::CloseImpl(); - m_self->Close(); - return result; -} - - -void TelnetSSHConnSurrogate::NextState() -{ - m_self = m_self->Next(); -} - -void TelnetSSHConnSurrogate::SetDisconnect() -{ - this->is_connected = false; - this->is_disconnected = true; -} diff --git a/Lite/TelnetSSHConnSurrogate.h b/Lite/TelnetSSHConnSurrogate.h deleted file mode 100644 index 0b47059..0000000 --- a/Lite/TelnetSSHConnSurrogate.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef _PCMAN_COMBO_TELNETSSHCONNSURROGATE_H_ -#define _PCMAN_COMBO_TELNETSSHCONNSURROGATE_H_ - -#include -#include "TelnetConn.h" -#include - -class TelnetSSHState; -class TelnetSSHConnSurrogate : - public CTelnetConn -{ -public: - TelnetSSHConnSurrogate(void); - virtual ~TelnetSSHConnSurrogate(void); - - virtual void OnReceive(int nErrorCode) override; - - virtual void OnConnect(int nErrorCode) override; - - virtual void ConnectImpl(sockaddr *addr, int len) override; - - virtual int RecvImpl(void* buf, int len) override; - - virtual int SendImpl(const void* lpBuf, int nBufLen) override; - - virtual int CloseImpl() override; - - void NextState(); - - void SetDisconnect(); - -private: - std::unique_ptr m_self; - - sockaddr m_addr; - int m_addrlen; -}; - - -#endif diff --git a/Lite/TelnetSSHState.cpp b/Lite/TelnetSSHState.cpp deleted file mode 100644 index 8de2f6f..0000000 --- a/Lite/TelnetSSHState.cpp +++ /dev/null @@ -1,450 +0,0 @@ -#include "TelnetSSHConnSurrogate.h" - -#include - -#include -#include -#include -#include - -#include "TelnetSSHState.h" - -#undef min - -TelnetSSHState::TelnetSSHState( void ) -{ - -} - - -TelnetSSHState::~TelnetSSHState( void ) -{ - -} - - -namespace -{ - - -const std::string gLoginUsernameMessage = "SSH LoginUsername: "; -const std::string gLoginPasswordMessage = "SSH LoginPassword: "; - - -void SetCourseCommand(unsigned column, unsigned row, std::string &buffer) -{ - //[{ROW};{COLUMN}H - std::stringstream conv; - conv << '\x1b' << '[' << column << ';' << row << 'H'; - buffer += conv.str(); -} - - -} //namespace - - -TelnetSSHLoginInfoLoadState::TelnetSSHLoginInfoLoadState( - SOCKET socket, - const fnTypeNextState &fnNextState, - const fnTypeNotifyReceive &fnNotifyReceive, - const fnTypeSetDisconnect &fnSetDisconnect) : - - m_target(&m_username) -{ - this->SetSocket(socket); - this->SetFnNextState(fnNextState); - this->SetFnNotifyReceive(fnNotifyReceive); - this->SetFnSetDisconnect(fnSetDisconnect); - - SetCourseCommand(1, 1, m_textShowOnSceen); - m_textShowOnSceen += gLoginUsernameMessage; - assert(m_target); -} - - -TelnetSSHLoginInfoLoadState::TelnetSSHLoginInfoLoadState( - const TelnetSSHConnectState &conn ) -{ - this->SetSocket(conn.GetSocket()); - this->SetFnNextState(conn.GetFnNextState()); - this->SetFnNotifyReceive(conn.GetFnNotifyReceive()); - this->SetFnSetDisconnect(conn.GetFnSetDisconnect()); -} - - -TelnetSSHLoginInfoLoadState::~TelnetSSHLoginInfoLoadState( void ) -{ -} - - -void TelnetSSHLoginInfoLoadState::OnReceive( int /*nErrorCode*/ ) -{ -} - - -void TelnetSSHLoginInfoLoadState::OnConnect( int /*nErrorCode*/ ) -{ -} - - -void TelnetSSHLoginInfoLoadState::Connect( sockaddr *addr, int len ) -{ - m_addr = addr; - m_addrlen = len; - - this->NotifyReceive(); -} - - -int TelnetSSHLoginInfoLoadState::Recv( void *buf, int len ) -{ - assert(buf); - - if (nullptr == buf || len <= 0) - { - return 0; - } - - std::copy(m_textShowOnSceen.begin(), m_textShowOnSceen.end(), - stdext::checked_array_iterator(static_cast(buf), len)); - - return std::min(m_textShowOnSceen.size(), static_cast(len)); -} - - -int TelnetSSHLoginInfoLoadState::Send( const void *buf, int len ) -{ - assert(buf); - - if (nullptr == buf || len <= 0) - { - return 0; - } - - const char *text = static_cast(buf); - m_textShowOnSceen.clear(); - - switch(*text) - { - case 13: - { - if (m_username.empty()) - { - SetCourseCommand(1, 1, m_textShowOnSceen); - m_textShowOnSceen += gLoginUsernameMessage; - m_target = &m_username; - } - else if (&m_username == m_target) - { - SetCourseCommand(2, 1, m_textShowOnSceen); - m_textShowOnSceen += gLoginPasswordMessage; - m_target = &m_password; - } - else //!m_username.empty() && !m_password.empty() - { - m_fnNextState(); - return len; - } - } - break; - - case 8: - case 127: - { - if (!m_target->empty()) - { - const char *backspace = "\b \b"; - m_textShowOnSceen = backspace; - m_target->pop_back(); - } - } - break; - - default: - if (m_target == &m_password) - { - m_textShowOnSceen.assign("*", len); - } - else - { - m_textShowOnSceen.assign(text, len); - } - m_target->append(text, len); - } - - this->NotifyReceive(); - - return len; -} - - -void TelnetSSHLoginInfoLoadState::Close() -{ -} - - -std::unique_ptr TelnetSSHLoginInfoLoadState::Next() -{ - std::unique_ptr state( - new TelnetSSHConnectState(*this)); - state->Connect(m_addr, m_addrlen); - - return std::move(state); -} - - -void TelnetSSHLoginInfoLoadState::NotifyReceive() -{ - m_fnNotifyReceive(); -} - - -struct TelnetSSHConnectState::TelnetSSHConnectStateImpl -{ - void Init(); - void Clear(); - - bool initialSuccess; - bool connected; - LIBSSH2_SESSION *session; - LIBSSH2_CHANNEL *channal; -}; - - -void TelnetSSHConnectState::TelnetSSHConnectStateImpl::Init() -{ - this->Clear(); - - if (0 == libssh2_init(0) ) - { - this->initialSuccess = true; - } -} - - -void TelnetSSHConnectState::TelnetSSHConnectStateImpl::Clear() -{ - this->initialSuccess = false; - this->connected = false; - this->session = nullptr; - this->channal = nullptr; -} - - -TelnetSSHConnectState::TelnetSSHConnectState( - SOCKET socket, - const std::string &username, - const std::string &password, - const fnTypeNextState &fnNextState, - const fnTypeSetDisconnect &fnSetDisconnect ) : - m_impl(new TelnetSSHConnectState::TelnetSSHConnectStateImpl) -{ - assert(m_impl); - - this->SetSocket(socket); - this->SetUsername(username); - this->SetPassword(password); - this->SetFnNextState(fnNextState); - this->SetFnSetDisconnect(fnSetDisconnect); - - m_impl->Init(); -} - - -TelnetSSHConnectState::TelnetSSHConnectState( - TelnetSSHLoginInfoLoadState &loginState ) : - m_impl(new TelnetSSHConnectState::TelnetSSHConnectStateImpl) -{ - assert(m_impl); - - this->SetSocket(loginState.GetSocket()); - this->SetUsername(loginState.GetUsername()); - this->SetPassword(loginState.GetPassword()); - this->SetFnNextState(loginState.GetFnNextState()); - this->SetFnNotifyReceive(loginState.GetFnNotifyReceive()); - this->SetFnSetDisconnect(loginState.GetFnSetDisconnect()); - - m_impl->Init(); -} - - -TelnetSSHConnectState::~TelnetSSHConnectState( void ) -{ - libssh2_exit(); -} - - -void TelnetSSHConnectState::OnReceive( int nErrorCode ) -{ -} - - -void TelnetSSHConnectState::OnConnect( int nErrorCode ) -{ - if (0 != nErrorCode) - { - return; - } - - LIBSSH2_SESSION *session = libssh2_session_init(); - - if(int err = libssh2_session_handshake(session, this->GetSocket())) - { - return; - } - - //what fingerprint can do? - const char *fingerprint = libssh2_hostkey_hash(session, LIBSSH2_HOSTKEY_HASH_SHA1); - - if (libssh2_userauth_password( - session, - this->GetUsername().c_str(), - this->GetPassword().c_str())) - { - this->GetFnSetDisconnect()(); - return; - } - - LIBSSH2_CHANNEL *channel = libssh2_channel_open_session(session); - if (nullptr == channel) - { - return; - } - - if (libssh2_channel_request_pty(channel, "vt100")) - { - return; - } - - if (libssh2_channel_shell(channel)) - { - return; - } - - libssh2_session_set_blocking(session, 0); - m_impl->session = session; - m_impl->channal = channel; - - m_impl->connected = true; -} - - - -void TelnetSSHConnectState::Connect( sockaddr *addr, int len ) -{ - ::connect(this->GetSocket(), addr, len); -} - - -int TelnetSSHConnectState::Send( const void* buf, int len ) -{ - if (!m_impl->initialSuccess) - { - return 0; - } - - if (!m_impl->connected) - { - return 0; - } - - int returnLen = libssh2_channel_write(m_impl->channal, static_cast(buf), len); - - if (LIBSSH2_ERROR_EAGAIN == returnLen) - { - //TODO. - } - - if (LIBSSH2_ERROR_ALLOC == returnLen) - { - //TODO. - } - - if (LIBSSH2_ERROR_SOCKET_SEND == returnLen) - { - //TODO. - } - - if (LIBSSH2_ERROR_CHANNEL_CLOSED == returnLen) - { - //TODO. - } - - if (LIBSSH2_ERROR_CHANNEL_EOF_SENT == returnLen) - { - //TODO. - } - - return returnLen; -} - - -int TelnetSSHConnectState::Recv( void* buf, int len ) -{ - if (!m_impl->initialSuccess) - { - return 0; - } - - if (!m_impl->connected) - { - return 0; - } - - if (nullptr == m_impl->channal) - { - return 0; - } - - int returnLen = libssh2_channel_read(m_impl->channal, static_cast(buf), len); - - if (LIBSSH2_ERROR_EAGAIN == returnLen) - { - return 0; - } - - if (LIBSSH2_ERROR_SOCKET_SEND == returnLen) - { - //TODO. - } - - if (LIBSSH2_ERROR_CHANNEL_CLOSED == returnLen) - { - //TODO. - } - - - if (0 >= returnLen) - { - if (libssh2_channel_eof(m_impl->channal)) - { - if (m_impl->channal) - { - libssh2_channel_free(m_impl->channal); - m_impl->channal = nullptr; - } - - if (m_impl->session) - { - libssh2_session_disconnect(m_impl->session, "disconnect"); - libssh2_session_free(m_impl->session); - } - } - } - - return returnLen; -} - - -void TelnetSSHConnectState::Close() -{ -} - - -std::unique_ptr TelnetSSHConnectState::Next() -{ - std::unique_ptr loginState( - new TelnetSSHLoginInfoLoadState(*this)); - - return std::move(loginState); -} diff --git a/Lite/TelnetSSHState.h b/Lite/TelnetSSHState.h deleted file mode 100644 index b5babdc..0000000 --- a/Lite/TelnetSSHState.h +++ /dev/null @@ -1,191 +0,0 @@ -#ifndef _PCMANNOVUS_COMBO_TELNETSSHCONN_H_ -#define _PCMANNOVUS_COMBO_TELNETSSHCONN_H_ - - -#include -#include -#include - -#include - -class TelnetSSHState -{ -public: - TelnetSSHState(void); - - virtual ~TelnetSSHState(void); - - virtual void OnReceive(int nErrorCode) = 0; - - virtual void OnConnect(int nErrorCode) = 0; - - virtual void Connect(sockaddr *addr, int len) = 0; - - virtual int Recv(void *buf, int len) = 0; - - virtual int Send(const void *buf, int len) = 0; - - virtual void Close() = 0; - - virtual std::unique_ptr Next() = 0; -}; - - -class TelnetSSHConnectState; -class TelnetSSHDefaultState : - public TelnetSSHState -{ -public: - typedef std::function fnTypeNextState; - typedef std::function fnTypeNotifyReceive; - typedef std::function fnTypeSetDisconnect; - - void SetSocket(SOCKET socket) - { - m_socket = socket; - } - - SOCKET GetSocket() const - { - return m_socket; - } - - template - void SetUsername(T &&username) - { - m_username = std::forward(username); - } - - const std::string &GetUsername() const - { - return m_username; - } - - template - void SetPassword(T &&password) - { - m_password = std::forward(password); - } - - const std::string &GetPassword() const - { - return m_password; - } - - template - void SetFnNextState(T &&fnNextState) - { - m_fnNextState = std::forward(fnNextState); - } - - const fnTypeNextState &GetFnNextState() const - { - return m_fnNextState; - } - - template - void SetFnNotifyReceive(T &&fnNotifyReceive) - { - m_fnNotifyReceive = std::forward(fnNotifyReceive); - } - - const fnTypeNotifyReceive &GetFnNotifyReceive() const - { - return m_fnNotifyReceive; - } - - template - void SetFnSetDisconnect(T &&fnSetDisconnect) - { - m_fnSetDisconnect = std::forward(fnSetDisconnect); - } - - const fnTypeSetDisconnect &GetFnSetDisconnect() const - { - return m_fnSetDisconnect; - } - -protected: - SOCKET m_socket; - std::string m_username; - std::string m_password; - fnTypeNextState m_fnNextState; - fnTypeNotifyReceive m_fnNotifyReceive; - fnTypeSetDisconnect m_fnSetDisconnect; -}; - - -class TelnetSSHLoginInfoLoadState : - public TelnetSSHDefaultState -{ -public: - TelnetSSHLoginInfoLoadState( - SOCKET socket, - const fnTypeNextState &fnNextState, - const fnTypeNotifyReceive &fnNotifyReceive, - const fnTypeSetDisconnect &fnSetDisconnect); - TelnetSSHLoginInfoLoadState(const TelnetSSHConnectState &conn); - virtual ~TelnetSSHLoginInfoLoadState(void); - - virtual void OnReceive(int nErrorCode) override; - - virtual void OnConnect(int nErrorCode) override; - - virtual void Connect(sockaddr *addr, int len) override; - - virtual int Recv(void *buf, int len) override; - - virtual int Send(const void *buf, int len) override; - - virtual void Close() override; - - virtual std::unique_ptr Next() override; - - void NotifyReceive(); - -private: - sockaddr *m_addr; - int m_addrlen; - std::string m_textShowOnSceen; - - std::string *m_target; -}; - - -class TelnetSSHConnectState : - public TelnetSSHDefaultState -{ -public: - TelnetSSHConnectState( - SOCKET socket, - const std::string &username, - const std::string &password, - const fnTypeNextState &fnNextState, - const fnTypeSetDisconnect &fnSetDisconnect); - - TelnetSSHConnectState( - TelnetSSHLoginInfoLoadState &loginState); - - virtual ~TelnetSSHConnectState(void); - - virtual void OnReceive(int nErrorCode) override; - - virtual void OnConnect(int nErrorCode) override; - - virtual void Connect(sockaddr *addr, int len); - - virtual int Recv(void *buf, int len) override; - - virtual int Send(const void *buf, int len) override; - - virtual void Close() override; - - virtual std::unique_ptr Next() override; - -private: - struct TelnetSSHConnectStateImpl; - std::unique_ptr m_impl; -}; - - -#endif diff --git a/Lite/TermView.cpp b/Lite/TermView.cpp index 049d63f..aa0e7b5 100644 --- a/Lite/TermView.cpp +++ b/Lite/TermView.cpp @@ -26,7 +26,6 @@ #include "MouseCTL.h" #include "OleImage.h" -#include "TelnetSSHConnSurrogate.h" #if defined _COMBO_ #include "../Combo/WebPageDlg.h" @@ -1329,18 +1328,16 @@ LRESULT CTermView::_OnImeCompositionA(WPARAM wparam, LPARAM lparam) return 0; } -BOOL CTermView::Connect( CString address, CString name, unsigned short port, LPCTSTR cfg_path /*= NULL*/ ) +BOOL CTermView::Connect(CString address, CString name, unsigned short port, LPCTSTR cfg_path) { if (name.IsEmpty()) return FALSE; +#if defined _COMBO_ + if (port > 0 && address.Find("telnet://") == -1) + address = "telnet://" + address; +#endif -//#if defined _COMBO_ -// if (port > 0 && address.Find("telnet://") == -1) -// address = "telnet://" + address; -//#endif - - bool ssh = address.Find("telnets:") != -1; - CConn* ncon = NewConn(address, name, port, ssh, cfg_path); //²£¥Í¤F·sªº³s½uµe­±¡A§¹¦¨©Ò¦³³]©w + CConn* ncon = NewConn(address, name, port, cfg_path); //²£¥Í¤F·sªº³s½uµe­±¡A§¹¦¨©Ò¦³³]©w if (!ncon) return FALSE; @@ -1480,7 +1477,7 @@ void CTermView::OnAnsiCopy() void CTermView::OnAnsiEditor() { - Connect(LoadString(IDS_NOT_SAVED), LoadString(IDS_ANSI_EDIT), false, 0); + Connect(LoadString(IDS_NOT_SAVED), LoadString(IDS_ANSI_EDIT), 0); } @@ -1922,11 +1919,10 @@ void CTermView::OnBackspaceNoDBCS() } } -inline CConn* CTermView::NewConn( CString address, CString name, unsigned short port, bool ssh, LPCTSTR cfg_path ) +CConn* CTermView::NewConn(CString address, CString name, unsigned short port, LPCTSTR cfg_path) { CConn* newcon = NULL; - //newcon = ssh ? new TelnetSSHConn("bbs", "") : new CTelnetConn; - newcon = ssh ? new TelnetSSHConnSurrogate : new CTelnetConn; + newcon = new CTelnetConn; newcon->address = address; newcon->name = name; @@ -2030,7 +2026,7 @@ void CTermView::ConnectSocket(CTelnetConn *new_telnet) new_telnet->Create(); #if defined _COMBO_ - const LPCTSTR paddress = LPCTSTR(new_telnet->address) + (new_telnet->IsSSH() ? 10 : 9); + const LPCTSTR paddress = LPCTSTR(new_telnet->address) + 9; #else CString &paddress = new_telnet->address; #endif @@ -2963,34 +2959,23 @@ void CTermView::ConnectStr(CString name, CString dir) ConnectWeb(address, TRUE); return; } + if (0 == strncmp("telnet:", address, 7)) + { + LPCTSTR p = address; + p += 7; + while (*p && *p == '/') + ++p; + address = p; + } #endif - bool ssh = false; - short portDefault = 23; - if (0 == strncmp("telnet:", address, 7)) - { - ssh = false; - portDefault = 23; - } - else if (0 == strncmp("telnets:", address, 8)) - { - ssh = true; - portDefault = 22; - } - else - { - address = "telnet://" + address; - } - - int rfindPos = address.ReverseFind(':'); - int findPos = address.Find(':'); - - if (rfindPos == findPos) - port = portDefault; + i = address.ReverseFind(':'); + if (i == -1) + port = 23; else { - port = (unsigned short)atoi(LPCTSTR(address.Mid(rfindPos + 1))); - address = address.Left(rfindPos); + port = (unsigned short)atoi(LPCTSTR(address.Mid(i + 1))); + address = address.Left(i); } SetFocus(); diff --git a/Lite/TermView.h b/Lite/TermView.h index 4a1b0d0..b0856e3 100644 --- a/Lite/TermView.h +++ b/Lite/TermView.h @@ -170,7 +170,7 @@ class CTermView : public CWnd BOOL OpenAnsFile(LPCTSTR filepath); UINT mouse_sel_timer; static DWORD DNSLookupThread(LPVOID param); - inline CConn* NewConn(CString address, CString name, unsigned short port, bool ssh, LPCTSTR cfg_path); + inline CConn* NewConn(CString address, CString name, unsigned short port, LPCTSTR cfg_path); void OnInitialUpdate(); inline void FillBk(CDC& dc); void UpdateBkgnd(); @@ -182,7 +182,7 @@ class CTermView : public CWnd void OnAnsiCopy(); void ReConnect(CTelnetConn* retelnet); LRESULT CTermView::OnDNSLookupEnd(WPARAM found, LPARAM lparam); - BOOL Connect(CString address, CString name, unsigned short port, LPCTSTR cfg_path = NULL); + BOOL Connect(CString address, CString name, unsigned short port, LPCTSTR cfg = NULL); //{{AFX_MSG(CTermView) afx_msg LRESULT OnFind(WPARAM w, LPARAM l); afx_msg BOOL OnEraseBkgnd(CDC* pDC); diff --git a/PCMan.sln b/PCMan.sln index 792816c..7bb9712 100644 --- a/PCMan.sln +++ b/PCMan.sln @@ -1,32 +1,49 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildMenuCombo", "Combo\BuildMenuCombo.vcxproj", "{1A3D8A75-CE90-EABF-DD93-0286A2E11C95}" +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Base64Test", "Base64Test\Base64Test.vcproj", "{6EAC5BDC-4743-4907-ABCF-23C33E6B8876}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Combo", "Combo\Combo.vcxproj", "{A56537F7-964A-457E-B2B2-A5C89ED935F9}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildMenuCombo", "Combo\BuildMenuCombo.vcproj", "{3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildMenuLite", "Lite\BuildMenuLite.vcproj", "{0C6D5061-75A3-4206-B47D-479B41C62D16}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Combo", "Combo\Combo.vcproj", "{5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}" + ProjectSection(ProjectDependencies) = postProject + {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E} = {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lite", "Lite\Lite.vcproj", "{AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}" ProjectSection(ProjectDependencies) = postProject - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95} = {1A3D8A75-CE90-EABF-DD93-0286A2E11C95} + {0C6D5061-75A3-4206-B47D-479B41C62D16} = {0C6D5061-75A3-4206-B47D-479B41C62D16} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UAOTabGen", "UAOTabGen\UAOTabGen.vcproj", "{3B454357-27C4-43D4-BCD2-545AA1108707}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 - Template|Win32 = Template|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95}.Debug|Win32.ActiveCfg = Debug|Win32 - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95}.Debug|Win32.Build.0 = Debug|Win32 - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95}.Release|Win32.ActiveCfg = Release|Win32 - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95}.Release|Win32.Build.0 = Release|Win32 - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95}.Template|Win32.ActiveCfg = Release|Win32 - {1A3D8A75-CE90-EABF-DD93-0286A2E11C95}.Template|Win32.Build.0 = Release|Win32 - {A56537F7-964A-457E-B2B2-A5C89ED935F9}.Debug|Win32.ActiveCfg = Debug|Win32 - {A56537F7-964A-457E-B2B2-A5C89ED935F9}.Debug|Win32.Build.0 = Debug|Win32 - {A56537F7-964A-457E-B2B2-A5C89ED935F9}.Release|Win32.ActiveCfg = Release|Win32 - {A56537F7-964A-457E-B2B2-A5C89ED935F9}.Release|Win32.Build.0 = Release|Win32 - {A56537F7-964A-457E-B2B2-A5C89ED935F9}.Template|Win32.ActiveCfg = Release|Win32 - {A56537F7-964A-457E-B2B2-A5C89ED935F9}.Template|Win32.Build.0 = Release|Win32 + {6EAC5BDC-4743-4907-ABCF-23C33E6B8876}.Debug|Win32.ActiveCfg = Debug|Win32 + {6EAC5BDC-4743-4907-ABCF-23C33E6B8876}.Release|Win32.ActiveCfg = Release|Win32 + {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Debug|Win32.ActiveCfg = Debug|Win32 + {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Debug|Win32.Build.0 = Debug|Win32 + {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Release|Win32.ActiveCfg = Release|Win32 + {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Release|Win32.Build.0 = Release|Win32 + {0C6D5061-75A3-4206-B47D-479B41C62D16}.Debug|Win32.ActiveCfg = Debug|Win32 + {0C6D5061-75A3-4206-B47D-479B41C62D16}.Debug|Win32.Build.0 = Debug|Win32 + {0C6D5061-75A3-4206-B47D-479B41C62D16}.Release|Win32.ActiveCfg = Release|Win32 + {0C6D5061-75A3-4206-B47D-479B41C62D16}.Release|Win32.Build.0 = Release|Win32 + {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Debug|Win32.ActiveCfg = Debug|Win32 + {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Debug|Win32.Build.0 = Debug|Win32 + {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Release|Win32.ActiveCfg = Release|Win32 + {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Release|Win32.Build.0 = Release|Win32 + {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Debug|Win32.ActiveCfg = Debug|Win32 + {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Debug|Win32.Build.0 = Debug|Win32 + {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Release|Win32.ActiveCfg = Release|Win32 + {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Release|Win32.Build.0 = Release|Win32 + {3B454357-27C4-43D4-BCD2-545AA1108707}.Debug|Win32.ActiveCfg = Debug|Win32 + {3B454357-27C4-43D4-BCD2-545AA1108707}.Release|Win32.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PCMan.sln.old b/PCMan.sln.old deleted file mode 100644 index 7bb9712..0000000 --- a/PCMan.sln.old +++ /dev/null @@ -1,51 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Base64Test", "Base64Test\Base64Test.vcproj", "{6EAC5BDC-4743-4907-ABCF-23C33E6B8876}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildMenuCombo", "Combo\BuildMenuCombo.vcproj", "{3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildMenuLite", "Lite\BuildMenuLite.vcproj", "{0C6D5061-75A3-4206-B47D-479B41C62D16}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Combo", "Combo\Combo.vcproj", "{5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}" - ProjectSection(ProjectDependencies) = postProject - {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E} = {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lite", "Lite\Lite.vcproj", "{AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}" - ProjectSection(ProjectDependencies) = postProject - {0C6D5061-75A3-4206-B47D-479B41C62D16} = {0C6D5061-75A3-4206-B47D-479B41C62D16} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UAOTabGen", "UAOTabGen\UAOTabGen.vcproj", "{3B454357-27C4-43D4-BCD2-545AA1108707}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {6EAC5BDC-4743-4907-ABCF-23C33E6B8876}.Debug|Win32.ActiveCfg = Debug|Win32 - {6EAC5BDC-4743-4907-ABCF-23C33E6B8876}.Release|Win32.ActiveCfg = Release|Win32 - {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Debug|Win32.ActiveCfg = Debug|Win32 - {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Debug|Win32.Build.0 = Debug|Win32 - {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Release|Win32.ActiveCfg = Release|Win32 - {3DCAF1A3-EC8C-4E69-BD1E-458AFBA2BE8E}.Release|Win32.Build.0 = Release|Win32 - {0C6D5061-75A3-4206-B47D-479B41C62D16}.Debug|Win32.ActiveCfg = Debug|Win32 - {0C6D5061-75A3-4206-B47D-479B41C62D16}.Debug|Win32.Build.0 = Debug|Win32 - {0C6D5061-75A3-4206-B47D-479B41C62D16}.Release|Win32.ActiveCfg = Release|Win32 - {0C6D5061-75A3-4206-B47D-479B41C62D16}.Release|Win32.Build.0 = Release|Win32 - {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Debug|Win32.ActiveCfg = Debug|Win32 - {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Debug|Win32.Build.0 = Debug|Win32 - {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Release|Win32.ActiveCfg = Release|Win32 - {5AD86F36-2953-41FE-BD95-0E8DD0A4AF1D}.Release|Win32.Build.0 = Release|Win32 - {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Debug|Win32.ActiveCfg = Debug|Win32 - {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Debug|Win32.Build.0 = Debug|Win32 - {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Release|Win32.ActiveCfg = Release|Win32 - {AC6C940E-CBB8-4FD8-AEF9-756EA50AF5C6}.Release|Win32.Build.0 = Release|Win32 - {3B454357-27C4-43D4-BCD2-545AA1108707}.Debug|Win32.ActiveCfg = Debug|Win32 - {3B454357-27C4-43D4-BCD2-545AA1108707}.Release|Win32.ActiveCfg = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/PCMan.suo b/PCMan.suo deleted file mode 100644 index 726b024..0000000 Binary files a/PCMan.suo and /dev/null differ