최초 등록

This commit is contained in:
jhlee
2020-03-09 12:00:48 +09:00
commit f469522355
469 changed files with 1245950 additions and 0 deletions

Binary file not shown.

BIN
.vs/InterParkMacro/v14/.suo Normal file

Binary file not shown.

BIN
.vs/InterParkMacro/v15/.suo Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.vs/InterParkMacro/v16/.suo Normal file

Binary file not shown.

Binary file not shown.

28
InterParkMacro.sln Normal file
View File

@@ -0,0 +1,28 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterParkMacro", "InterParkMacro\InterParkMacro.csproj", "{B6C34F50-42C3-49D8-A34E-277CAF07301A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Debug|x86.ActiveCfg = Debug|x86
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Debug|x86.Build.0 = Debug|x86
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Release|Any CPU.Build.0 = Release|Any CPU
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Release|x86.ActiveCfg = Release|x86
{B6C34F50-42C3-49D8-A34E-277CAF07301A}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

Binary file not shown.

View File

@@ -0,0 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.props" Condition="Exists('..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.props')" />
<Import Project="..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B6C34F50-42C3-49D8-A34E-277CAF07301A}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>InterParkMacro</RootNamespace>
<AssemblyName>InterParkMacro</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Patagames.Ocr, Version=1.9.2.341, Culture=neutral, PublicKeyToken=c2dc709ce62c6191, processorArchitecture=MSIL">
<HintPath>..\packages\Tesseract.Net.SDK.1.9.2\lib\net45\Patagames.Ocr.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<None Include="tessdata\configs\config.cfg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.bigrams">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.fold">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.lm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.nn">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.params">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.size">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.cube.word-freq">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.tesseract_cube.nn">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\eng.traineddata">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\pdf.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="tessdata\pdf.ttx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Content Include="Patagames.Ocr.dll" />
<Content Include="SaveFile\BookingInfo.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SaveFile\Seat.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SaveFile\SeatURL.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="x64\tesseract.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="x86\tesseract.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\cef.redist.x64.3.2987.1601\build\cef.redist.x64.targets" Condition="Exists('..\packages\cef.redist.x64.3.2987.1601\build\cef.redist.x64.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\cef.redist.x64.3.2987.1601\build\cef.redist.x64.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.3.2987.1601\build\cef.redist.x64.targets'))" />
<Error Condition="!Exists('..\packages\cef.redist.x86.3.2987.1601\build\cef.redist.x86.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.3.2987.1601\build\cef.redist.x86.targets'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.targets'))" />
<Error Condition="!Exists('..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.targets'))" />
</Target>
<Import Project="..\packages\cef.redist.x86.3.2987.1601\build\cef.redist.x86.targets" Condition="Exists('..\packages\cef.redist.x86.3.2987.1601\build\cef.redist.x86.targets')" />
<Import Project="..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.57.0.0\build\CefSharp.Common.targets')" />
<Import Project="..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.targets" Condition="Exists('..\packages\CefSharp.WinForms.57.0.0\build\CefSharp.WinForms.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

589
InterParkMacro/MainForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,589 @@
namespace InterParkMacro
{
partial class MainForm
{
/// <summary>
/// 필수 디자이너 변수입니다.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 사용 중인 모든 리소스를 정리합니다.
/// </summary>
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form 디자이너에서 생성한 코드
/// <summary>
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage_Login = new System.Windows.Forms.TabPage();
this.panel_Login = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.textBox_LoginURL = new System.Windows.Forms.TextBox();
this.button_login = new System.Windows.Forms.Button();
this.tabPage_Place = new System.Windows.Forms.TabPage();
this.panel_Seat = new System.Windows.Forms.Panel();
this.richTextBox_SeatInfo = new System.Windows.Forms.RichTextBox();
this.panel1 = new System.Windows.Forms.Panel();
this.label4 = new System.Windows.Forms.Label();
this.button_Clear = new System.Windows.Forms.Button();
this.button_SaveSeat = new System.Windows.Forms.Button();
this.panel9 = new System.Windows.Forms.Panel();
this.textBox_SeatURL = new System.Windows.Forms.TextBox();
this.button_Seat = new System.Windows.Forms.Button();
this.tabPage_Process = new System.Windows.Forms.TabPage();
this.panel5 = new System.Windows.Forms.Panel();
this.checkBox_standing = new System.Windows.Forms.CheckBox();
this.textBox_block = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.textBox_selectedSeat = new System.Windows.Forms.TextBox();
this.label_okSeat = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.textBox_SeatCount = new System.Windows.Forms.TextBox();
this.button_auto = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.textBox_PlaySeq = new System.Windows.Forms.TextBox();
this.textBox_day = new System.Windows.Forms.TextBox();
this.textBox_gooCode = new System.Windows.Forms.TextBox();
this.button_goodDay = new System.Windows.Forms.Button();
this.panel6 = new System.Windows.Forms.Panel();
this.textBox_BookingURL = new System.Windows.Forms.TextBox();
this.button_urlMove = new System.Windows.Forms.Button();
this.timer_auto = new System.Windows.Forms.Timer(this.components);
this.timer_test = new System.Windows.Forms.Timer(this.components);
this.panel7 = new System.Windows.Forms.Panel();
this.label_yPoint = new System.Windows.Forms.Label();
this.label_xPoint = new System.Windows.Forms.Label();
this.panel_Booking = new System.Windows.Forms.Panel();
this.tabControl1.SuspendLayout();
this.tabPage_Login.SuspendLayout();
this.panel4.SuspendLayout();
this.panel3.SuspendLayout();
this.tabPage_Place.SuspendLayout();
this.panel1.SuspendLayout();
this.panel9.SuspendLayout();
this.tabPage_Process.SuspendLayout();
this.panel5.SuspendLayout();
this.panel6.SuspendLayout();
this.panel7.SuspendLayout();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.tabControl1.Controls.Add(this.tabPage_Login);
this.tabControl1.Controls.Add(this.tabPage_Place);
this.tabControl1.Controls.Add(this.tabPage_Process);
this.tabControl1.Location = new System.Drawing.Point(32, 12);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(672, 672);
this.tabControl1.TabIndex = 1;
//
// tabPage_Login
//
this.tabPage_Login.Controls.Add(this.panel_Login);
this.tabPage_Login.Controls.Add(this.panel4);
this.tabPage_Login.Controls.Add(this.panel3);
this.tabPage_Login.Location = new System.Drawing.Point(4, 22);
this.tabPage_Login.Name = "tabPage_Login";
this.tabPage_Login.Padding = new System.Windows.Forms.Padding(3);
this.tabPage_Login.Size = new System.Drawing.Size(664, 646);
this.tabPage_Login.TabIndex = 0;
this.tabPage_Login.Text = "로그인";
this.tabPage_Login.UseVisualStyleBackColor = true;
//
// panel_Login
//
this.panel_Login.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel_Login.Location = new System.Drawing.Point(3, 61);
this.panel_Login.Name = "panel_Login";
this.panel_Login.Size = new System.Drawing.Size(658, 582);
this.panel_Login.TabIndex = 3;
//
// panel4
//
this.panel4.Controls.Add(this.label_yPoint);
this.panel4.Controls.Add(this.label_xPoint);
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
this.panel4.Location = new System.Drawing.Point(3, 32);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(658, 29);
this.panel4.TabIndex = 2;
//
// panel3
//
this.panel3.Controls.Add(this.textBox_LoginURL);
this.panel3.Controls.Add(this.button_login);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(3, 3);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(658, 29);
this.panel3.TabIndex = 1;
//
// textBox_LoginURL
//
this.textBox_LoginURL.Location = new System.Drawing.Point(3, 3);
this.textBox_LoginURL.Name = "textBox_LoginURL";
this.textBox_LoginURL.Size = new System.Drawing.Size(570, 21);
this.textBox_LoginURL.TabIndex = 5;
//
// button_login
//
this.button_login.Location = new System.Drawing.Point(579, 2);
this.button_login.Name = "button_login";
this.button_login.Size = new System.Drawing.Size(75, 23);
this.button_login.TabIndex = 4;
this.button_login.Text = "이동";
this.button_login.UseVisualStyleBackColor = true;
this.button_login.Click += new System.EventHandler(this.button_login_Click);
//
// tabPage_Place
//
this.tabPage_Place.Controls.Add(this.panel_Seat);
this.tabPage_Place.Controls.Add(this.richTextBox_SeatInfo);
this.tabPage_Place.Controls.Add(this.panel1);
this.tabPage_Place.Controls.Add(this.panel9);
this.tabPage_Place.Location = new System.Drawing.Point(4, 22);
this.tabPage_Place.Name = "tabPage_Place";
this.tabPage_Place.Padding = new System.Windows.Forms.Padding(3);
this.tabPage_Place.Size = new System.Drawing.Size(664, 646);
this.tabPage_Place.TabIndex = 2;
this.tabPage_Place.Text = "좌석";
this.tabPage_Place.UseVisualStyleBackColor = true;
//
// panel_Seat
//
this.panel_Seat.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel_Seat.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel_Seat.Location = new System.Drawing.Point(181, 65);
this.panel_Seat.Name = "panel_Seat";
this.panel_Seat.Size = new System.Drawing.Size(480, 578);
this.panel_Seat.TabIndex = 10;
//
// richTextBox_SeatInfo
//
this.richTextBox_SeatInfo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.richTextBox_SeatInfo.Dock = System.Windows.Forms.DockStyle.Left;
this.richTextBox_SeatInfo.Location = new System.Drawing.Point(3, 65);
this.richTextBox_SeatInfo.Name = "richTextBox_SeatInfo";
this.richTextBox_SeatInfo.Size = new System.Drawing.Size(178, 578);
this.richTextBox_SeatInfo.TabIndex = 9;
this.richTextBox_SeatInfo.Text = "";
//
// panel1
//
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.button_Clear);
this.panel1.Controls.Add(this.button_SaveSeat);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(3, 32);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(658, 33);
this.panel1.TabIndex = 7;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(5, 11);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(174, 12);
this.label4.TabIndex = 6;
this.label4.Text = "좌석목록 : ex) 1층-B구역7열-7";
//
// button_Clear
//
this.button_Clear.Location = new System.Drawing.Point(266, 2);
this.button_Clear.Name = "button_Clear";
this.button_Clear.Size = new System.Drawing.Size(75, 26);
this.button_Clear.TabIndex = 4;
this.button_Clear.Text = "모두 지움";
this.button_Clear.UseVisualStyleBackColor = true;
this.button_Clear.Click += new System.EventHandler(this.button_Clear_Click);
//
// button_SaveSeat
//
this.button_SaveSeat.Location = new System.Drawing.Point(185, 2);
this.button_SaveSeat.Name = "button_SaveSeat";
this.button_SaveSeat.Size = new System.Drawing.Size(75, 26);
this.button_SaveSeat.TabIndex = 4;
this.button_SaveSeat.Text = "설정";
this.button_SaveSeat.UseVisualStyleBackColor = true;
this.button_SaveSeat.Click += new System.EventHandler(this.button_SaveSeat_Click);
//
// panel9
//
this.panel9.Controls.Add(this.textBox_SeatURL);
this.panel9.Controls.Add(this.button_Seat);
this.panel9.Dock = System.Windows.Forms.DockStyle.Top;
this.panel9.Location = new System.Drawing.Point(3, 3);
this.panel9.Name = "panel9";
this.panel9.Size = new System.Drawing.Size(658, 29);
this.panel9.TabIndex = 4;
//
// textBox_SeatURL
//
this.textBox_SeatURL.Location = new System.Drawing.Point(3, 3);
this.textBox_SeatURL.Name = "textBox_SeatURL";
this.textBox_SeatURL.Size = new System.Drawing.Size(570, 21);
this.textBox_SeatURL.TabIndex = 5;
//
// button_Seat
//
this.button_Seat.Location = new System.Drawing.Point(579, 2);
this.button_Seat.Name = "button_Seat";
this.button_Seat.Size = new System.Drawing.Size(75, 23);
this.button_Seat.TabIndex = 4;
this.button_Seat.Text = "이동";
this.button_Seat.UseVisualStyleBackColor = true;
this.button_Seat.Click += new System.EventHandler(this.button_Seat_Click);
//
// tabPage_Process
//
this.tabPage_Process.Controls.Add(this.panel_Booking);
this.tabPage_Process.Controls.Add(this.panel7);
this.tabPage_Process.Controls.Add(this.panel5);
this.tabPage_Process.Controls.Add(this.panel6);
this.tabPage_Process.Location = new System.Drawing.Point(4, 22);
this.tabPage_Process.Name = "tabPage_Process";
this.tabPage_Process.Padding = new System.Windows.Forms.Padding(3);
this.tabPage_Process.Size = new System.Drawing.Size(664, 646);
this.tabPage_Process.TabIndex = 1;
this.tabPage_Process.Text = "예매";
this.tabPage_Process.UseVisualStyleBackColor = true;
//
// panel5
//
this.panel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel5.Controls.Add(this.button_auto);
this.panel5.Controls.Add(this.label3);
this.panel5.Controls.Add(this.label2);
this.panel5.Controls.Add(this.label1);
this.panel5.Controls.Add(this.textBox_PlaySeq);
this.panel5.Controls.Add(this.textBox_day);
this.panel5.Controls.Add(this.textBox_gooCode);
this.panel5.Controls.Add(this.button_goodDay);
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(3, 32);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(658, 40);
this.panel5.TabIndex = 5;
//
// checkBox_standing
//
this.checkBox_standing.AutoSize = true;
this.checkBox_standing.Location = new System.Drawing.Point(210, 12);
this.checkBox_standing.Name = "checkBox_standing";
this.checkBox_standing.Size = new System.Drawing.Size(60, 16);
this.checkBox_standing.TabIndex = 15;
this.checkBox_standing.Text = "스탠딩";
this.checkBox_standing.UseVisualStyleBackColor = true;
//
// textBox_block
//
this.textBox_block.Location = new System.Drawing.Point(312, 9);
this.textBox_block.Name = "textBox_block";
this.textBox_block.Size = new System.Drawing.Size(61, 21);
this.textBox_block.TabIndex = 16;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(276, 13);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(41, 12);
this.label7.TabIndex = 12;
this.label7.Text = "구역 : ";
//
// textBox_selectedSeat
//
this.textBox_selectedSeat.Location = new System.Drawing.Point(493, 3);
this.textBox_selectedSeat.Multiline = true;
this.textBox_selectedSeat.Name = "textBox_selectedSeat";
this.textBox_selectedSeat.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox_selectedSeat.Size = new System.Drawing.Size(148, 36);
this.textBox_selectedSeat.TabIndex = 13;
//
// label_okSeat
//
this.label_okSeat.AutoSize = true;
this.label_okSeat.Location = new System.Drawing.Point(418, 12);
this.label_okSeat.Name = "label_okSeat";
this.label_okSeat.Size = new System.Drawing.Size(69, 12);
this.label_okSeat.TabIndex = 12;
this.label_okSeat.Text = "선택 좌석 : ";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(163, 14);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(17, 12);
this.label6.TabIndex = 10;
this.label6.Text = "매";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(14, 13);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(89, 12);
this.label5.TabIndex = 9;
this.label5.Text = "구매좌석 갯수 :";
//
// textBox_SeatCount
//
this.textBox_SeatCount.Location = new System.Drawing.Point(105, 9);
this.textBox_SeatCount.Name = "textBox_SeatCount";
this.textBox_SeatCount.Size = new System.Drawing.Size(48, 21);
this.textBox_SeatCount.TabIndex = 8;
this.textBox_SeatCount.Text = "1";
//
// button_auto
//
this.button_auto.Location = new System.Drawing.Point(546, 5);
this.button_auto.Name = "button_auto";
this.button_auto.Size = new System.Drawing.Size(107, 24);
this.button_auto.TabIndex = 7;
this.button_auto.Text = "자동실행";
this.button_auto.UseVisualStyleBackColor = true;
this.button_auto.Click += new System.EventHandler(this.button_auto_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(320, 10);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 6;
this.label3.Text = "공연회차";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(167, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 6;
this.label2.Text = "공연일";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 6;
this.label1.Text = "상품코드";
//
// textBox_PlaySeq
//
this.textBox_PlaySeq.Location = new System.Drawing.Point(374, 6);
this.textBox_PlaySeq.Name = "textBox_PlaySeq";
this.textBox_PlaySeq.Size = new System.Drawing.Size(40, 21);
this.textBox_PlaySeq.TabIndex = 5;
//
// textBox_day
//
this.textBox_day.Location = new System.Drawing.Point(210, 6);
this.textBox_day.Name = "textBox_day";
this.textBox_day.Size = new System.Drawing.Size(100, 21);
this.textBox_day.TabIndex = 5;
//
// textBox_gooCode
//
this.textBox_gooCode.Location = new System.Drawing.Point(63, 5);
this.textBox_gooCode.Name = "textBox_gooCode";
this.textBox_gooCode.Size = new System.Drawing.Size(96, 21);
this.textBox_gooCode.TabIndex = 5;
//
// button_goodDay
//
this.button_goodDay.Location = new System.Drawing.Point(420, 5);
this.button_goodDay.Name = "button_goodDay";
this.button_goodDay.Size = new System.Drawing.Size(75, 23);
this.button_goodDay.TabIndex = 4;
this.button_goodDay.Text = "설정";
this.button_goodDay.UseVisualStyleBackColor = true;
this.button_goodDay.Click += new System.EventHandler(this.button1_Click);
//
// panel6
//
this.panel6.Controls.Add(this.textBox_BookingURL);
this.panel6.Controls.Add(this.button_urlMove);
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(3, 3);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(658, 29);
this.panel6.TabIndex = 4;
//
// textBox_BookingURL
//
this.textBox_BookingURL.Location = new System.Drawing.Point(3, 3);
this.textBox_BookingURL.Name = "textBox_BookingURL";
this.textBox_BookingURL.Size = new System.Drawing.Size(570, 21);
this.textBox_BookingURL.TabIndex = 5;
//
// button_urlMove
//
this.button_urlMove.Location = new System.Drawing.Point(579, 2);
this.button_urlMove.Name = "button_urlMove";
this.button_urlMove.Size = new System.Drawing.Size(75, 23);
this.button_urlMove.TabIndex = 4;
this.button_urlMove.Text = "이동";
this.button_urlMove.UseVisualStyleBackColor = true;
this.button_urlMove.Click += new System.EventHandler(this.button_urlMove_Click);
//
// timer_auto
//
this.timer_auto.Interval = 500;
this.timer_auto.Tick += new System.EventHandler(this.timer_auto_Tick);
//
// timer_test
//
this.timer_test.Tick += new System.EventHandler(this.timer_test_Tick);
//
// panel7
//
this.panel7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel7.Controls.Add(this.checkBox_standing);
this.panel7.Controls.Add(this.textBox_block);
this.panel7.Controls.Add(this.label5);
this.panel7.Controls.Add(this.label7);
this.panel7.Controls.Add(this.textBox_selectedSeat);
this.panel7.Controls.Add(this.textBox_SeatCount);
this.panel7.Controls.Add(this.label_okSeat);
this.panel7.Controls.Add(this.label6);
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
this.panel7.Location = new System.Drawing.Point(3, 72);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(658, 46);
this.panel7.TabIndex = 9;
//
// label_yPoint
//
this.label_yPoint.AutoSize = true;
this.label_yPoint.Location = new System.Drawing.Point(604, 8);
this.label_yPoint.Name = "label_yPoint";
this.label_yPoint.Size = new System.Drawing.Size(38, 12);
this.label_yPoint.TabIndex = 12;
this.label_yPoint.Text = "label7";
this.label_yPoint.Visible = false;
//
// label_xPoint
//
this.label_xPoint.AutoSize = true;
this.label_xPoint.Location = new System.Drawing.Point(560, 8);
this.label_xPoint.Name = "label_xPoint";
this.label_xPoint.Size = new System.Drawing.Size(38, 12);
this.label_xPoint.TabIndex = 13;
this.label_xPoint.Text = "label7";
this.label_xPoint.Visible = false;
//
// panel_Booking
//
this.panel_Booking.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel_Booking.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel_Booking.Location = new System.Drawing.Point(3, 118);
this.panel_Booking.Name = "panel_Booking";
this.panel_Booking.Size = new System.Drawing.Size(658, 525);
this.panel_Booking.TabIndex = 10;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(733, 685);
this.Controls.Add(this.tabControl1);
this.Name = "MainForm";
this.Text = "인터파크 예매";
this.tabControl1.ResumeLayout(false);
this.tabPage_Login.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel4.PerformLayout();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.tabPage_Place.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel9.ResumeLayout(false);
this.panel9.PerformLayout();
this.tabPage_Process.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
this.panel7.ResumeLayout(false);
this.panel7.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage_Login;
private System.Windows.Forms.TabPage tabPage_Process;
private System.Windows.Forms.TextBox textBox_LoginURL;
private System.Windows.Forms.Button button_login;
private System.Windows.Forms.Panel panel_Login;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.Button button_goodDay;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.TextBox textBox_BookingURL;
private System.Windows.Forms.Button button_urlMove;
private System.Windows.Forms.TabPage tabPage_Place;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel9;
private System.Windows.Forms.TextBox textBox_SeatURL;
private System.Windows.Forms.Button button_Seat;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox_day;
private System.Windows.Forms.TextBox textBox_gooCode;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBox_PlaySeq;
private System.Windows.Forms.Button button_auto;
private System.Windows.Forms.Timer timer_auto;
private System.Windows.Forms.Button button_Clear;
private System.Windows.Forms.Button button_SaveSeat;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Panel panel_Seat;
private System.Windows.Forms.RichTextBox richTextBox_SeatInfo;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox textBox_SeatCount;
private System.Windows.Forms.Timer timer_test;
private System.Windows.Forms.Label label_okSeat;
private System.Windows.Forms.CheckBox checkBox_standing;
private System.Windows.Forms.TextBox textBox_selectedSeat;
private System.Windows.Forms.TextBox textBox_block;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label_yPoint;
private System.Windows.Forms.Label label_xPoint;
private System.Windows.Forms.Panel panel_Booking;
private System.Windows.Forms.Panel panel7;
}
}

445
InterParkMacro/MainForm.cs Normal file
View File

@@ -0,0 +1,445 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
using System.IO;
using Patagames.Ocr;
using Patagames.Ocr.Enums;
using System.Drawing.Imaging;
using System.Threading;
using System.Runtime.InteropServices;
namespace InterParkMacro
{
public partial class MainForm : Form
{
public ChromiumWebBrowser chromeBrowse_login;
public ChromiumWebBrowser chromeBrowse_Interpark;
public ChromiumWebBrowser chromeBrowse_Seat;
// 저장 파일 위치
private const string SeatURL_Path= @".\SaveFile\SeatURL.txt";
private const string BookingInfo_Path = @".\SaveFile\BookingInfo.txt";
private const string Seat_Path = @".\SaveFile\Seat.txt";
string[] seatList = null;
List<string> okSeatList = new List<string>();
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_MOVE = 0x0001;
public MainForm()
{
InitializeComponent();
initForm();
}
private void initForm()
{
// 크롬 생성하기
CefSettings settings = new CefSettings();
Cef.Initialize(settings);
chromeBrowse_login = new ChromiumWebBrowser("https://m.interpark.com/auth/login.html")
{
Dock = DockStyle.Fill
};
chromeBrowse_Interpark = new ChromiumWebBrowser()
{
Dock = DockStyle.Fill,
};
chromeBrowse_Seat = new ChromiumWebBrowser()
{
Dock = DockStyle.Fill
};
// 이벤트 등록
chromeBrowse_Interpark.FrameLoadEnd += new EventHandler<FrameLoadEndEventArgs>(BrowserFrameLoadEnd);
panel_Login.Controls.Add(chromeBrowse_login);
panel_Booking.Controls.Add(chromeBrowse_Interpark);
panel_Seat.Controls.Add(chromeBrowse_Seat);
// 초기 URL 설정
textBox_LoginURL.Text = "https://m.interpark.com/auth/login.html";
StreamReader sr = new StreamReader(SeatURL_Path);
textBox_SeatURL.Text = sr.ReadLine();
sr.Close();
sr = new StreamReader(Seat_Path);
richTextBox_SeatInfo.Text = sr.ReadToEnd();
sr.Close();
sr = new StreamReader(BookingInfo_Path);
textBox_gooCode.Text = sr.ReadLine();
textBox_day.Text = sr.ReadLine();
textBox_PlaySeq.Text = sr.ReadLine();
sr.Close();
textBox_BookingURL.Text = string.Format("https://moticket.interpark.com/OneStop/Session?GoodsCode={0}&PlayDate={1}",
textBox_gooCode.Text,textBox_day.Text);
//timer_test.Interval = 100;
//timer_test.Start();
}
public void getSeatList()
{
seatList = richTextBox_SeatInfo.Text.Split('\n');
}
private void button_login_Click(object sender, EventArgs e)
{
panel_Booking.Focus();
chromeBrowse_login.Load(textBox_LoginURL.Text);
}
private void button_urlMove_Click(object sender, EventArgs e)
{
getSeatList();
chromeBrowse_Interpark.Load(textBox_BookingURL.Text);
//chromeBrowse_Interpark = new ChromiumWebBrowser(textBox_BookingURL.Text);
panel_Booking.Focus();
}
private void button_Seat_Click(object sender, EventArgs e)
{
chromeBrowse_Seat.Load(textBox_SeatURL.Text);
// URL 저장
StreamWriter sr = new StreamWriter(SeatURL_Path, false);
sr.WriteLine(textBox_SeatURL.Text);
sr.Close();
}
private void button1_Click(object sender, EventArgs e)
{
StreamWriter sr = new StreamWriter(BookingInfo_Path, false);
sr.WriteLine(textBox_gooCode.Text);
sr.WriteLine(textBox_day.Text);
sr.WriteLine(textBox_PlaySeq.Text);
sr.Close();
textBox_BookingURL.Text = string.Format("https://moticket.interpark.com/OneStop/Session?GoodsCode={0}&PlayDate={1}",
textBox_gooCode.Text, textBox_day.Text);
}
public async void BrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
ChromiumWebBrowser browser = sender as ChromiumWebBrowser;
IFrame frame = null;
var identifiers = browser.GetBrowser().GetFrameIdentifiers();
string sendMsg = null;
string playdate = textBox_day.Text;
string playdateSource = string.Format("playdate=\"{0}", textBox_day.Text);
if(e.Frame.IsMain)
{
frame = e.Frame;
var html = await frame.GetSourceAsync();
// 날짜 선택
if(html.Contains(playdateSource))
{
string source = string.Format("jQuery('a[playDate=\"{0}\"]').click();", playdate);
browser.ExecuteScriptAsync(source);
}
}
IFrame arFrame = null;
foreach (var i in identifiers)
{
frame = browser.GetBrowser().GetFrame(i);
if (frame != null)
{
var html = await frame.GetSourceAsync();
bool isStanding = checkBox_standing.Checked;
// 스탠딩 구역 선택
if (isStanding)
{
if (html.Contains("GetBlockSeatList('"))
{
string block = null;
block = textBox_block.Text.Trim();
string source = string.Format("javascript:GetBlockSeatList('', '', '{0}')", block);
if (html.Contains(source))
{
frame.ExecuteJavaScriptAsync(source);
}
}
}
// 좌석 선택 페이지로 이동
if (html.Contains("javascript:goSeat('"))
{
this.Invoke(new MethodInvoker(
delegate ()
{
timer_auto.Stop();
button_auto.Text = "자동실행";
}));
string subStr = html;
for (int j = 0; j < Convert.ToInt32(textBox_PlaySeq.Text); j++)
{
subStr = subStr.Remove(0, 10);
int idx = subStr.IndexOf("javascript:goSeat(");
if (idx < 0)
{
MessageBox.Show("회차를 잘못 설정했습니다.");
return;
}
subStr = subStr.Remove(0, idx);
}
int dix = subStr.IndexOf(";");
subStr = subStr.Remove(dix);
//subStr = string.Format("jQuery('a[playDate='{0}']').click();{1}", playdate, subStr);
browser.ExecuteScriptAsync(subStr);
}
// 안심예매
if (html != null && html.Contains("id=\"txtCaptcha\""))
{
arFrame = frame;
}
// 결제 페이지 선택한 좌석 알람
/*
if (html != null && html.Contains("<input type=\"hidden\" id=\"TOPING_Err_MSG\""))
{
browser.ExecuteScriptAsync("alert(oSeatInfo.Floor+oSeatInfo.RowNo+oSeatInfo.SeatNo);");
}*/
// 좌석 선택
if (html != null && (html.Contains("SelectSeat('") || html.Contains("SelectSeat(this")))
{
int limitCount = Convert.ToInt32(textBox_SeatCount.Text);
int cnt = 0;
string selectSeat = null;
// 스탠딩일 경우
if (isStanding)
{
frame.ExecuteJavaScriptAsync(
"var selectedSeat = new Array(); var seatList = document.getElementsByClassName('SeatN');var limitCount = "+ limitCount +"; for(var i=0; i<seatList.length; i++) { if(selectedSeat.length != limitCount) selectedSeat.push(seatList[i]);else{for(var j=0; j<limitCount; j++){var a = seatList[i].title.split('-'); var b = selectedSeat[j].title.split('-'); if(parseInt(a[a.length-1]) < parseInt(b[b.length-1])){selectedSeat[j].push(seatList[i]); break;}}}} for(var k=0; k<selectedSeat.length; k++) selectedSeat[k].click();");
if (selectSeat == null)
selectSeat = sendMsg;
else
selectSeat += string.Format(",\n{0}", sendMsg);
cnt++;
}
else
{
foreach (string search in seatList)
{
string searchStr = search + '"';
if (search != "" && html.Contains(searchStr))
{
int idx = html.IndexOf(search);
string subStr = html.Remove(0, idx - 1);
int endidx = subStr.IndexOf("javascript");
subStr = subStr.Remove(0, endidx);
idx = subStr.IndexOf(')');
subStr = subStr.Remove(idx + 1);
idx = subStr.IndexOf("SID");
subStr = subStr.Remove(0, idx);
endidx = subStr.IndexOf(',');
subStr = subStr.Remove(endidx);
subStr = subStr.Replace("'", "");
sendMsg += string.Format("$('iframe[id=SeatDetailView]').contents().find('#{0}').click();", subStr);
cnt++;
if (selectSeat == null)
selectSeat = search;
else
selectSeat += string.Format("\n{0}", search);
if (limitCount == cnt)
break;
}
}
}
if (cnt > 0)
{
sendMsg += "Seat.NextStep();";
browser.ExecuteScriptAsync(sendMsg);
if(selectSeat != null)
{
this.Invoke(new MethodInvoker(
delegate ()
{
textBox_selectedSeat.Text = selectSeat;
}));
}
}
}
}
}
if (arFrame != null)
{
this.Invoke(new MethodInvoker(
delegate ()
{
Point p = new Point(270, 520);
Point screenXY = PointToScreen(p);
Cursor.Position = screenXY;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,
(uint)0, (uint)0, 0, 0);
}));
string smg = "$('iframe[id=SeatDetailView]').contents().find('#txtCaptcha').focus();";
arFrame.ExecuteJavaScriptAsync(smg);
}
// 안심예매
/*
if (arFrame != null)
{
var api = OcrApi.Create();
arFrame.ExecuteJavaScriptAsync(smg);
api.Init(Languages.English);
// 이미지 캡쳐
Size size = new Size(340, 195);
Bitmap bitmap = new Bitmap(size.Width, size.Height);
Graphics g = Graphics.FromImage(bitmap);
//client 좌표
this.Invoke(new MethodInvoker(
delegate ()
{
Point clientPoint_s = PointToScreen(new Point(162, 287));
g.CopyFromScreen(clientPoint_s.X, clientPoint_s.Y,0,0,size);
}));
bitmap.Save(@".\test.png", ImageFormat.Png);
string text = api.GetTextFromImage(bitmap);
g.Dispose();
bitmap.Dispose();
}*/
}
private void button_auto_Click(object sender, EventArgs e)
{
getSeatList();
changeAuto();
panel_Booking.Focus();
}
private void changeAuto()
{
if (button_auto.Text.Contains("자동실행"))
{
timer_auto.Start();
button_auto.Text = "중지";
}
else
{
timer_auto.Stop();
button_auto.Text = "자동실행";
}
}
private void timer_auto_Tick(object sender, EventArgs e)
{
chromeBrowse_Interpark.Load(textBox_BookingURL.Text);
}
private void button_SaveSeat_Click(object sender, EventArgs e)
{
StreamWriter sr = new StreamWriter(Seat_Path, false);
sr.WriteLine(richTextBox_SeatInfo.Text);
sr.Close();
}
private void button_Clear_Click(object sender, EventArgs e)
{
richTextBox_SeatInfo.Text = "";
}
private void timer_test_Tick(object sender, EventArgs e)
{
Point client = this.PointToClient(Cursor.Position);
label_xPoint.Text = client.X.ToString();
label_yPoint.Text = client.Y.ToString();
//label_xPoint.Text = Cursor.Position.X.ToString();
//label_yPoint.Text = Cursor.Position.Y.ToString();
Point p = new Point(250, 507);
Point screenXY = PointToScreen(p);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,
(uint)screenXY.X, (uint)screenXY.Y, 0, 0);
//250, 507
}
private void button1_Click_1(object sender, EventArgs e)
{
using (var api = OcrApi.Create())
{
api.Init(Languages.Korean);
string plainText = api.GetTextFromImage(@".\sampe.png");
}
}
private void button1_Click_2(object sender, EventArgs e)
{
Point p = new Point(250, 507);
Point screenXY = PointToScreen(p);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,
(uint)screenXY.X, (uint)screenXY.Y, 0, 0);
}
}
}

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer_auto.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="timer_test.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>128, 17</value>
</metadata>
</root>

Binary file not shown.

22
InterParkMacro/Program.cs Normal file
View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace InterParkMacro
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("InterParkMacro")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("InterParkMacro")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("b6c34f50-42c3-49d8-a34e-277caf07301a")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
//
// 주 버전
// 부 버전
// 빌드 번호
// 수정 버전
//
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
// 지정되도록 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다.
// 런타임 버전:4.0.30319.42000
//
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
// 이러한 변경 내용이 손실됩니다.
// </auto-generated>
//------------------------------------------------------------------------------
namespace InterParkMacro.Properties
{
/// <summary>
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
/// </summary>
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
// 클래스에서 자동으로 생성되었습니다.
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
// ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("InterParkMacro.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해
/// 현재 스레드의 CurrentUICulture 속성을 재정의합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace InterParkMacro.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

View File

View File

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

Binary file not shown.

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,696 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>CefSharp.WinForms</name>
</assembly>
<members>
<member name="T:CefSharp.WinForms.Internals.DefaultFocusHandler">
<summary>
Default implementation of <see cref="T:CefSharp.IFocusHandler"/>
for the WinForms implementation
</summary>
<seealso cref="T:CefSharp.IFocusHandler"/>
</member>
<member name="F:CefSharp.WinForms.Internals.DefaultFocusHandler.browser">
<summary>
The browser
</summary>
</member>
<member name="M:CefSharp.WinForms.Internals.DefaultFocusHandler.#ctor(CefSharp.WinForms.ChromiumWebBrowser)">
<summary>
Initializes a new instance of the <see cref="T:CefSharp.WinForms.Internals.DefaultFocusHandler"/> class.
</summary>
<param name="browser">The browser.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.DefaultFocusHandler.OnGotFocus">
<summary>
Called when the browser component has received focus.
</summary>
<remarks>Try to avoid needing to override this logic in a subclass. The implementation in
DefaultFocusHandler relies on very detailed behavior of how WinForms and
Windows interact during window activation.</remarks>
</member>
<member name="M:CefSharp.WinForms.Internals.DefaultFocusHandler.OnSetFocus(CefSharp.CefFocusSource)">
<summary>
Called when the browser component is requesting focus.
</summary>
<param name="source">Indicates where the focus request is originating from.</param>
<returns>Return false to allow the focus to be set or true to cancel setting the focus.</returns>
</member>
<member name="M:CefSharp.WinForms.Internals.DefaultFocusHandler.OnTakeFocus(System.Boolean)">
<summary>
Called when the browser component is about to lose focus.
For instance, if focus was on the last HTML element and the user pressed the TAB key.
</summary>
<param name="next">Will be true if the browser is giving focus to the next component
and false if the browser is giving focus to the previous component.</param>
</member>
<member name="T:CefSharp.WinForms.Internals.ControlExtensions">
<summary>
ControlExtensions.
</summary>
</member>
<member name="M:CefSharp.WinForms.Internals.ControlExtensions.InvokeOnUiThreadIfRequired(System.Windows.Forms.Control,System.Action)">
<summary>
Executes the Action asynchronously on the UI thread, does not block execution on the calling thread.
</summary>
<param name="control">the control for which the update is required</param>
<param name="action">action to be performed on the control</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ControlExtensions.Activate(System.Windows.Forms.Control)">
<summary>
Activates the specified control.
</summary>
<param name="control">The control.</param>
<returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
</member>
<member name="M:CefSharp.WinForms.Internals.ControlExtensions.IsActiveControl(System.Windows.Forms.Control)">
<summary>
Returns whether the supplied control is the currently
active control.
</summary>
<param name="control">the control to check</param>
<returns>true if the control is the currently active control</returns>
</member>
<member name="M:CefSharp.WinForms.Internals.ControlExtensions.SelectNextControl(System.Windows.Forms.Control,System.Boolean)">
<summary>
Selects the next control.
</summary>
<param name="control">The control.</param>
<param name="next">if set to <c>true</c> [next].</param>
</member>
<member name="T:CefSharp.WinForms.Internals.ParentFormMessageInterceptor">
<summary>
ParentFormMessageInterceptor - hooks into the parent forms
message loop to incercept messages like WM_MOVE
</summary>
<seealso cref="T:System.Windows.Forms.NativeWindow"/>
<seealso cref="T:System.IDisposable"/>
</member>
<member name="F:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.isMoving">
<summary>
Keep track of whether a move is in progress.
</summary>
</member>
<member name="F:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.movingRectangle">
<summary>
Used to determine the coordinates involved in the move
</summary>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.#ctor(CefSharp.WinForms.ChromiumWebBrowser)">
<summary>
Initializes a new instance of the <see cref="T:CefSharp.WinForms.Internals.ParentFormMessageInterceptor"/> class.
</summary>
<param name="browser">The browser.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.RefindParentForm">
<summary>
Call to force refinding of the parent Form.
(i.e. top level window that owns the ChromiumWebBrowserControl)
</summary>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.ParentParentChanged(System.Object,System.EventArgs)">
<summary>
Adjust the form to listen to if the ChromiumWebBrowserControl's parent changes.
</summary>
<param name="sender">The ChromiumWebBrowser whose parent has changed.</param>
<param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.OnHandleCreated(System.Object,System.EventArgs)">
<summary>
Handles the <see cref="E:HandleCreated"/> event.
</summary>
<param name="sender">The sender.</param>
<param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.OnHandleDestroyed(System.Object,System.EventArgs)">
<summary>
Handles the <see cref="E:HandleDestroyed"/> event.
</summary>
<param name="sender">The sender.</param>
<param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.WndProc(System.Windows.Forms.Message@)">
<summary>
Invokes the default window procedure associated with this window.
</summary>
<param name="m">A <see cref="T:System.Windows.Forms.Message" /> that is associated with the current Windows message.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.OnMoving">
<summary>
Called when [moving].
</summary>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.Dispose(System.Boolean)">
<summary>
Releases unmanaged and - optionally - managed resources.
</summary>
<param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
</member>
<member name="M:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.OnThreadException(System.Exception)">
<summary>
When overridden in a derived class, manages an unhandled thread exception.
</summary>
<param name="e">An <see cref="T:System.Exception" /> that specifies the unhandled thread exception.</param>
</member>
<member name="P:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.Browser">
<summary>
Gets or sets the browser.
</summary>
<value>The browser.</value>
</member>
<member name="P:CefSharp.WinForms.Internals.ParentFormMessageInterceptor.ParentForm">
<summary>
Gets or sets the parent form.
</summary>
<value>The parent form.</value>
</member>
<member name="T:CefSharp.WinForms.Internals.NativeMethods">
<summary>
Class NativeMethods.
</summary>
</member>
<member name="F:CefSharp.WinForms.Internals.NativeMethods.WM_MOVE">
<summary>
The w m_ move
</summary>
</member>
<member name="F:CefSharp.WinForms.Internals.NativeMethods.WM_MOVING">
<summary>
The w m_ moving
</summary>
</member>
<member name="F:CefSharp.WinForms.Internals.NativeMethods.WM_ACTIVATE">
<summary>
The w m_ activate
</summary>
</member>
<member name="T:CefSharp.WinForms.IWinFormsWebBrowser">
<summary>
WinForms specific implementation, has events the
<see cref="T:CefSharp.WinForms.ChromiumWebBrowser"/> implementation exposes.
</summary>
<seealso cref="T:CefSharp.IWebBrowser"/>
</member>
<member name="E:CefSharp.WinForms.IWinFormsWebBrowser.TitleChanged">
<summary>
Occurs when the browser title changed.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="E:CefSharp.WinForms.IWinFormsWebBrowser.AddressChanged">
<summary>
Occurs when the browser address changed.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="T:CefSharp.WinForms.ChromiumWebBrowser">
<summary>
ChromiumWebBrowser is the WinForms web browser control
</summary>
<seealso cref="T:System.Windows.Forms.Control"/>
<seealso cref="T:CefSharp.Internals.IWebBrowserInternal"/>
<seealso cref="T:CefSharp.WinForms.IWinFormsWebBrowser"/>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.managedCefBrowserAdapter">
<summary>
The managed cef browser adapter
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.parentFormMessageInterceptor">
<summary>
The parent form message interceptor
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.browser">
<summary>
The browser
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.designMode">
<summary>
A flag that indicates whether or not the designer is active
NOTE: DesignMode becomes false by the time we get to the destructor/dispose so it gets stored here
</summary>
</member>
<member name="F:CefSharp.WinForms.ChromiumWebBrowser.initialized">
<summary>
A flag that indicates whether or not <see cref="M:CefSharp.WinForms.ChromiumWebBrowser.InitializeFieldsAndCefIfRequired"/> has been called.
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.#cctor">
<summary>
Initializes static members of the <see cref="T:CefSharp.WinForms.ChromiumWebBrowser"/> class.
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.OnApplicationExit(System.Object,System.EventArgs)">
<summary>
Handles the <see cref="E:ApplicationExit"/> event.
</summary>
<param name="sender">The sender.</param>
<param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.#ctor">
<summary>
Initializes a new instance of the <see cref="T:CefSharp.WinForms.ChromiumWebBrowser"/> class.
NOTE: Should only be used by the designer
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:CefSharp.WinForms.ChromiumWebBrowser"/> class.
</summary>
<param name="address">The address.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.InitializeFieldsAndCefIfRequired">
<summary>
Required for designer support - this method cannot be inlined as the designer
will attempt to load libcef.dll and will subsiquently throw an exception.
TODO: Still not happy with this method name, need something better
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.Dispose(System.Boolean)">
<summary>
Releases the unmanaged resources used by the <see cref="T:System.Windows.Forms.Control" /> and its child controls and optionally releases the managed resources.
</summary>
<param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.RemoveFromListOfCefBrowsers">
<summary>
Required for designer support - this method cannot be inlined as the designer
will attempt to load libcef.dll and will subsiquently throw an exception.
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.FreeUnmanagedResources">
<summary>
Required for designer support - this method cannot be inlined as the designer
will attempt to load libcef.dll and will subsiquently throw an exception.
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.Load(System.String)">
<summary>
Loads the specified URL.
</summary>
<param name="url">The URL to be loaded.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.RegisterJsObject(System.String,System.Object,CefSharp.BindingOptions)">
<summary>
Registers a Javascript object in this specific browser instance.
</summary>
<param name="name">The name of the object. (e.g. "foo", if you want the object to be accessible as window.foo).</param>
<param name="objectToBind">The object to be made accessible to Javascript.</param>
<param name="options">binding options - camelCaseJavascriptNames default to true </param>
<exception cref="T:System.Exception">Browser is already initialized. RegisterJsObject must be +
called before the underlying CEF browser is created.</exception>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.RegisterAsyncJsObject(System.String,System.Object,CefSharp.BindingOptions)">
<summary>
<para>Asynchronously registers a Javascript object in this specific browser instance.</para>
<para>Only methods of the object will be availabe.</para>
</summary>
<param name="name">The name of the object. (e.g. "foo", if you want the object to be accessible as window.foo).</param>
<param name="objectToBind">The object to be made accessible to Javascript.</param>
<param name="options">binding options - camelCaseJavascriptNames default to true </param>
<exception cref="T:System.Exception">Browser is already initialized. RegisterJsObject must be +
called before the underlying CEF browser is created.</exception>
<remarks>The registered methods can only be called in an async way, they will all return immeditaly and the resulting
object will be a standard javascript Promise object which is usable to wait for completion or failure.</remarks>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.OnHandleCreated(System.EventArgs)">
<summary>
Raises the <see cref="E:System.Windows.Forms.Control.HandleCreated" /> event.
</summary>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnAfterBrowserCreated(CefSharp.IBrowser)">
<summary>
Called after browser created.
</summary>
<param name="browser">The browser.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#SetAddress(CefSharp.AddressChangedEventArgs)">
<summary>
Sets the address.
</summary>
<param name="args">The <see cref="T:CefSharp.AddressChangedEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#SetLoadingStateChange(CefSharp.LoadingStateChangedEventArgs)">
<summary>
Sets the loading state change.
</summary>
<param name="args">The <see cref="T:CefSharp.LoadingStateChangedEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#SetTitle(CefSharp.TitleChangedEventArgs)">
<summary>
Sets the title.
</summary>
<param name="args">The <see cref="T:CefSharp.TitleChangedEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#SetTooltipText(System.String)">
<summary>
Sets the tooltip text.
</summary>
<param name="tooltipText">The tooltip text.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnFrameLoadStart(CefSharp.FrameLoadStartEventArgs)">
<summary>
Handles the <see cref="E:FrameLoadStart"/> event.
</summary>
<param name="args">The <see cref="T:CefSharp.FrameLoadStartEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnFrameLoadEnd(CefSharp.FrameLoadEndEventArgs)">
<summary>
Handles the <see cref="E:FrameLoadEnd"/> event.
</summary>
<param name="args">The <see cref="T:CefSharp.FrameLoadEndEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnConsoleMessage(CefSharp.ConsoleMessageEventArgs)">
<summary>
Handles the <see cref="E:ConsoleMessage"/> event.
</summary>
<param name="args">The <see cref="T:CefSharp.ConsoleMessageEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnStatusMessage(CefSharp.StatusMessageEventArgs)">
<summary>
Handles the <see cref="E:StatusMessage"/> event.
</summary>
<param name="args">The <see cref="T:CefSharp.StatusMessageEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#OnLoadError(CefSharp.LoadErrorEventArgs)">
<summary>
Handles the <see cref="E:LoadError"/> event.
</summary>
<param name="args">The <see cref="T:CefSharp.LoadErrorEventArgs"/> instance containing the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.OnSizeChanged(System.EventArgs)">
<summary>
Raises the <see cref="E:System.Windows.Forms.Control.SizeChanged" /> event.
</summary>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.ResizeBrowser">
<summary>
Resizes the browser.
</summary>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.OnGotFocus(System.EventArgs)">
<summary>
Raises the <see cref="E:System.Windows.Forms.Control.GotFocus" /> event.
</summary>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.GetBrowser">
<summary>
Returns the current IBrowser Instance
</summary>
<returns>browser instance or null</returns>
</member>
<member name="M:CefSharp.WinForms.ChromiumWebBrowser.IsInputKey(System.Windows.Forms.Keys)">
<summary>
Makes certain keys as Input keys when CefSettings.MultiThreadedMessageLoop = false
</summary>
<param name="keyData">key data</param>
<returns>true for a select list of keys otherwise defers to base.IsInputKey</returns>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.IsActivating">
<summary>
Set to true while handing an activating WM_ACTIVATE message.
MUST ONLY be cleared by DefaultFocusHandler.
</summary>
<value><c>true</c> if this instance is activating; otherwise, <c>false</c>.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.BrowserSettings">
<summary>
Gets or sets the browser settings.
</summary>
<value>The browser settings.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.RequestContext">
<summary>
Gets or sets the request context.
</summary>
<value>The request context.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.IsLoading">
<summary>
A flag that indicates whether the control is currently loading one or more web pages (true) or not (false).
</summary>
<value><c>true</c> if this instance is loading; otherwise, <c>false</c>.</value>
<remarks>In the WPF control, this property is implemented as a Dependency Property and fully supports data
binding.</remarks>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.TooltipText">
<summary>
The text that will be displayed as a ToolTip
</summary>
<value>The tooltip text.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.Address">
<summary>
The address (URL) which the browser control is currently displaying.
Will automatically be updated as the user navigates to another page (e.g. by clicking on a link).
</summary>
<value>The address.</value>
<remarks>In the WPF control, this property is implemented as a Dependency Property and fully supports data
binding.</remarks>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.DialogHandler">
<summary>
Implement <see cref="T:CefSharp.IDialogHandler"/> and assign to handle dialog events.
</summary>
<value>The dialog handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.JsDialogHandler">
<summary>
Implement <see cref="T:CefSharp.IJsDialogHandler"/> and assign to handle events related to JavaScript Dialogs.
</summary>
<value>The js dialog handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.KeyboardHandler">
<summary>
Implement <see cref="T:CefSharp.IKeyboardHandler"/> and assign to handle events related to key press.
</summary>
<value>The keyboard handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.RequestHandler">
<summary>
Implement <see cref="T:CefSharp.IRequestHandler"/> and assign to handle events related to browser requests.
</summary>
<value>The request handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.DownloadHandler">
<summary>
Implement <see cref="T:CefSharp.IDownloadHandler"/> and assign to handle events related to downloading files.
</summary>
<value>The download handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.LoadHandler">
<summary>
Implement <see cref="T:CefSharp.ILoadHandler"/> and assign to handle events related to browser load status.
</summary>
<value>The load handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.LifeSpanHandler">
<summary>
Implement <see cref="T:CefSharp.ILifeSpanHandler"/> and assign to handle events related to popups.
</summary>
<value>The life span handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.DisplayHandler">
<summary>
Implement <see cref="T:CefSharp.IDisplayHandler"/> and assign to handle events related to browser display state.
</summary>
<value>The display handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.MenuHandler">
<summary>
Implement <see cref="T:CefSharp.IContextMenuHandler"/> and assign to handle events related to the browser context menu
</summary>
<value>The menu handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.RenderProcessMessageHandler">
<summary>
Implement <see cref="T:CefSharp.IRenderProcessMessageHandler"/> and assign to handle messages from the render process.
</summary>
<value>The render process message handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.FindHandler">
<summary>
Implement <see cref="T:CefSharp.IFindHandler"/> to handle events related to find results.
</summary>
<value>The find handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.FocusHandler">
<summary>
The <see cref="T:CefSharp.IFocusHandler"/> for this ChromiumWebBrowser.
</summary>
<value>The focus handler.</value>
<remarks>If you need customized focus handling behavior for WinForms, the suggested
best practice would be to inherit from DefaultFocusHandler and try to avoid
needing to override the logic in OnGotFocus. The implementation in
DefaultFocusHandler relies on very detailed behavior of how WinForms and
Windows interact during window activation.</remarks>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.DragHandler">
<summary>
Implement <see cref="T:CefSharp.IDragHandler"/> and assign to handle events related to dragging.
</summary>
<value>The drag handler.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.ResourceHandlerFactory">
<summary>
Implement <see cref="T:CefSharp.IResourceHandlerFactory"/> and control the loading of resources
</summary>
<value>The resource handler factory.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.GeolocationHandler">
<summary>
Implement <see cref="T:CefSharp.IGeolocationHandler"/> and assign to handle requests for permission to use geolocation.
</summary>
<value>The geolocation handler.</value>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.LoadError">
<summary>
Event handler that will get called when the resource load for a navigation fails or is canceled.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.FrameLoadStart">
<summary>
Event handler that will get called when the browser begins loading a frame. Multiple frames may be loading at the same
time. Sub-frames may start or continue loading after the main frame load has ended. This method may not be called for a
particular frame if the load request for that frame fails. For notification of overall browser load status use
OnLoadingStateChange instead.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
<remarks>Whilst this may seem like a logical place to execute js, it's called before the DOM has been loaded, implement
<see cref="M:CefSharp.IRenderProcessMessageHandler.OnContextCreated(CefSharp.IWebBrowser,CefSharp.IBrowser,CefSharp.IFrame)"/> as it's called when the underlying V8Context is created
(Only called for the main frame at this stage)</remarks>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.FrameLoadEnd">
<summary>
Event handler that will get called when the browser is done loading a frame. Multiple frames may be loading at the same
time. Sub-frames may start or continue loading after the main frame load has ended. This method will always be called
for all frames irrespective of whether the request completes successfully.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.LoadingStateChanged">
<summary>
Event handler that will get called when the Loading state has changed.
This event will be fired twice. Once when loading is initiated either programmatically or
by user action, and once when loading is terminated due to completion, cancellation of failure.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.ConsoleMessage">
<summary>
Event handler for receiving Javascript console messages being sent from web pages.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(The exception to this is when your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.StatusMessage">
<summary>
Event handler for changes to the status message.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(The exception to this is when your running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.AddressChanged">
<summary>
Occurs when the browser address changed.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.TitleChanged">
<summary>
Occurs when the browser title changed.
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="E:CefSharp.WinForms.ChromiumWebBrowser.IsBrowserInitializedChanged">
<summary>
Occurs when [is browser initialized changed].
It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI
thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang..
To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
</summary>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.CanGoForward">
<summary>
A flag that indicates whether the state of the control currently supports the GoForward action (true) or not (false).
</summary>
<value><c>true</c> if this instance can go forward; otherwise, <c>false</c>.</value>
<remarks>In the WPF control, this property is implemented as a Dependency Property and fully supports data
binding.</remarks>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.CanGoBack">
<summary>
A flag that indicates whether the state of the control current supports the GoBack action (true) or not (false).
</summary>
<value><c>true</c> if this instance can go back; otherwise, <c>false</c>.</value>
<remarks>In the WPF control, this property is implemented as a Dependency Property and fully supports data
binding.</remarks>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.IsBrowserInitialized">
<summary>
A flag that indicates whether the WebBrowser is initialized (true) or not (false).
</summary>
<value><c>true</c> if this instance is browser initialized; otherwise, <c>false</c>.</value>
<remarks>In the WPF control, this property is implemented as a Dependency Property and fully supports data
binding.</remarks>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.CanExecuteJavascriptInMainFrame">
<summary>
A flag that indicates if you can execute javascript in the main frame.
Flag is set to true in IRenderProcessMessageHandler.OnContextCreated.
and false in IRenderProcessMessageHandler.OnContextReleased
</summary>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#BrowserAdapter">
<summary>
Gets the browser adapter.
</summary>
<value>The browser adapter.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.CefSharp#Internals#IWebBrowserInternal#HasParent">
<summary>
Gets or sets a value indicating whether this instance has parent.
</summary>
<value><c>true</c> if this instance has parent; otherwise, <c>false</c>.</value>
</member>
<member name="P:CefSharp.WinForms.ChromiumWebBrowser.Focused">
<summary>
Manually implement Focused because cef does not implement it.
</summary>
<value><c>true</c> if focused; otherwise, <c>false</c>.</value>
<remarks>This is also how the Microsoft's WebBrowserControl implements the Focused property.</remarks>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

Binary file not shown.

View File

@@ -0,0 +1,3 @@
20002303
20200404
1

View File

@@ -0,0 +1,3 @@
1층-B열-8
1층-B열-9
1층-B열-10

View File

@@ -0,0 +1 @@
http://ticketimage.interpark.com/TMGSNAS/TMGS/R/18/18001044RGN001.gif

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More