├── mp4box
├── Res
│ ├── wan.ico
│ ├── tomoka.ico
│ ├── tsukiko.gif
│ ├── mp4box_TemporaryKey.pfx
│ └── PostBuildEvent.bat
├── Microsoft.WindowsAPICodePack.dll
├── Microsoft.WindowsAPICodePack.Shell.dll
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── mp4box.csproj.user
├── app.config
├── PreviewForm.cs
├── StartUpClass.cs
├── app.manifest
├── ResourceCulture.cs
├── PreviewForm.Designer.cs
├── Program.cs
├── Supplements.cs
├── SplashForm.Designer.cs
├── SplashScreenApplicationContext.cs
├── WorkingForm.Designer.cs
└── Cmd.cs
├── ControlExs
├── ControlExs
│ ├── FormEx
│ │ ├── Res
│ │ │ ├── fringe_bkg.png
│ │ │ └── SystemButtons
│ │ │ │ ├── max_down.png
│ │ │ │ ├── min_down.png
│ │ │ │ ├── close_down.png
│ │ │ │ ├── close_normal.png
│ │ │ │ ├── max_normal.png
│ │ │ │ ├── min_normal.png
│ │ │ │ ├── restore_down.png
│ │ │ │ ├── max_highlight.png
│ │ │ │ ├── min_highlight.png
│ │ │ │ ├── restore_normal.png
│ │ │ │ ├── close_highlight.png
│ │ │ │ └── restore_highlight.png
│ │ ├── FormBase.cs
│ │ ├── SystemButton.cs
│ │ └── FormEx.resx
│ └── QQControls
│ │ ├── QQCheckBox
│ │ └── Image
│ │ │ └── check.png
│ │ ├── QQRadioButton
│ │ └── Image
│ │ │ └── dot.png
│ │ ├── QQButton
│ │ └── Image
│ │ │ ├── qqbtn_down.png
│ │ │ ├── qqbtn_focus.png
│ │ │ ├── qqbtn_normal.png
│ │ │ └── qqbtn_highlight.png
│ │ ├── QQGlassButton
│ │ └── Image
│ │ │ ├── glassbtn_down.png
│ │ │ └── glassbtn_hot.png
│ │ └── QQMessageBox
│ │ ├── Icons
│ │ ├── qqmessagebox_ok.png
│ │ ├── qqmessagebox_error.png
│ │ ├── qqmessagebox_infor.png
│ │ ├── qqmessagebox_question.png
│ │ └── qqmessagebox_warning.png
│ │ ├── QQMessageBoxButtons.cs
│ │ ├── QQMessageBoxIcon.cs
│ │ └── QQMessageBox.resx
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Enums
│ ├── ClassStyle.cs
│ ├── MouseOperate.cs
│ ├── SystemButtonState.cs
│ ├── QQControlState.cs
│ ├── WindowStyleEx.cs
│ └── WindowStyle.cs
├── Common Class
│ └── ColorTable.cs
└── Methods
│ └── Win32.cs
├── XwWizard
├── WindowsFormsApplication1
│ ├── Properties
│ │ ├── Settings.settings
│ │ ├── Settings.Designer.cs
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ └── Resources.resx
│ ├── WizardSteps
│ │ ├── FormStep1.cs
│ │ ├── FormStep5.cs
│ │ ├── FormStep3.cs
│ │ ├── FormStep4.cs
│ │ ├── FormStep4.Designer.cs
│ │ ├── FormStep1.Designer.cs
│ │ ├── FormStep2.cs
│ │ ├── FormStep5.Designer.cs
│ │ ├── FormStep2.Designer.cs
│ │ ├── FormStep3.Designer.cs
│ │ ├── FormStep1.resx
│ │ ├── FormStep4.resx
│ │ ├── FormStep5.resx
│ │ ├── FormStep2.resx
│ │ └── FormStep3.resx
│ ├── Program.cs
│ ├── StepOpt.cs
│ ├── FormWizard.Designer.cs
│ ├── XwWizard.csproj
│ └── MediaInfoTool.cs
└── WindowsFormsApplication1.sln
├── README.md
├── .gitattributes
├── mp4box.sln
└── .gitignore
/mp4box/Res/wan.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/mp4box/Res/wan.ico
--------------------------------------------------------------------------------
/mp4box/Res/tomoka.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/mp4box/Res/tomoka.ico
--------------------------------------------------------------------------------
/mp4box/Res/tsukiko.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/mp4box/Res/tsukiko.gif
--------------------------------------------------------------------------------
/mp4box/Res/mp4box_TemporaryKey.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/mp4box/Res/mp4box_TemporaryKey.pfx
--------------------------------------------------------------------------------
/mp4box/Microsoft.WindowsAPICodePack.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/mp4box/Microsoft.WindowsAPICodePack.dll
--------------------------------------------------------------------------------
/mp4box/Microsoft.WindowsAPICodePack.Shell.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/mp4box/Microsoft.WindowsAPICodePack.Shell.dll
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/fringe_bkg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/fringe_bkg.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/max_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/max_down.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/min_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/min_down.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQCheckBox/Image/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQCheckBox/Image/check.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQRadioButton/Image/dot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQRadioButton/Image/dot.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/close_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/close_down.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/close_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/close_normal.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/max_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/max_normal.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/min_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/min_normal.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/restore_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/restore_down.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_down.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_focus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_focus.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/max_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/max_highlight.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/min_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/min_highlight.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/restore_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/restore_normal.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_normal.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/close_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/close_highlight.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/Res/SystemButtons/restore_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/FormEx/Res/SystemButtons/restore_highlight.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQButton/Image/qqbtn_highlight.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQGlassButton/Image/glassbtn_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQGlassButton/Image/glassbtn_down.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQGlassButton/Image/glassbtn_hot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQGlassButton/Image/glassbtn_hot.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_ok.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_error.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_infor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_infor.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_question.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_question.png
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzxjohn/marukotoolbox/HEAD/ControlExs/ControlExs/QQControls/QQMessageBox/Icons/qqmessagebox_warning.png
--------------------------------------------------------------------------------
/mp4box/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ControlExs/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mp4box/mp4box.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | publish\
5 |
6 |
7 |
8 |
9 |
10 | zh-CN
11 | false
12 |
13 |
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/QQMessageBoxButtons.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | using System.Text;
5 | using System.Windows.Forms;
6 |
7 | namespace ControlExs
8 | {
9 | ///
10 | /// 消息框QQMessageBox 上按钮枚举
11 | ///
12 | public enum QQMessageBoxButtons
13 | {
14 | ///
15 | /// 消息框包含“确定”按钮
16 | ///
17 | OK,
18 | ///
19 | /// 消息框包含“确定”与“取消”按钮
20 | ///
21 | OKCancel,
22 | ///
23 | /// 消息框包含“重试”与“取消”按钮
24 | ///
25 | RetryCancel
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsFormsApplication1", "WindowsFormsApplication1\WindowsFormsApplication1.csproj", "{139B68F7-4EBA-4F61-9C91-2FC0D4A37684}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|x86 = Debug|x86
9 | Release|x86 = Release|x86
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {139B68F7-4EBA-4F61-9C91-2FC0D4A37684}.Debug|x86.ActiveCfg = Debug|x86
13 | {139B68F7-4EBA-4F61-9C91-2FC0D4A37684}.Debug|x86.Build.0 = Debug|x86
14 | {139B68F7-4EBA-4F61-9C91-2FC0D4A37684}.Release|x86.ActiveCfg = Release|x86
15 | {139B68F7-4EBA-4F61-9C91-2FC0D4A37684}.Release|x86.Build.0 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/ControlExs/Enums/ClassStyle.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 | public enum ClassStyle
27 | {
28 | CS_DropSHADOW = 0x20000 //实现窗体阴影
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/ControlExs/Enums/MouseOperate.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 | public enum MouseOperate
27 | {
28 | Move,
29 | Down,
30 | Up,
31 | Leave
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/ControlExs/Enums/SystemButtonState.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 | public enum SystemButtonState
27 | {
28 | Normal,
29 | HighLight,
30 | Down,
31 | DownLeave
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.18444
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace XwWizard.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/mp4box/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34014
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace mp4box.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/ControlExs/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34014
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace ControlExs.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/QQMessageBoxIcon.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 | ///
27 | /// QQMessageBox icon图标枚举
28 | ///
29 | public enum QQMessageBoxIcon
30 | {
31 | Error,
32 | Information,
33 | OK,
34 | Question,
35 | Warning
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/mp4box/Res/PostBuildEvent.bat:
--------------------------------------------------------------------------------
1 | @REM Store args
2 | set _SolutionDir=%1%
3 | set _TargetDir=%2%
4 |
5 | @REM Do works
6 | if not exist "%_SolutionDir%xiaowan" mkdir "%_SolutionDir%xiaowan" >nul
7 |
8 | copy /y "%_TargetDir%xiaowan.exe" "%_SolutionDir%xiaowan\" >nul
9 | copy /y "%_TargetDir%xiaowan.exe.Config" "%_SolutionDir%xiaowan\" >nul
10 | copy /y "%_TargetDir%ControlExs.dll" "%_SolutionDir%xiaowan\" >nul
11 | copy /y "%_TargetDir%AxInterop.WMPLib.dll" "%_SolutionDir%xiaowan\" >nul
12 | copy /y "%_TargetDir%Interop.WMPLib.dll" "%_SolutionDir%xiaowan\" >nul
13 | copy /y "%_TargetDir%Microsoft.WindowsAPICodePack.dll" "%_SolutionDir%xiaowan\" >nul
14 | copy /y "%_TargetDir%Microsoft.WindowsAPICodePack.Shell.dll" "%_SolutionDir%xiaowan\" >nul
15 | copy /y "%_TargetDir%XwWizard.dll" "%_SolutionDir%xiaowan\" >nul
16 |
17 | if not exist "%_SolutionDir%xiaowan\en" mkdir "%_SolutionDir%xiaowan\en" >nul
18 | if not exist "%_SolutionDir%xiaowan\zh-HanT" mkdir "%_SolutionDir%xiaowan\zh-HanT" >nul
19 | if not exist "%_SolutionDir%xiaowan\ja-JP" mkdir "%_SolutionDir%xiaowan\ja-JP" >nul
20 |
21 | xcopy /y "%_TargetDir%en" "%_SolutionDir%xiaowan\en" >nul
22 | xcopy /y "%_TargetDir%zh-Hant" "%_SolutionDir%xiaowan\zh-HanT" >nul
23 | xcopy /y "%_TargetDir%ja-JP" "%_SolutionDir%xiaowan\ja-JP" >nul
24 |
25 | echo PostBuildEvent Completed.
26 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep1.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Windows.Forms;
29 |
30 | namespace XwWizard.WizardSteps
31 | {
32 | public partial class FormStep1 : Form
33 | {
34 | public FormStep1()
35 | {
36 | InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/Program.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | //
5 | // Licensed under the Apache License, Version 2.0 (the "License");
6 | // you may not use this file except in compliance with the License.
7 | // You may obtain a copy of the License at
8 | //
9 | // http://www.apache.org/licenses/LICENSE-2.0
10 | //
11 | // Unless required by applicable law or agreed to in writing, software
12 | // distributed under the License is distributed on an "AS IS" BASIS,
13 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14 | // express or implied.
15 | // See the License for the specific language governing permissions
16 | // and limitations under the License.
17 | // -------------------------------------------------------------------
18 | //
19 |
20 | using System;
21 | using System.Collections.Generic;
22 | using System.Linq;
23 | using System.Windows.Forms;
24 |
25 | namespace XwWizard
26 | {
27 | static class Program
28 | {
29 | ///
30 | /// 应用程序的主入口点。
31 | ///
32 | [STAThread]
33 | static void Main()
34 | {
35 | Application.EnableVisualStyles();
36 | Application.SetCompatibleTextRenderingDefault(false);
37 | Application.Run(new FormWizard());
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/StepOpt.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Linq;
24 | using System.Text;
25 |
26 | namespace XwWizard
27 | {
28 | public class StepOpt
29 | {
30 | public StepOpt(bool cancel, bool prev, bool next)
31 | {
32 | this.Cancel = cancel;
33 | this.Prev = prev;
34 | this.Next = next;
35 | }
36 |
37 | public bool Cancel { get; set; }
38 | public bool Prev { get; set; }
39 | public bool Next { get; set; }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/ControlExs/Enums/QQControlState.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 | public enum QQControlState
27 | {
28 | ///
29 | /// 正常状态
30 | ///
31 | Normal = 0,
32 | ///
33 | /// /鼠标进入
34 | ///
35 | Highlight = 1,
36 | ///
37 | /// 鼠标按下
38 | ///
39 | Down = 2,
40 | ///
41 | /// 获得焦点
42 | ///
43 | Focus = 3,
44 | ///
45 | /// 控件禁止
46 | ///
47 | Disabled = 4
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/mp4box/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep5.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Windows.Forms;
29 |
30 | namespace XwWizard.WizardSteps
31 | {
32 | public partial class FormStep5 : Form
33 | {
34 | public FormStep5()
35 | {
36 | InitializeComponent();
37 | }
38 |
39 | private void btnChooseOutput_Click(object sender, EventArgs e)
40 | {
41 | try
42 | {
43 | System.Diagnostics.Process.Start("\"" + FormWizard.OutputFilePath + "\"");
44 | }
45 | catch { }
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 小丸工具箱 / Maruko's Toolbox
2 | ===========================
3 | A Video-prosessing GUI
4 |
5 | * Homepage: http://www.maruko.in/ (Sponsored by Tech Team of ACICFG)
6 | * https://marukotoolbox.codeplex.com (primary)
7 | * https://github.com/marukotoolbox/marukotoolbox (mirror)
8 |
9 | 界面 / Screenshots
10 | ================
11 | 
12 |
13 | Get It
14 | =====
15 | https://marukotoolbox.codeplex.com/releases/
16 |
17 | 系统需求 / Requirements
18 | ============================
19 | ##For Use
20 | ###On Windows
21 | 1. Windows XP, Vista, 7, 8, 8.1 x86 or x64
22 |
23 | 2. .Net Framwork 3.5 SP1
24 |
25 | ###On Linux
26 | _Not Thoroughly Tested 仅经过基本测试_
27 |
28 | 1. Ubuntu Desktop (Recommended)
29 |
30 | 2. Mono-Runtime
31 | ```
32 | sudo apt-get install mono-runtime
33 | ```
34 |
35 | 3. LibMono-*
36 | ```
37 | sudo apt-get install libmono-*
38 | ```
39 |
40 | 4. [WinE is not an Emulator](https://www.winehq.org/download/)
41 |
42 | After installing these dependencies,
43 |
安装好必须组件后,
44 |
45 | run `wine /path/to/小丸工具箱.exe`
46 |
47 | You may need to follow WinE's instructions to get `Maruko's Toolbox` work.
48 |
49 |
50 | ##For Development
51 | Visual Studio 2013
52 |
53 | Bug汇报 / I Found A Bug
54 | ====================
55 | Issue Page: https://marukotoolbox.codeplex.com/workitem/list/advanced
56 |
57 |
58 | 我想求一个功能 / Feture Request
59 | ===========================
60 | Discussion: https://marukotoolbox.codeplex.com/discussions
61 |
62 | > 最近不更新《小丸工具箱》了,心累。
63 | > ——小丸
64 |
65 | 帮助小丸开发 / Contribute
66 | =====================
67 | > 代码很乱,别吐槽。
68 | > ——小丸
69 |
--------------------------------------------------------------------------------
/mp4box/PreviewForm.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: komaruchan
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Text;
27 | using System.Windows.Forms;
28 | using System.IO;
29 |
30 | namespace mp4box
31 | {
32 | public partial class PreviewForm : Form
33 | {
34 |
35 | string workpath = System.Windows.Forms.Application.StartupPath;
36 |
37 | public PreviewForm()
38 | {
39 | InitializeComponent();
40 | }
41 |
42 | private void textBox1_TextChanged(object sender, EventArgs e)
43 | {
44 |
45 | }
46 |
47 | private void Form2_SizeChanged(object sender, EventArgs e)
48 | {
49 |
50 | }
51 |
52 | private void Form2_Load(object sender, EventArgs e)
53 | {
54 | //axWindowsMediaPlayer1.Ctlcontrols.play();
55 | }
56 |
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/ControlExs/Common Class/ColorTable.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 | using System.Drawing;
24 |
25 | namespace ControlExs
26 | {
27 | /****************************************************************
28 | *
29 | * Author:苦笑
30 | * Blog: http://www.cnblogs.com/Keep-Silence-/
31 | * Date: 2013-2-22
32 | *
33 | *****************************************************************/
34 |
35 | ///
36 | /// 实现仿QQ效果控件内部使用颜色表
37 | ///
38 | internal class ColorTable
39 | {
40 | public static Color QQBorderColor = Color.LightBlue; //LightBlue = Color.FromArgb(173, 216, 230)
41 | public static Color QQHighLightColor =RenderHelper.GetColor(QQBorderColor,255,-63,-11,23); //Color.FromArgb(110, 205, 253)
42 | public static Color QQHighLightInnerColor = RenderHelper.GetColor(QQBorderColor, 255, -100, -44, 1); //Color.FromArgb(73, 172, 231);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/mp4box/StartUpClass.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: komaruchan
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 | using System.Windows.Forms;
25 |
26 | namespace mp4box
27 | {
28 | //使用方法:定义一个启动类,应用程序从启动类启动,该类会使用继承自启动窗体虚基类的一个启动窗体类,在该类中定义启动窗体和主窗体。启动窗体和主窗体的代码略去,注意要删除机器生成的窗体代码的Main方法部分。
29 | public class StartUpClass
30 | {
31 | [STAThread]
32 | static void Main()
33 | {
34 | Application.Run(new mycontext());
35 | }
36 | }
37 |
38 | //启动窗体类(继承自启动窗体虚基类),启动画面会停留一段时间,该时间是设定的时间和主窗体构造所需时间两个的最大值
39 | public class mycontext : SplashScreenApplicationContext
40 | {
41 | protected override void OnCreateSplashScreenForm()
42 | {
43 | this.SplashScreenForm = new SplashForm();//启动窗体
44 | }
45 | protected override void OnCreateMainForm()
46 | {
47 | this.PrimaryForm = new MainForm();//主窗体
48 | }
49 | protected override void SetSeconds()
50 | {
51 | this.SecondsShow = 2;//启动窗体显示的时间(秒)
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/ControlExs/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System.Reflection;
20 | using System.Runtime.CompilerServices;
21 | using System.Runtime.InteropServices;
22 |
23 | // 有关程序集的常规信息通过以下
24 | // 特性集控制。更改这些特性值可修改
25 | // 与程序集关联的信息。
26 | [assembly: AssemblyTitle("C#自定义控件 ControlExs")]
27 | [assembly: AssemblyDescription("")]
28 | [assembly: AssemblyConfiguration("")]
29 | [assembly: AssemblyCompany("")]
30 | [assembly: AssemblyProduct("ControlExs")]
31 | [assembly: AssemblyCopyright("Copyright © 苦笑 2013")]
32 | [assembly: AssemblyTrademark("")]
33 | [assembly: AssemblyCulture("")]
34 |
35 | // 将 ComVisible 设置为 false 使此程序集中的类型
36 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
37 | // 则将该类型上的 ComVisible 特性设置为 true。
38 | [assembly: ComVisible(false)]
39 |
40 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
41 | [assembly: Guid("7f3cdc2b-b940-4fd2-895f-f326b8a1b450")]
42 |
43 | // 程序集的版本信息由下面四个值组成:
44 | //
45 | // 主版本
46 | // 次版本
47 | // 内部版本号
48 | // 修订号
49 | //
50 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
51 | // 方法是按如下所示使用“*”:
52 | // [assembly: AssemblyVersion("1.0.*")]
53 | [assembly: AssemblyVersion("1.0.0.0")]
54 | [assembly: AssemblyFileVersion("1.0.0.0")]
55 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 |
2 | // ------------------------------------------------------------------
3 | // Copyright (C) 2011-2014 Maruko Toolbox Project
4 | //
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 | using System.Reflection;
21 | using System.Runtime.CompilerServices;
22 | using System.Runtime.InteropServices;
23 |
24 | // 有关程序集的常规信息通过以下
25 | // 特性集控制。更改这些特性值可修改
26 | // 与程序集关联的信息。
27 | [assembly: AssemblyTitle("XwWizard")]
28 | [assembly: AssemblyDescription("")]
29 | [assembly: AssemblyConfiguration("")]
30 | [assembly: AssemblyCompany("")]
31 | [assembly: AssemblyProduct("XwWizard")]
32 | [assembly: AssemblyCopyright("CopyLeft (L) Maruko's Toolbox Team 2014")]
33 | [assembly: AssemblyTrademark("")]
34 | [assembly: AssemblyCulture("")]
35 |
36 | // 将 ComVisible 设置为 false 使此程序集中的类型
37 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
38 | // 则将该类型上的 ComVisible 特性设置为 true。
39 | [assembly: ComVisible(false)]
40 |
41 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
42 | [assembly: Guid("d1639cce-4173-4024-8584-dd8db266b4cf")]
43 |
44 | // 程序集的版本信息由下面四个值组成:
45 | //
46 | // 主版本
47 | // 次版本
48 | // 内部版本号
49 | // 修订号
50 | //
51 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
52 | // 方法是按如下所示使用“*”:
53 | // [assembly: AssemblyVersion("1.0.*")]
54 | [assembly: AssemblyVersion("1.0.0.0")]
55 | [assembly: AssemblyFileVersion("1.0.0.0")]
56 |
--------------------------------------------------------------------------------
/mp4box/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System.Reflection;
20 | using System.Runtime.CompilerServices;
21 | using System.Runtime.InteropServices;
22 |
23 | // 有关程序集的常规信息通过以下
24 | // 特性集控制。更改这些特性值可修改
25 | // 与程序集关联的信息。
26 | [assembly: AssemblyTitle("Maruko Toolbox")]
27 | [assembly: AssemblyDescription("A Video-prosessing GUI")]
28 | [assembly: AssemblyConfiguration("")]
29 | [assembly: AssemblyCompany("http://maruko.appinn.me/")]
30 | [assembly: AssemblyProduct("Maruko Toolbox")]
31 | [assembly: AssemblyCopyright("Copyright © 2011-2014")]
32 | [assembly: AssemblyTrademark("")]
33 | [assembly: AssemblyCulture("")]
34 |
35 | // 将 ComVisible 设置为 false 使此程序集中的类型
36 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
37 | // 则将该类型上的 ComVisible 特性设置为 true。
38 | [assembly: ComVisible(false)]
39 |
40 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
41 | [assembly: Guid("d8671a06-a28b-4e6a-a2cb-5649d5fbf2ab")]
42 |
43 | // 程序集的版本信息由下面四个值组成:
44 | //
45 | // 主版本
46 | // 次版本
47 | // 内部版本号
48 | // 修订号
49 | //
50 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
51 | // 方法是按如下所示使用“*”:
52 | // [assembly: AssemblyVersion("1.0.*")]
53 | [assembly: AssemblyVersion("1.0.0.0")]
54 | [assembly: AssemblyFileVersion("1.0.0.0")]
55 |
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/FormBase.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 | using System.Windows.Forms;
24 |
25 | namespace ControlExs
26 | {
27 |
28 | /****************************************************************
29 | *
30 | * Author:苦笑
31 | * Blog: http://www.cnblogs.com/Keep-Silence-/
32 | * Date: 2013-2-22
33 | *
34 | *****************************************************************/
35 |
36 |
37 | ///
38 | /// 拥有ToolTip属性的Form基类
39 | ///
40 | public class FormBase : Form
41 | {
42 | private ToolTip _toolTip;
43 |
44 | public FormBase()
45 | : base()
46 | {
47 | _toolTip = new ToolTip();
48 | }
49 |
50 | public ToolTip ToolTip
51 | {
52 | get { return _toolTip; }
53 | }
54 |
55 | protected override void Dispose(bool disposing)
56 | {
57 | base.Dispose(disposing);
58 | if (disposing)
59 | {
60 | _toolTip.Dispose();
61 | }
62 | _toolTip = null;
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/SystemButton.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 | using System.Drawing;
24 | using System.Runtime.InteropServices;
25 | using System.Windows.Forms;
26 |
27 | namespace ControlExs
28 | {
29 |
30 | /****************************************************************
31 | *
32 | * Author:苦笑
33 | * Blog: http://www.cnblogs.com/Keep-Silence-/
34 | * Date: 2013-2-22
35 | *
36 | *****************************************************************/
37 |
38 |
39 |
40 | //按钮事件委托
41 | public delegate void MouseDownEventHandler();
42 |
43 | internal class SystemButton
44 | {
45 | public SystemButtonState State { get; set; }
46 | public Rectangle LocationRect { get; set; }
47 | public Image NormalImg { get; set; }
48 | public Image HighLightImg { get; set; }
49 | public Image DownImg { get; set; }
50 | public string ToolTip { get; set; }
51 |
52 | public event MouseDownEventHandler OnMouseDownEvent;
53 | public void OnMouseDown()
54 | {
55 | if (OnMouseDownEvent != null)
56 | {
57 | OnMouseDownEvent();
58 | }
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Declare files that will always have CRLF line endings on checkout.
8 | ###############################################################################
9 | *.sln text eol=crlf
10 |
11 | ###############################################################################
12 | # Set default behavior for command prompt diff.
13 | #
14 | # This is need for earlier builds of msysgit that does not have it on by
15 | # default for csharp files.
16 | # Note: This is only used by command line
17 | ###############################################################################
18 | *.cs diff=csharp
19 | *.sln merge=union
20 | *.csproj merge=union
21 | *.vbproj merge=union
22 | *.fsproj merge=union
23 | *.dbproj merge=union
24 |
25 | ###############################################################################
26 | # Denote all files that are truly binary and should not be modified.
27 | #
28 | # image files are treated as binary by default.
29 | ###############################################################################
30 | *.jpg binary
31 | *.png binary
32 | *.gif binary
33 | *.lib binary
34 |
35 | ###############################################################################
36 | # diff behavior for common document formats
37 | #
38 | # Convert binary document formats to text before diffing them. This feature
39 | # is only available from the command line. Turn it on by uncommenting the
40 | # entries below.
41 | ###############################################################################
42 | *.doc diff=astextplain
43 | *.DOC diff=astextplain
44 | *.docx diff=astextplain
45 | *.DOCX diff=astextplain
46 | *.dot diff=astextplain
47 | *.DOT diff=astextplain
48 | *.pdf diff=astextplain
49 | *.PDF diff=astextplain
50 | *.rtf diff=astextplain
51 | *.RTF diff=astextplain
52 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep3.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Windows.Forms;
29 | using System.IO;
30 |
31 | namespace XwWizard.WizardSteps
32 | {
33 | public partial class FormStep3 : Form
34 | {
35 | public FormStep3(FormWizard wParent)
36 | {
37 | this.WizardParent = wParent;
38 | InitializeComponent();
39 | }
40 |
41 | private FormWizard WizardParent = null;
42 |
43 | private void btnChooseOutput_Click(object sender, EventArgs e)
44 | {
45 | if (saveFileDialog1.ShowDialog() == DialogResult.OK)
46 | {
47 | if (Directory.Exists(saveFileDialog1.FileName))
48 | {
49 | MessageBox.Show(FormWizard.VideoFilePath + "请更换个文件名或目录","",
50 | MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
51 | return;
52 | }
53 |
54 | FormWizard.OutputFilePath = saveFileDialog1.FileName;
55 | WizardParent.SwitchToNextStep();
56 | }
57 | }
58 |
59 |
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/mp4box/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
47 |
--------------------------------------------------------------------------------
/ControlExs/Enums/WindowStyleEx.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 | public enum WindowStyleEx
27 | {
28 | WS_EX_DLGMODALFRAME = 0x00000001,
29 | WS_EX_NOPARENTNOTIFY = 0x00000004,
30 | WS_EX_TOPMOST = 0x00000008,
31 | WS_EX_ACCEPTFILES = 0x00000010,
32 | WS_EX_TRANSPARENT = 0x00000020,
33 | WS_EX_MDICHILD = 0x00000040,
34 | WS_EX_TOOLWINDOW = 0x00000080,
35 | WS_EX_WINDOWEDGE = 0x00000100,
36 | WS_EX_CLIENTEDGE = 0x00000200,
37 | WS_EX_CONTEXTHELP = 0x00000400,
38 | WS_EX_RIGHT = 0x00001000,
39 | WS_EX_LEFT = 0x00000000,
40 | WS_EX_RTLREADING = 0x00002000,
41 | WS_EX_LTRREADING = 0x00000000,
42 | WS_EX_LEFTSCROLLBAR = 0x00004000,
43 | WS_EX_RIGHTSCROLLBAR = 0x00000000,
44 | WS_EX_CONTROLPARENT = 0x00010000,
45 | WS_EX_STATICEDGE = 0x00020000,
46 | WS_EX_APPWINDOW = 0x00040000,
47 | WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE),
48 | WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST),
49 | WS_EX_LAYERED = 0x00080000,
50 | WS_EX_NOINHERITLAYOUT = 0x00100000, // Disable inheritence of mirroring by children
51 | WS_EX_LAYOUTRTL = 0x00400000, // Right to left mirroring
52 | WS_EX_COMPOSITED = 0x02000000,
53 | WS_EX_NOACTIVATE = 0x08000000,
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep4.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Windows.Forms;
29 |
30 | namespace XwWizard.WizardSteps
31 | {
32 | public partial class FormStep4 : Form
33 | {
34 | public FormStep4(FormWizard p)
35 | {
36 | this.WizardParent = p;
37 | InitializeComponent();
38 | }
39 |
40 | private FormWizard WizardParent = null;
41 |
42 | ///
43 | /// 处理文件
44 | ///
45 | public static bool EncodeFile()
46 | {
47 | //TODO: 处理文件方法
48 | if (FormWizard.NeedEncode)
49 | {
50 | //转码……
51 | //FormWizard.VideoFilePath;
52 | //FormWizard.OutputFilePath;
53 |
54 | FormWizard.NeedMux = false;//这个不要去掉,转码时直接转成FLV,不用再封装
55 | }
56 |
57 | if (FormWizard.NeedMux)
58 | {
59 | //封装……
60 | }
61 |
62 | //if (FormWizard.NeedReduceBitrate)
63 | //{
64 | //}
65 |
66 | //然后判断码率,进行后黑
67 |
68 | #region 测试区域
69 | System.Threading.Thread.Sleep(2000);
70 | #endregion
71 |
72 | return true;//true表示转码成功
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/mp4box/ResourceCulture.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: komaruchan
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System.Reflection;
22 | using System.Resources;
23 | using System.Threading;
24 | using System.Globalization;
25 |
26 | namespace mp4box
27 | {
28 | class ResourceCulture
29 | {
30 | ///
31 | /// Set current culture by name
32 | ///
33 | /// name
34 | public static void SetCurrentCulture(string name)
35 | {
36 | if (string.IsNullOrEmpty(name))
37 | {
38 | name = "en-US";
39 | }
40 |
41 | Thread.CurrentThread.CurrentCulture = new CultureInfo(name);
42 | }
43 |
44 | ///
45 | /// Get string by id
46 | ///
47 | /// id
48 | /// current language string
49 | public static string GetString(string id)
50 | {
51 | string strCurLanguage = "";
52 |
53 | try
54 | {
55 | ResourceManager rm = new ResourceManager("GlobalizationTest.Resource", Assembly.GetExecutingAssembly());
56 | CultureInfo ci = Thread.CurrentThread.CurrentCulture;
57 | strCurLanguage = rm.GetString(id, ci);
58 | }
59 | catch
60 | {
61 | strCurLanguage = "No id:" + id + ", please add.";
62 | }
63 |
64 | return strCurLanguage;
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/ControlExs/Enums/WindowStyle.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 |
24 | namespace ControlExs
25 | {
26 |
27 | /****************************************************************
28 | *
29 | * Author:苦笑
30 | * Blog: http://www.cnblogs.com/Keep-Silence-/
31 | * Date: 2013-2-22
32 | *
33 | *****************************************************************/
34 |
35 |
36 | public enum WindowStyle : uint
37 | {
38 | WS_OVERLAPPED = 0x00000000,
39 | WS_POPUP = 0x80000000,
40 | WS_CHILD = 0x40000000,
41 | WS_MINIMIZE = 0x20000000,
42 | WS_VISIBLE = 0x10000000,
43 | WS_DISABLED = 0x08000000,
44 | WS_CLIPSIBLINGS = 0x04000000,
45 | WS_CLIPCHILDREN = 0x02000000,
46 | WS_MAXIMIZE = 0x01000000,
47 | WS_CAPTION = 0x00C00000,
48 | WS_BORDER = 0x00800000,
49 | WS_DLGFRAME = 0x00400000,
50 | WS_VSCROLL = 0x00200000,
51 | WS_HSCROLL = 0x00100000,
52 | WS_SYSMENU = 0x00080000,
53 | WS_THICKFRAME = 0x00040000,
54 | WS_GROUP = 0x00020000,
55 | WS_TABSTOP = 0x00010000,
56 | WS_MINIMIZEBOX = 0x00020000,
57 | WS_MAXIMIZEBOX = 0x00010000,
58 | WS_TILED = WS_OVERLAPPED,
59 | WS_ICONIC = WS_MINIMIZE,
60 | WS_SIZEBOX = WS_THICKFRAME,
61 | WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW,
62 | WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU |
63 | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX),
64 | WS_POPUPWINDOW = (WS_POPUP | WS_BORDER | WS_SYSMENU),
65 | WS_CHILDWINDOW = (WS_CHILD)
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.18444
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace XwWizard.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// 一个强类型的资源类,用于查找本地化的字符串等。
17 | ///
18 | // 此类是由 StronglyTypedResourceBuilder
19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
21 | // (以 /str 作为命令选项),或重新生成 VS 项目。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// 返回此类使用的缓存的 ResourceManager 实例。
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XwWizard.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// 使用此强类型资源类,为所有资源查找
51 | /// 重写当前线程的 CurrentUICulture 属性。
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/mp4box/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34014
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace mp4box.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("mp4box.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/ControlExs/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34014
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace ControlExs.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ControlExs.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/mp4box/PreviewForm.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace mp4box
2 | {
3 | partial class PreviewForm
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PreviewForm));
32 | this.axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
33 | ((System.ComponentModel.ISupportInitialize)(this.axWindowsMediaPlayer1)).BeginInit();
34 | this.SuspendLayout();
35 | //
36 | // axWindowsMediaPlayer1
37 | //
38 | this.axWindowsMediaPlayer1.Dock = System.Windows.Forms.DockStyle.Fill;
39 | this.axWindowsMediaPlayer1.Enabled = true;
40 | this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);
41 | this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1";
42 | this.axWindowsMediaPlayer1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWindowsMediaPlayer1.OcxState")));
43 | this.axWindowsMediaPlayer1.Size = new System.Drawing.Size(640, 480);
44 | this.axWindowsMediaPlayer1.TabIndex = 0;
45 | //
46 | // PreviewForm
47 | //
48 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
49 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
50 | this.ClientSize = new System.Drawing.Size(640, 480);
51 | this.Controls.Add(this.axWindowsMediaPlayer1);
52 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
53 | this.Name = "PreviewForm";
54 | this.Text = "Preview";
55 | this.Load += new System.EventHandler(this.Form2_Load);
56 | this.SizeChanged += new System.EventHandler(this.Form2_SizeChanged);
57 | ((System.ComponentModel.ISupportInitialize)(this.axWindowsMediaPlayer1)).EndInit();
58 | this.ResumeLayout(false);
59 |
60 | }
61 |
62 | #endregion
63 |
64 | public AxWMPLib.AxWindowsMediaPlayer axWindowsMediaPlayer1;
65 | }
66 | }
--------------------------------------------------------------------------------
/mp4box.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2013
4 | VisualStudioVersion = 12.0.30501.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mp4box", "mp4box\mp4box.csproj", "{8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlExs", "ControlExs\ControlExs.csproj", "{05CC89B6-EF40-490F-A663-228AE6468776}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XwWizard", "XwWizard\WindowsFormsApplication1\XwWizard.csproj", "{671085C2-29E1-4396-BED4-9A760D977F7B}"
11 | EndProject
12 | Global
13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 | Debug|Any CPU = Debug|Any CPU
15 | Debug|x86 = Debug|x86
16 | Release|Any CPU = Release|Any CPU
17 | Release|x86 = Release|x86
18 | EndGlobalSection
19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Debug|Any CPU.ActiveCfg = Debug|x86
21 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Debug|Any CPU.Build.0 = Debug|x86
22 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Debug|x86.ActiveCfg = Debug|x86
23 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Debug|x86.Build.0 = Debug|x86
24 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
25 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Release|Any CPU.Build.0 = Release|Any CPU
26 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Release|x86.ActiveCfg = Release|x86
27 | {8EDD4344-3B13-4C38-AB50-9AAA036F5CDD}.Release|x86.Build.0 = Release|x86
28 | {05CC89B6-EF40-490F-A663-228AE6468776}.Debug|Any CPU.ActiveCfg = Debug|x86
29 | {05CC89B6-EF40-490F-A663-228AE6468776}.Debug|Any CPU.Build.0 = Debug|x86
30 | {05CC89B6-EF40-490F-A663-228AE6468776}.Debug|x86.ActiveCfg = Debug|x86
31 | {05CC89B6-EF40-490F-A663-228AE6468776}.Debug|x86.Build.0 = Debug|x86
32 | {05CC89B6-EF40-490F-A663-228AE6468776}.Release|Any CPU.ActiveCfg = Release|Any CPU
33 | {05CC89B6-EF40-490F-A663-228AE6468776}.Release|Any CPU.Build.0 = Release|Any CPU
34 | {05CC89B6-EF40-490F-A663-228AE6468776}.Release|x86.ActiveCfg = Release|x86
35 | {05CC89B6-EF40-490F-A663-228AE6468776}.Release|x86.Build.0 = Release|x86
36 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Debug|Any CPU.ActiveCfg = Debug|x86
37 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Debug|Any CPU.Build.0 = Debug|x86
38 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Debug|x86.ActiveCfg = Debug|x86
39 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Debug|x86.Build.0 = Debug|x86
40 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
41 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Release|Any CPU.Build.0 = Release|Any CPU
42 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Release|x86.ActiveCfg = Release|x86
43 | {671085C2-29E1-4396-BED4-9A760D977F7B}.Release|x86.Build.0 = Release|x86
44 | EndGlobalSection
45 | GlobalSection(SolutionProperties) = preSolution
46 | HideSolutionNode = FALSE
47 | EndGlobalSection
48 | EndGlobal
49 |
--------------------------------------------------------------------------------
/mp4box/Program.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: komaruchan
5 | // LunarShaddow
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
16 | // express or implied.
17 | // See the License for the specific language governing permissions
18 | // and limitations under the License.
19 | // -------------------------------------------------------------------
20 | //
21 |
22 | using System;
23 | using System.Collections.Generic;
24 | using System.Configuration;
25 | using System.Diagnostics;
26 | using System.IO;
27 | using System.Reflection;
28 | using System.Runtime.InteropServices;
29 | using System.Threading;
30 | using System.Windows.Forms;
31 | namespace mp4box
32 | {
33 | static class Program
34 | {
35 | private class NativeMethods
36 | {
37 | [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
38 | public static extern bool SetDllDirectory(string path);
39 |
40 | public static void SetUnmanagedDllDirectory()
41 | {
42 | string path = Path.Combine(Application.StartupPath, "tools");
43 | if (IntPtr.Size == 8)
44 | path = Path.Combine(path, "x64");
45 | if (!SetDllDirectory(path))
46 | throw new System.ComponentModel.Win32Exception();
47 | }
48 | }
49 |
50 | ///
51 | /// 应用程序的主入口点。
52 | ///
53 | [STAThread]
54 | static void Main()
55 | {
56 | Application.EnableVisualStyles();
57 | Application.SetCompatibleTextRenderingDefault(false);
58 | NativeMethods.SetUnmanagedDllDirectory();
59 |
60 | var modulename = Process.GetCurrentProcess().MainModule.ModuleName;
61 | var procesname = Path.GetFileNameWithoutExtension(modulename);
62 | Process[] processes = Process.GetProcessesByName(procesname);
63 | if (processes.Length > 1)
64 | {
65 | MessageBox.Show("你已经打开了一个小丸工具箱喔!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
66 | Application.Exit();
67 | return;
68 | }
69 |
70 | if (ConfigurationManager.AppSettings["SplashScreen"] == "True")
71 | {
72 | Application.Run(new mycontext());
73 | }
74 | else
75 | {
76 | Application.Run(new MainForm());
77 | }
78 | }
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.sln.docstates
8 |
9 | # toolchain
10 |
11 | xiaowan/
12 |
13 | # Build results
14 |
15 | [Dd]ebug/
16 | [Rr]elease/
17 | x86/
18 | x64/
19 | build/
20 | [Bb]in/
21 | [Oo]bj/
22 | *.csproj.FileListAbsolute.txt
23 |
24 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
25 | !packages/*/build/
26 |
27 | # MSTest test Results
28 | [Tt]est[Rr]esult*/
29 | [Bb]uild[Ll]og.*
30 |
31 | *_i.c
32 | *_p.c
33 | *.ilk
34 | *.meta
35 | *.obj
36 | *.pch
37 | *.pdb
38 | *.pgc
39 | *.pgd
40 | *.rsp
41 | *.sbr
42 | *.tlb
43 | *.tli
44 | *.tlh
45 | *.tmp
46 | *.tmp_proj
47 | *.log
48 | *.vspscc
49 | *.vssscc
50 | .builds
51 | *.pidb
52 | *.log
53 | *.scc
54 |
55 | # Visual C++ cache files
56 | ipch/
57 | *.aps
58 | *.ncb
59 | *.opensdf
60 | *.sdf
61 | *.cachefile
62 |
63 | # Visual Studio profiler
64 | *.psess
65 | *.vsp
66 | *.vspx
67 |
68 | # Guidance Automation Toolkit
69 | *.gpState
70 |
71 | # ReSharper is a .NET coding add-in
72 | _ReSharper*/
73 | *.[Rr]e[Ss]harper
74 |
75 | # TeamCity is a build add-in
76 | _TeamCity*
77 |
78 | # DotCover is a Code Coverage Tool
79 | *.dotCover
80 |
81 | # NCrunch
82 | *.ncrunch*
83 | .*crunch*.local.xml
84 |
85 | # Installshield output folder
86 | [Ee]xpress/
87 |
88 | # DocProject is a documentation generator add-in
89 | DocProject/buildhelp/
90 | DocProject/Help/*.HxT
91 | DocProject/Help/*.HxC
92 | DocProject/Help/*.hhc
93 | DocProject/Help/*.hhk
94 | DocProject/Help/*.hhp
95 | DocProject/Help/Html2
96 | DocProject/Help/html
97 |
98 | # Click-Once directory
99 | publish/
100 |
101 | # Publish Web Output
102 | *.Publish.xml
103 |
104 | # NuGet Packages Directory
105 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line
106 | #packages/
107 |
108 | # Windows Azure Build Output
109 | csx
110 | *.build.csdef
111 |
112 | # Windows Store app package directory
113 | AppPackages/
114 |
115 | # Others
116 | sql/
117 | *.Cache
118 | ClientBin/
119 | [Ss]tyle[Cc]op.*
120 | ~$*
121 | *~
122 | *.dbmdl
123 | *.[Pp]ublish.xml
124 | *.pfx
125 | *.publishsettings
126 |
127 | # RIA/Silverlight projects
128 | Generated_Code/
129 |
130 | # Backup & report files from converting an old project file to a newer
131 | # Visual Studio version. Backup files are not needed, because we have git ;-)
132 | _UpgradeReport_Files/
133 | Backup*/
134 | UpgradeLog*.XML
135 | UpgradeLog*.htm
136 |
137 | # SQL Server files
138 | App_Data/*.mdf
139 | App_Data/*.ldf
140 |
141 |
142 | #LightSwitch generated files
143 | GeneratedArtifacts/
144 | _Pvt_Extensions/
145 | ModelManifest.xml
146 |
147 | # =========================
148 | # Windows detritus
149 | # =========================
150 |
151 | # Windows image file caches
152 | Thumbs.db
153 | ehthumbs.db
154 |
155 | # Folder config file
156 | Desktop.ini
157 |
158 | # Recycle Bin used on file shares
159 | $RECYCLE.BIN/
160 |
161 | # Mac desktop service store files
162 | .DS_Store
163 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep4.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace XwWizard.WizardSteps
2 | {
3 | partial class FormStep4
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.panelStep4 = new System.Windows.Forms.Panel();
32 | this.label1 = new System.Windows.Forms.Label();
33 | this.panelStep4.SuspendLayout();
34 | this.SuspendLayout();
35 | //
36 | // panelStep4
37 | //
38 | this.panelStep4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
39 | this.panelStep4.Controls.Add(this.label1);
40 | this.panelStep4.Location = new System.Drawing.Point(32, 41);
41 | this.panelStep4.Name = "panelStep4";
42 | this.panelStep4.Size = new System.Drawing.Size(720, 480);
43 | this.panelStep4.TabIndex = 3;
44 | //
45 | // label1
46 | //
47 | this.label1.AutoSize = true;
48 | this.label1.Font = new System.Drawing.Font("微软雅黑", 28F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
49 | this.label1.ForeColor = System.Drawing.Color.White;
50 | this.label1.Location = new System.Drawing.Point(273, 215);
51 | this.label1.Name = "label1";
52 | this.label1.Size = new System.Drawing.Size(174, 50);
53 | this.label1.TabIndex = 0;
54 | this.label1.Text = "正在处理";
55 | //
56 | // FormStep4
57 | //
58 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
59 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
60 | this.ClientSize = new System.Drawing.Size(784, 562);
61 | this.Controls.Add(this.panelStep4);
62 | this.Name = "FormStep4";
63 | this.Text = "FormStep4";
64 | this.panelStep4.ResumeLayout(false);
65 | this.panelStep4.PerformLayout();
66 | this.ResumeLayout(false);
67 |
68 | }
69 |
70 | #endregion
71 |
72 | public System.Windows.Forms.Panel panelStep4;
73 | private System.Windows.Forms.Label label1;
74 | }
75 | }
--------------------------------------------------------------------------------
/mp4box/Supplements.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LunarShaddow
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Drawing;
25 | using System.Windows.Forms;
26 | using System.Text;
27 |
28 | namespace mp4box
29 | {
30 | namespace Extension
31 | {
32 | ///
33 | /// A wrapper to make Invoke more easy by using Method Extension.
34 | ///
35 | static class Invoker
36 | {
37 | public static void InvokeIfRequired(this ISynchronizeInvoke control, MethodInvoker action)
38 | {
39 | if (control.InvokeRequired)
40 | control.Invoke(action, null);
41 | else
42 | action();
43 | }
44 | }
45 |
46 | ///
47 | /// Handmade progress bar. Currently not in use.
48 | ///
49 | class ProgressBarEx : ProgressBar
50 | {
51 | public ProgressBarEx()
52 | {
53 | // Modify the ControlStyles flags
54 | //http://msdn.microsoft.com/en-us/library/system.windows.forms.controlstyles.aspx
55 | SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
56 | // Initialize Property
57 | CustomText = "";
58 | Format = new StringFormat(StringFormatFlags.NoWrap);
59 | Format.Alignment = StringAlignment.Center;
60 | Format.LineAlignment = StringAlignment.Center;
61 | }
62 |
63 | public String CustomText { get; set; }
64 |
65 | private StringFormat Format { get; set; }
66 |
67 | protected override void OnPaint(PaintEventArgs e)
68 | {
69 | // let the system do base work first
70 | base.OnPaint(e);
71 | // grab some tools
72 | var rect = ClientRectangle;
73 | var g = e.Graphics;
74 | // draw the background
75 | ProgressBarRenderer.DrawHorizontalBar(g, rect);
76 | rect.Inflate(-3, -3);
77 | // then chunk
78 | if (Value > 0)
79 | {
80 | Rectangle clip = new Rectangle(rect.X, rect.Y, Value * rect.Width / Maximum, rect.Height);
81 | ProgressBarRenderer.DrawHorizontalChunks(g, clip);
82 | }
83 | // append text
84 | g.DrawString(CustomText, SystemFonts.DefaultFont, SystemBrushes.ControlText,
85 | this.DisplayRectangle, Format);
86 | }
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/ControlExs/Methods/Win32.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | // express or implied.
14 | // See the License for the specific language governing permissions
15 | // and limitations under the License.
16 | // -------------------------------------------------------------------
17 | //
18 |
19 | using System;
20 | using System.Collections.Generic;
21 |
22 | using System.Text;
23 | using System.Runtime.InteropServices;
24 |
25 | namespace ControlExs
26 | {
27 |
28 | /****************************************************************
29 | *
30 | * Author:苦笑
31 | * Blog: http://www.cnblogs.com/Keep-Silence-/
32 | * Date: 2013-2-22
33 | *
34 | *****************************************************************/
35 |
36 |
37 | public class Win32
38 | {
39 | #region Window Const
40 |
41 | public const int WM_KEYDOWN = 0x0100;
42 | public const int WM_KEYUP = 0x0101;
43 | public const int WM_CTLCOLOREDIT = 0x133;
44 | public const int WM_ERASEBKGND = 0x0014;
45 | public const int WM_LBUTTONDOWN = 0x0201;
46 | public const int WM_LBUTTONUP = 0x0202;
47 | public const int WM_LBUTTONDBLCLK = 0x0203;
48 | public const int WM_WINDOWPOSCHANGING = 0x46;
49 | public const int WM_PAINT = 0xF;
50 | public const int WM_CREATE = 0x0001;
51 | public const int WM_ACTIVATE = 0x0006;
52 | public const int WM_NCCREATE = 0x0081;
53 | public const int WM_NCCALCSIZE = 0x0083;
54 | public const int WM_NCPAINT = 0x0085;
55 | public const int WM_NCACTIVATE = 0x0086;
56 | public const int WM_NCLBUTTONDOWN = 0x00A1;
57 | public const int WM_NCLBUTTONUP = 0x00A2;
58 | public const int WM_NCLBUTTONDBLCLK = 0x00A3;
59 | public const int WM_NCMOUSEMOVE = 0x00A0;
60 |
61 | public const int WM_NCHITTEST = 0x0084;
62 |
63 | public const int HTLEFT = 10;
64 | public const int HTRIGHT = 11;
65 | public const int HTTOP = 12;
66 | public const int HTTOPLEFT = 13;
67 | public const int HTTOPRIGHT = 14;
68 | public const int HTBOTTOM = 15;
69 | public const int HTBOTTOMLEFT = 0x10;
70 | public const int HTBOTTOMRIGHT = 17;
71 | public const int HTCAPTION = 2;
72 | public const int HTCLIENT = 1;
73 |
74 | public const int WM_FALSE = 0;
75 | public const int WM_TRUE = 1;
76 |
77 |
78 |
79 | #endregion
80 |
81 | #region Public extern methods
82 |
83 | [DllImport("gdi32.dll")]
84 | public static extern int CreateRoundRectRgn(int x1, int y1, int x2, int y2, int x3, int y3);
85 |
86 | [DllImport("user32.dll")]
87 | public static extern int SetWindowRgn(IntPtr hwnd, int hRgn, Boolean bRedraw);
88 |
89 | [DllImport("gdi32.dll", EntryPoint = "DeleteObject", CharSet = CharSet.Ansi)]
90 | public static extern int DeleteObject(int hObject);
91 |
92 | [DllImport("user32.dll")]
93 | public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
94 |
95 | [DllImport("user32.dll")]
96 | public static extern bool ReleaseCapture();
97 |
98 | #endregion
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep1.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace XwWizard.WizardSteps
2 | {
3 | partial class FormStep1
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.panelStep1 = new System.Windows.Forms.Panel();
32 | this.label1 = new System.Windows.Forms.Label();
33 | this.label2 = new System.Windows.Forms.Label();
34 | this.panelStep1.SuspendLayout();
35 | this.SuspendLayout();
36 | //
37 | // panelStep1
38 | //
39 | this.panelStep1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
40 | this.panelStep1.Controls.Add(this.label2);
41 | this.panelStep1.Controls.Add(this.label1);
42 | this.panelStep1.Location = new System.Drawing.Point(32, 41);
43 | this.panelStep1.Name = "panelStep1";
44 | this.panelStep1.Size = new System.Drawing.Size(720, 480);
45 | this.panelStep1.TabIndex = 0;
46 | //
47 | // label1
48 | //
49 | this.label1.AutoSize = true;
50 | this.label1.Font = new System.Drawing.Font("微软雅黑", 32F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
51 | this.label1.ForeColor = System.Drawing.Color.White;
52 | this.label1.Location = new System.Drawing.Point(48, 183);
53 | this.label1.Name = "label1";
54 | this.label1.Size = new System.Drawing.Size(627, 57);
55 | this.label1.TabIndex = 0;
56 | this.label1.Text = "你是否觉得:过去的转码方式都";
57 | //
58 | // label2
59 | //
60 | this.label2.AutoSize = true;
61 | this.label2.Font = new System.Drawing.Font("微软雅黑", 44F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
62 | this.label2.ForeColor = System.Drawing.Color.White;
63 | this.label2.Location = new System.Drawing.Point(45, 240);
64 | this.label2.Name = "label2";
65 | this.label2.Size = new System.Drawing.Size(210, 78);
66 | this.label2.TabIndex = 1;
67 | this.label2.Text = "弱爆了";
68 | //
69 | // FormStep1
70 | //
71 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
72 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
73 | this.ClientSize = new System.Drawing.Size(784, 562);
74 | this.Controls.Add(this.panelStep1);
75 | this.Name = "FormStep1";
76 | this.Text = "FormStep1";
77 | this.panelStep1.ResumeLayout(false);
78 | this.panelStep1.PerformLayout();
79 | this.ResumeLayout(false);
80 |
81 | }
82 |
83 | #endregion
84 |
85 | private System.Windows.Forms.Label label2;
86 | private System.Windows.Forms.Label label1;
87 | public System.Windows.Forms.Panel panelStep1;
88 | }
89 | }
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep2.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Windows.Forms;
29 | using System.IO;
30 |
31 | namespace XwWizard.WizardSteps
32 | {
33 | public partial class FormStep2 : Form
34 | {
35 | public FormStep2(FormWizard wizardParent)
36 | {
37 | this.WizardParent = wizardParent;
38 | InitializeComponent();
39 | }
40 |
41 | private FormWizard WizardParent = null;
42 |
43 | private void button1_Click(object sender, EventArgs e)
44 | {
45 | //TODO: 弹出对话框
46 | if (openFileDialog1.ShowDialog() == DialogResult.OK)
47 | {
48 | if (!File.Exists(openFileDialog1.FileName))
49 | {
50 | MessageBox.Show("文件不存在!", "骚年你是在玩我", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
51 | return;
52 | }
53 | else
54 | {
55 | FormWizard.VideoFilePath = openFileDialog1.FileName;
56 |
57 | this.CheckFile();
58 | }
59 | }
60 | }
61 |
62 | ///
63 | /// 判断文件
64 | ///
65 | public void CheckFile()
66 | {
67 | if (!IsVideo())
68 | {
69 | MessageBox.Show(FormWizard.VideoFilePath + "\n不是视频!", "你又在玩我",
70 | MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
71 | FormWizard.VideoFilePath = null;
72 | return;
73 | }
74 |
75 | FormWizard.NeedEncode = NeedEncode();
76 | if (FormWizard.NeedEncode)
77 | {
78 | FormWizard.NeedMux = false;
79 | }
80 | else
81 | {
82 | FormWizard.NeedMux = NeedMux();
83 | }
84 | //if (!FormWizard.NeedEncode)//不需要转码,直接直接封装
85 | //{
86 | // WizardParent.SwitchToNextStep();
87 | // return;
88 | //}
89 |
90 | ////Need Encoding
91 | //WizardParent.SwitchToNextStep();
92 |
93 | WizardParent.SwitchToNextStep();
94 | }
95 |
96 | ///
97 | /// 判断这个文件是否是视频文件
98 | ///
99 | ///
100 | private bool IsVideo()
101 | {
102 | //FormWizard.VideoFilePath
103 | //判断这个文件是否是视频文件(是否存在视频流)
104 | return MediaInfoTool.IsVideo(FormWizard.VideoFilePath);
105 | }
106 |
107 | ///
108 | /// 判断是否需要转码
109 | ///
110 | ///
111 | private bool NeedEncode()
112 | {
113 | //判断是否需要转码
114 | //H264 + (AAC/MP3)则不需要
115 | return MediaInfoTool.NeedEncoding(FormWizard.VideoFilePath);
116 | }
117 |
118 | private bool NeedMux()
119 | {
120 | return MediaInfoTool.NeedMux(FormWizard.VideoFilePath);
121 | }
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/mp4box/SplashForm.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace mp4box
2 | {
3 | partial class SplashForm
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashForm));
33 | this.timer = new System.Windows.Forms.Timer(this.components);
34 | this.pictureBox = new System.Windows.Forms.PictureBox();
35 | this.LuneartTextLabel = new mp4box.ArtTextLabel();
36 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit();
37 | this.SuspendLayout();
38 | //
39 | // timer
40 | //
41 | this.timer.Enabled = true;
42 | this.timer.Interval = 50;
43 | this.timer.Tick += new System.EventHandler(this.timer_Tick);
44 | //
45 | // pictureBox
46 | //
47 | this.pictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
48 | this.pictureBox.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox.Image")));
49 | this.pictureBox.Location = new System.Drawing.Point(0, 0);
50 | this.pictureBox.Name = "pictureBox";
51 | this.pictureBox.Size = new System.Drawing.Size(499, 281);
52 | this.pictureBox.TabIndex = 0;
53 | this.pictureBox.TabStop = false;
54 | this.pictureBox.DoubleClick += new System.EventHandler(this.pictureBox_DoubleClick);
55 | //
56 | // LuneartTextLabel
57 | //
58 | this.LuneartTextLabel.AutoSize = true;
59 | this.LuneartTextLabel.BackColor = System.Drawing.Color.Transparent;
60 | this.LuneartTextLabel.Font = new System.Drawing.Font("宋体", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
61 | this.LuneartTextLabel.ForeColor = System.Drawing.Color.LightGoldenrodYellow;
62 | this.LuneartTextLabel.Location = new System.Drawing.Point(350, 176);
63 | this.LuneartTextLabel.Name = "LuneartTextLabel";
64 | this.LuneartTextLabel.Size = new System.Drawing.Size(100, 29);
65 | this.LuneartTextLabel.TabIndex = 1;
66 | this.LuneartTextLabel.Text = "月儿版";
67 | //
68 | // SplashForm
69 | //
70 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
71 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
72 | this.ClientSize = new System.Drawing.Size(499, 281);
73 | this.Controls.Add(this.LuneartTextLabel);
74 | this.Controls.Add(this.pictureBox);
75 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
76 | this.Name = "SplashForm";
77 | this.Text = "小丸工具箱";
78 | this.Load += new System.EventHandler(this.SplashForm_Load);
79 | this.Paint += new System.Windows.Forms.PaintEventHandler(this.SplashForm_Paint);
80 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit();
81 | this.ResumeLayout(false);
82 | this.PerformLayout();
83 |
84 | }
85 |
86 | #endregion
87 |
88 | private System.Windows.Forms.Timer timer;
89 | private System.Windows.Forms.PictureBox pictureBox;
90 | private ArtTextLabel LuneartTextLabel;
91 | }
92 | }
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep5.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace XwWizard.WizardSteps
2 | {
3 | partial class FormStep5
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.panelStep5 = new System.Windows.Forms.Panel();
32 | this.btnChooseOutput = new System.Windows.Forms.Button();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.panelStep5.SuspendLayout();
35 | this.SuspendLayout();
36 | //
37 | // panelStep5
38 | //
39 | this.panelStep5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
40 | this.panelStep5.Controls.Add(this.btnChooseOutput);
41 | this.panelStep5.Controls.Add(this.label1);
42 | this.panelStep5.Location = new System.Drawing.Point(32, 41);
43 | this.panelStep5.Name = "panelStep5";
44 | this.panelStep5.Size = new System.Drawing.Size(720, 480);
45 | this.panelStep5.TabIndex = 4;
46 | //
47 | // btnChooseOutput
48 | //
49 | this.btnChooseOutput.AutoSize = true;
50 | this.btnChooseOutput.FlatAppearance.BorderColor = System.Drawing.Color.White;
51 | this.btnChooseOutput.FlatAppearance.BorderSize = 5;
52 | this.btnChooseOutput.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
53 | this.btnChooseOutput.Font = new System.Drawing.Font("微软雅黑", 44F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
54 | this.btnChooseOutput.ForeColor = System.Drawing.Color.White;
55 | this.btnChooseOutput.Location = new System.Drawing.Point(216, 222);
56 | this.btnChooseOutput.Name = "btnChooseOutput";
57 | this.btnChooseOutput.Size = new System.Drawing.Size(289, 98);
58 | this.btnChooseOutput.TabIndex = 2;
59 | this.btnChooseOutput.Text = "打开看看";
60 | this.btnChooseOutput.UseVisualStyleBackColor = true;
61 | this.btnChooseOutput.Click += new System.EventHandler(this.btnChooseOutput_Click);
62 | //
63 | // label1
64 | //
65 | this.label1.AutoSize = true;
66 | this.label1.Font = new System.Drawing.Font("微软雅黑", 28F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
67 | this.label1.ForeColor = System.Drawing.Color.White;
68 | this.label1.Location = new System.Drawing.Point(140, 161);
69 | this.label1.Name = "label1";
70 | this.label1.Size = new System.Drawing.Size(440, 50);
71 | this.label1.TabIndex = 0;
72 | this.label1.Text = "恭喜你,视频处理成功!";
73 | //
74 | // FormStep5
75 | //
76 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
77 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
78 | this.ClientSize = new System.Drawing.Size(784, 562);
79 | this.Controls.Add(this.panelStep5);
80 | this.Name = "FormStep5";
81 | this.Text = "FormStep5";
82 | this.panelStep5.ResumeLayout(false);
83 | this.panelStep5.PerformLayout();
84 | this.ResumeLayout(false);
85 |
86 | }
87 |
88 | #endregion
89 |
90 | public System.Windows.Forms.Panel panelStep5;
91 | private System.Windows.Forms.Button btnChooseOutput;
92 | private System.Windows.Forms.Label label1;
93 | }
94 | }
--------------------------------------------------------------------------------
/mp4box/SplashScreenApplicationContext.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: komaruchan
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | //启动窗体虚基类,继承自ApplicationContext
22 | using System.Windows.Forms;
23 | using System.Threading;
24 | using System;
25 | //启动画面虚基类,启动画面会停留一段时间,该时间是设定的时间和主窗体构造所需时间两个的最大值
26 | public abstract class SplashScreenApplicationContext : ApplicationContext
27 | {
28 | private Form _SplashScreenForm;//启动窗体
29 | private Form _PrimaryForm;//主窗体
30 | private System.Timers.Timer _SplashScreenTimer;
31 | private int _SplashScreenTimerInterVal = 5000;//默认是启动窗体显示5秒
32 | private bool _bSplashScreenClosed = false;
33 | private delegate void DisposeDelegate();//关闭委托,下面需要使用控件的Invoke方法,该方法需要这个委托
34 | public SplashScreenApplicationContext()
35 | {
36 | this.ShowSplashScreen();//这里创建和显示启动窗体
37 | this.MainFormLoad();//这里创建和显示启动主窗体
38 | }
39 | protected abstract void OnCreateSplashScreenForm();
40 | protected abstract void OnCreateMainForm();
41 | protected abstract void SetSeconds();
42 | protected Form SplashScreenForm
43 | {
44 | set
45 | {
46 | this._SplashScreenForm = value;
47 | }
48 | }
49 | protected Form PrimaryForm
50 | {//在派生类中重写OnCreateMainForm方法,在MainFormLoad方法中调用OnCreateMainForm方法
51 | // ,在这里才会真正调用Form1(主窗体)的构造函数,即在启动窗体显示后再调用主窗体的构造函数
52 | // ,以避免这种情况:主窗体构造所需时间较长,在屏幕上许久没有响应,看不到启动窗体
53 | set
54 | {
55 | this._PrimaryForm = value;
56 | }
57 | }
58 | protected int SecondsShow
59 | {//未设置启动画面停留时间时,使用默认时间
60 | set
61 | {
62 | if (value != 0)
63 | {
64 | this._SplashScreenTimerInterVal = 1000 * value;
65 | }
66 | }
67 | }
68 | private void ShowSplashScreen()
69 | {
70 | this.SetSeconds();
71 | this.OnCreateSplashScreenForm();
72 | this._SplashScreenTimer = new System.Timers.Timer(((double)(this._SplashScreenTimerInterVal)));
73 | _SplashScreenTimer.Elapsed += new System.Timers.ElapsedEventHandler(new System.Timers.ElapsedEventHandler(this.SplashScreenDisplayTimeUp));
74 | this._SplashScreenTimer.AutoReset = false;
75 | Thread DisplaySpashScreenThread = new Thread(new ThreadStart(DisplaySplashScreen));
76 | DisplaySpashScreenThread.Start();
77 | }
78 | private void DisplaySplashScreen()
79 | {
80 | this._SplashScreenTimer.Enabled = true;
81 | Application.Run(this._SplashScreenForm);
82 | }
83 | private void SplashScreenDisplayTimeUp(object sender, System.Timers.ElapsedEventArgs e)
84 | {
85 | this._SplashScreenTimer.Dispose();
86 | this._SplashScreenTimer = null;
87 | this._bSplashScreenClosed = true;
88 | }
89 | private void MainFormLoad()
90 | {
91 | this.OnCreateMainForm();
92 |
93 | while (!(this._bSplashScreenClosed))
94 | {
95 | Application.DoEvents();
96 | }
97 | DisposeDelegate SplashScreenFormDisposeDelegate = new DisposeDelegate(this._SplashScreenForm.Dispose );
98 | this._SplashScreenForm.Invoke(SplashScreenFormDisposeDelegate);
99 | this._SplashScreenForm = null;
100 | //必须先显示,再激活,否则主窗体不能在启动窗体消失后出现
101 | this._PrimaryForm.Show();
102 | this._PrimaryForm.TopMost = true;
103 | this._PrimaryForm.TopMost = false;
104 | //this._PrimaryForm.BringToFront();
105 | this._PrimaryForm.Closed += new EventHandler(_PrimaryForm_Closed);
106 | }
107 | private void _PrimaryForm_Closed(object sender, EventArgs e)
108 | {
109 | base.ExitThread();
110 | }
111 | }
112 |
113 |
114 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep2.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace XwWizard.WizardSteps
2 | {
3 | partial class FormStep2
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.panelStep2 = new System.Windows.Forms.Panel();
32 | this.btnChooseFile = new System.Windows.Forms.Button();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
35 | this.panelStep2.SuspendLayout();
36 | this.SuspendLayout();
37 | //
38 | // panelStep2
39 | //
40 | this.panelStep2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
41 | this.panelStep2.Controls.Add(this.btnChooseFile);
42 | this.panelStep2.Controls.Add(this.label1);
43 | this.panelStep2.Location = new System.Drawing.Point(32, 41);
44 | this.panelStep2.Name = "panelStep2";
45 | this.panelStep2.Size = new System.Drawing.Size(720, 480);
46 | this.panelStep2.TabIndex = 1;
47 | //
48 | // btnChooseFile
49 | //
50 | this.btnChooseFile.AutoSize = true;
51 | this.btnChooseFile.FlatAppearance.BorderColor = System.Drawing.Color.White;
52 | this.btnChooseFile.FlatAppearance.BorderSize = 5;
53 | this.btnChooseFile.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
54 | this.btnChooseFile.Font = new System.Drawing.Font("微软雅黑", 44F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
55 | this.btnChooseFile.ForeColor = System.Drawing.Color.White;
56 | this.btnChooseFile.Location = new System.Drawing.Point(216, 191);
57 | this.btnChooseFile.Name = "btnChooseFile";
58 | this.btnChooseFile.Size = new System.Drawing.Size(289, 98);
59 | this.btnChooseFile.TabIndex = 1;
60 | this.btnChooseFile.Text = "选择文件";
61 | this.btnChooseFile.UseVisualStyleBackColor = true;
62 | this.btnChooseFile.Click += new System.EventHandler(this.button1_Click);
63 | //
64 | // label1
65 | //
66 | this.label1.AutoSize = true;
67 | this.label1.Font = new System.Drawing.Font("微软雅黑", 28F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
68 | this.label1.ForeColor = System.Drawing.Color.White;
69 | this.label1.Location = new System.Drawing.Point(121, 109);
70 | this.label1.Name = "label1";
71 | this.label1.Size = new System.Drawing.Size(478, 50);
72 | this.label1.TabIndex = 0;
73 | this.label1.Text = "那么,少年,我们开始吧!";
74 | //
75 | // openFileDialog1
76 | //
77 | this.openFileDialog1.Filter = "视频文件|*.*";
78 | //
79 | // FormStep2
80 | //
81 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
82 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
83 | this.ClientSize = new System.Drawing.Size(784, 562);
84 | this.Controls.Add(this.panelStep2);
85 | this.Name = "FormStep2";
86 | this.Text = "FormStep2";
87 | this.panelStep2.ResumeLayout(false);
88 | this.panelStep2.PerformLayout();
89 | this.ResumeLayout(false);
90 |
91 | }
92 |
93 | #endregion
94 |
95 | public System.Windows.Forms.Panel panelStep2;
96 | private System.Windows.Forms.Label label1;
97 | private System.Windows.Forms.Button btnChooseFile;
98 | private System.Windows.Forms.OpenFileDialog openFileDialog1;
99 | }
100 | }
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep3.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace XwWizard.WizardSteps
2 | {
3 | partial class FormStep3
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.panelStep3 = new System.Windows.Forms.Panel();
32 | this.btnChooseOutput = new System.Windows.Forms.Button();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
35 | this.panelStep3.SuspendLayout();
36 | this.SuspendLayout();
37 | //
38 | // panelStep3
39 | //
40 | this.panelStep3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
41 | this.panelStep3.Controls.Add(this.btnChooseOutput);
42 | this.panelStep3.Controls.Add(this.label1);
43 | this.panelStep3.Location = new System.Drawing.Point(32, 41);
44 | this.panelStep3.Name = "panelStep3";
45 | this.panelStep3.Size = new System.Drawing.Size(720, 480);
46 | this.panelStep3.TabIndex = 2;
47 | //
48 | // btnChooseOutput
49 | //
50 | this.btnChooseOutput.AutoSize = true;
51 | this.btnChooseOutput.FlatAppearance.BorderColor = System.Drawing.Color.White;
52 | this.btnChooseOutput.FlatAppearance.BorderSize = 5;
53 | this.btnChooseOutput.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
54 | this.btnChooseOutput.Font = new System.Drawing.Font("微软雅黑", 44F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
55 | this.btnChooseOutput.ForeColor = System.Drawing.Color.White;
56 | this.btnChooseOutput.Location = new System.Drawing.Point(216, 191);
57 | this.btnChooseOutput.Name = "btnChooseOutput";
58 | this.btnChooseOutput.Size = new System.Drawing.Size(289, 98);
59 | this.btnChooseOutput.TabIndex = 1;
60 | this.btnChooseOutput.Text = "指定输出";
61 | this.btnChooseOutput.UseVisualStyleBackColor = true;
62 | this.btnChooseOutput.Click += new System.EventHandler(this.btnChooseOutput_Click);
63 | //
64 | // label1
65 | //
66 | this.label1.AutoSize = true;
67 | this.label1.Font = new System.Drawing.Font("微软雅黑", 28F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
68 | this.label1.ForeColor = System.Drawing.Color.White;
69 | this.label1.Location = new System.Drawing.Point(235, 109);
70 | this.label1.Name = "label1";
71 | this.label1.Size = new System.Drawing.Size(250, 50);
72 | this.label1.TabIndex = 0;
73 | this.label1.Text = "输出到哪里?";
74 | //
75 | // saveFileDialog1
76 | //
77 | this.saveFileDialog1.FileName = "*.flv";
78 | this.saveFileDialog1.Filter = "FLV|*.flv|MP4|*.mp4|MKV|*.mkv|All Files|*.*";
79 | //
80 | // FormStep3
81 | //
82 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
83 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
84 | this.ClientSize = new System.Drawing.Size(784, 562);
85 | this.Controls.Add(this.panelStep3);
86 | this.Name = "FormStep3";
87 | this.Text = "FormStep3";
88 | this.panelStep3.ResumeLayout(false);
89 | this.panelStep3.PerformLayout();
90 | this.ResumeLayout(false);
91 |
92 | }
93 |
94 | #endregion
95 |
96 | public System.Windows.Forms.Panel panelStep3;
97 | private System.Windows.Forms.Button btnChooseOutput;
98 | private System.Windows.Forms.Label label1;
99 | private System.Windows.Forms.SaveFileDialog saveFileDialog1;
100 | }
101 | }
--------------------------------------------------------------------------------
/mp4box/WorkingForm.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace mp4box
2 | {
3 | partial class WorkingForm
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WorkingForm));
33 | this.buttonAbort = new System.Windows.Forms.Button();
34 | this.buttonSave = new System.Windows.Forms.Button();
35 | this.richTextBoxOutput = new System.Windows.Forms.RichTextBox();
36 | this.labelworkCount = new System.Windows.Forms.Label();
37 | this.progressBarX264 = new System.Windows.Forms.ProgressBar();
38 | this.labelProgress = new System.Windows.Forms.Label();
39 | this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
40 | this.SuspendLayout();
41 | //
42 | // buttonAbort
43 | //
44 | resources.ApplyResources(this.buttonAbort, "buttonAbort");
45 | this.buttonAbort.Name = "buttonAbort";
46 | this.buttonAbort.UseVisualStyleBackColor = true;
47 | this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click);
48 | //
49 | // buttonSave
50 | //
51 | resources.ApplyResources(this.buttonSave, "buttonSave");
52 | this.buttonSave.Name = "buttonSave";
53 | this.buttonSave.UseVisualStyleBackColor = true;
54 | this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
55 | //
56 | // richTextBoxOutput
57 | //
58 | resources.ApplyResources(this.richTextBoxOutput, "richTextBoxOutput");
59 | this.richTextBoxOutput.BackColor = System.Drawing.Color.White;
60 | this.richTextBoxOutput.Name = "richTextBoxOutput";
61 | this.richTextBoxOutput.ReadOnly = true;
62 | this.richTextBoxOutput.VScroll += new System.EventHandler(this.richTextBoxOutput_VScroll);
63 | this.richTextBoxOutput.Enter += new System.EventHandler(this.richTextBoxOutput_Enter);
64 | //
65 | // labelworkCount
66 | //
67 | resources.ApplyResources(this.labelworkCount, "labelworkCount");
68 | this.labelworkCount.Name = "labelworkCount";
69 | //
70 | // progressBarX264
71 | //
72 | resources.ApplyResources(this.progressBarX264, "progressBarX264");
73 | this.progressBarX264.Maximum = 1000;
74 | this.progressBarX264.Name = "progressBarX264";
75 | //
76 | // labelProgress
77 | //
78 | resources.ApplyResources(this.labelProgress, "labelProgress");
79 | this.labelProgress.Name = "labelProgress";
80 | //
81 | // notifyIcon
82 | //
83 | resources.ApplyResources(this.notifyIcon, "notifyIcon");
84 | this.notifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon_MouseClick);
85 | //
86 | // WorkingForm
87 | //
88 | resources.ApplyResources(this, "$this");
89 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
90 | this.Controls.Add(this.labelProgress);
91 | this.Controls.Add(this.labelworkCount);
92 | this.Controls.Add(this.progressBarX264);
93 | this.Controls.Add(this.richTextBoxOutput);
94 | this.Controls.Add(this.buttonSave);
95 | this.Controls.Add(this.buttonAbort);
96 | this.Name = "WorkingForm";
97 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WorkingForm_FormClosing);
98 | this.Load += new System.EventHandler(this.WorkingForm_Load);
99 | this.Resize += new System.EventHandler(this.WorkingForm_Resize);
100 | this.ResumeLayout(false);
101 | this.PerformLayout();
102 |
103 | }
104 |
105 | #endregion
106 |
107 | private System.Windows.Forms.Button buttonAbort;
108 | private System.Windows.Forms.Button buttonSave;
109 | private System.Windows.Forms.RichTextBox richTextBoxOutput;
110 | private System.Windows.Forms.ProgressBar progressBarX264;
111 | private System.Windows.Forms.Label labelworkCount;
112 | private System.Windows.Forms.Label labelProgress;
113 | private System.Windows.Forms.NotifyIcon notifyIcon;
114 | }
115 | }
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/FormWizard.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace XwWizard
2 | {
3 | partial class FormWizard
4 | {
5 | ///
6 | /// 必需的设计器变量。
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// 清理所有正在使用的资源。
12 | ///
13 | /// 如果应释放托管资源,为 true;否则为 false。
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows 窗体设计器生成的代码
24 |
25 | ///
26 | /// 设计器支持所需的方法 - 不要
27 | /// 使用代码编辑器修改此方法的内容。
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormWizard));
32 | this.btnNext = new System.Windows.Forms.Button();
33 | this.btnPrev = new System.Windows.Forms.Button();
34 | this.btnCancel = new System.Windows.Forms.Button();
35 | this.SuspendLayout();
36 | //
37 | // btnNext
38 | //
39 | this.btnNext.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
40 | this.btnNext.FlatAppearance.BorderColor = System.Drawing.Color.White;
41 | this.btnNext.FlatAppearance.BorderSize = 2;
42 | this.btnNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
43 | this.btnNext.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
44 | this.btnNext.ForeColor = System.Drawing.Color.White;
45 | this.btnNext.Location = new System.Drawing.Point(633, 438);
46 | this.btnNext.Name = "btnNext";
47 | this.btnNext.Size = new System.Drawing.Size(75, 32);
48 | this.btnNext.TabIndex = 0;
49 | this.btnNext.Text = "下一步";
50 | this.btnNext.UseVisualStyleBackColor = false;
51 | this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
52 | //
53 | // btnPrev
54 | //
55 | this.btnPrev.AutoSize = true;
56 | this.btnPrev.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
57 | this.btnPrev.FlatAppearance.BorderColor = System.Drawing.Color.White;
58 | this.btnPrev.FlatAppearance.BorderSize = 2;
59 | this.btnPrev.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
60 | this.btnPrev.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
61 | this.btnPrev.ForeColor = System.Drawing.Color.White;
62 | this.btnPrev.Location = new System.Drawing.Point(552, 438);
63 | this.btnPrev.Name = "btnPrev";
64 | this.btnPrev.Size = new System.Drawing.Size(75, 32);
65 | this.btnPrev.TabIndex = 1;
66 | this.btnPrev.Text = "上一步";
67 | this.btnPrev.UseVisualStyleBackColor = false;
68 | this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click);
69 | //
70 | // btnCancel
71 | //
72 | this.btnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
73 | this.btnCancel.FlatAppearance.BorderColor = System.Drawing.Color.White;
74 | this.btnCancel.FlatAppearance.BorderSize = 2;
75 | this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
76 | this.btnCancel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
77 | this.btnCancel.ForeColor = System.Drawing.Color.White;
78 | this.btnCancel.Location = new System.Drawing.Point(471, 438);
79 | this.btnCancel.Name = "btnCancel";
80 | this.btnCancel.Size = new System.Drawing.Size(75, 32);
81 | this.btnCancel.TabIndex = 2;
82 | this.btnCancel.Text = "取消";
83 | this.btnCancel.UseVisualStyleBackColor = false;
84 | //
85 | // FormWizard
86 | //
87 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
88 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
89 | this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(67)))), ((int)(((byte)(122)))));
90 | this.ClientSize = new System.Drawing.Size(720, 480);
91 | this.Controls.Add(this.btnCancel);
92 | this.Controls.Add(this.btnPrev);
93 | this.Controls.Add(this.btnNext);
94 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
95 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
96 | this.MaximizeBox = false;
97 | this.Name = "FormWizard";
98 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
99 | this.Text = "快速通道";
100 | this.Load += new System.EventHandler(this.FormWizard_Load);
101 | this.ResumeLayout(false);
102 | this.PerformLayout();
103 |
104 | }
105 |
106 | #endregion
107 |
108 | private System.Windows.Forms.Button btnNext;
109 | private System.Windows.Forms.Button btnPrev;
110 | private System.Windows.Forms.Button btnCancel;
111 | }
112 | }
113 |
114 |
--------------------------------------------------------------------------------
/mp4box/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/ControlExs/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/ControlExs/ControlExs/FormEx/FormEx.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep1.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep4.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep5.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/ControlExs/ControlExs/QQControls/QQMessageBox/QQMessageBox.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/mp4box/Cmd.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Linq;
24 | using System.Text;
25 | using System.Diagnostics;
26 | using System.Windows.Forms;
27 | using System.IO;
28 | using System.Threading;
29 |
30 | namespace mp4box
31 | {
32 | class Cmd
33 | {
34 |
35 | ///
36 | /// 自动加引号
37 | ///
38 | ///
39 | ///
40 | public static string FormatPath(string path)
41 | {
42 | if (string.IsNullOrEmpty(path)) { return null; }
43 | string ret = null;
44 | ret = path.Replace("\"", "");
45 | if (ret.Contains(" ")) { ret = "\"" + ret + "\""; }
46 | return ret;
47 | }
48 |
49 | ///
50 | /// concat:D:\一二三123.png 可以防止FFMpeg不认中文名输入文件的Bug
51 | ///
52 | ///
53 | ///
54 | public static string ConcatProtocol(string path)
55 | {
56 | return FormatPath("concat:" + path);
57 | }
58 |
59 | ///
60 | /// 防止文件或目录重名
61 | ///
62 | /// 原路径
63 | /// 不会重名的路径
64 | public static string GetSuitablePath(string oriPath_)
65 | {
66 | if (string.IsNullOrEmpty(oriPath_)) { return null; }
67 | string oriPath = oriPath_.Replace("\"", string.Empty);//去掉引号
68 |
69 | if ((!File.Exists(oriPath)) && (!Directory.Exists(oriPath)))
70 | {
71 | return oriPath;
72 | }
73 | int i = 0;
74 | string ext = Path.GetExtension(oriPath);
75 | string str = oriPath.Remove(oriPath.Length - ext.Length) + "_" + i;
76 | while (File.Exists(str + ext) || Directory.Exists(str + ext))
77 | {
78 | i++;
79 | str = oriPath + "_" + i;
80 | }
81 |
82 | return str + ext;
83 | }
84 | ///
85 | /// 输入:目标文件的 路径或所在目录;
86 | /// 输入:原始文件的路径;
87 | /// 输出:输出文件的路径。
88 | /// 用目标目录或文件路径(取自tbOutput),和输入的文件,返回一个供输出的文件路径。
89 | ///
90 | /// 目标目录或文件路径
91 | /// 输入的文件(若DestDirOrFile是文件,则忽略此项)
92 | /// 换扩展名
93 | ///
94 | public static string GetSimilarFilePath(string DestDirOrFile_, string SrcFile_, string dotExtension)
95 | {
96 | if (string.IsNullOrEmpty(DestDirOrFile_)) { return null; }
97 | if (string.IsNullOrEmpty(SrcFile_)) { return null; }
98 | string DestDirOrFile = DestDirOrFile_.Replace("\"", string.Empty);
99 | string SrcFile = SrcFile_.Replace("\"", string.Empty);//去掉引号
100 |
101 | if (DestDirOrFile.EndsWith("\\"))//目录
102 | {
103 | if (string.IsNullOrEmpty(dotExtension))//没有指定扩展名
104 | {
105 | return DestDirOrFile + Path.GetFileName(SrcFile);
106 | }
107 | else//指定了扩展名
108 | {
109 | return DestDirOrFile + Path.GetFileNameWithoutExtension(SrcFile) + dotExtension;
110 | }
111 | }
112 | else
113 | {
114 | //单文件,已经设置好了输出
115 | //DestDirOrFile是文件路径
116 |
117 | if (string.IsNullOrEmpty(dotExtension))//没有指定扩展名
118 | {
119 | return DestDirOrFile;
120 | }
121 | else//指定了扩展名
122 | {
123 | return ChangeExt(DestDirOrFile, dotExtension);//换扩展名
124 | }
125 | }
126 | }
127 | ///
128 | /// 用目标目录或文件路径(取自tbOutput),和输入的文件,返回一个供输出的文件路径。
129 | ///
130 | /// 目标目录或文件路径
131 | /// 输入的文件
132 | ///
133 | public static string GetSimilarFilePath(string DestDirOrFile, string SrcFile)
134 | {
135 | return GetSimilarFilePath(DestDirOrFile, SrcFile, null);
136 | }
137 | ///
138 | /// 更换扩展名(保留绝对路径)
139 | ///
140 | ///
141 | ///
142 | ///
143 | public static string ChangeExt(string srcFile, string ext)
144 | {
145 | return GetDir(srcFile) + Path.GetFileNameWithoutExtension(srcFile) + ext;
146 | }
147 | ///
148 | /// 获取文件目录,带“\”
149 | ///
150 | /// 文件路径
151 | ///
152 | public static string GetDir(string path)
153 | {
154 | string fileDir = Path.GetDirectoryName(path);
155 | if (fileDir.EndsWith("\\"))
156 | {
157 | return fileDir;
158 | }
159 | else
160 | {
161 | return fileDir + "\\";
162 | }
163 | }
164 |
165 | }
166 | }
167 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep2.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/WizardSteps/FormStep3.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/XwWizard.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | x86
6 | 8.0.30703
7 | 2.0
8 | {671085C2-29E1-4396-BED4-9A760D977F7B}
9 | Library
10 | Properties
11 | XwWizard
12 | XwWizard
13 | v3.5
14 | 512
15 |
16 |
17 | x86
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | x86
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 |
37 |
38 |
39 | true
40 | bin\Debug\
41 | DEBUG;TRACE
42 | full
43 | AnyCPU
44 | prompt
45 | MinimumRecommendedRules.ruleset
46 |
47 |
48 | bin\Release\
49 | TRACE
50 | true
51 | pdbonly
52 | AnyCPU
53 | prompt
54 | MinimumRecommendedRules.ruleset
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | Form
70 |
71 |
72 | FormWizard.cs
73 |
74 |
75 | Code
76 |
77 |
78 |
79 |
80 |
81 |
82 | Form
83 |
84 |
85 | FormStep1.cs
86 |
87 |
88 | Form
89 |
90 |
91 | FormStep2.cs
92 |
93 |
94 | Form
95 |
96 |
97 | FormStep3.cs
98 |
99 |
100 | Form
101 |
102 |
103 | FormStep4.cs
104 |
105 |
106 | Form
107 |
108 |
109 | FormStep5.cs
110 |
111 |
112 | FormWizard.cs
113 |
114 |
115 | ResXFileCodeGenerator
116 | Resources.Designer.cs
117 | Designer
118 |
119 |
120 | True
121 | Resources.resx
122 | True
123 |
124 |
125 | FormStep1.cs
126 |
127 |
128 | FormStep2.cs
129 |
130 |
131 | FormStep3.cs
132 |
133 |
134 | FormStep4.cs
135 |
136 |
137 | FormStep5.cs
138 |
139 |
140 | SettingsSingleFileGenerator
141 | Settings.Designer.cs
142 |
143 |
144 | True
145 | Settings.settings
146 | True
147 |
148 |
149 |
150 |
157 |
--------------------------------------------------------------------------------
/XwWizard/WindowsFormsApplication1/MediaInfoTool.cs:
--------------------------------------------------------------------------------
1 | // ------------------------------------------------------------------
2 | // Copyright (C) 2011-2014 Maruko Toolbox Project
3 | //
4 | // Authors: LYF
5 | //
6 | // Licensed under the Apache License, Version 2.0 (the "License");
7 | // you may not use this file except in compliance with the License.
8 | // You may obtain a copy of the License at
9 | //
10 | // http://www.apache.org/licenses/LICENSE-2.0
11 | //
12 | // Unless required by applicable law or agreed to in writing, software
13 | // distributed under the License is distributed on an "AS IS" BASIS,
14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15 | // express or implied.
16 | // See the License for the specific language governing permissions
17 | // and limitations under the License.
18 | // -------------------------------------------------------------------
19 | //
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Linq;
24 | using System.Text;
25 | using System.IO;
26 | using MediaInfoLib;
27 |
28 | namespace XwWizard
29 | {
30 | class MediaInfoTool
31 | {
32 | public static bool IsVideo(string filePath)
33 | {
34 | if (!File.Exists(filePath))
35 | {
36 | return false;
37 | }
38 |
39 | MediaInfo MI = new MediaInfo();
40 | MI.Open(filePath);
41 |
42 | //string vid = MI.Get(StreamKind.Video, 0, "ID");
43 | string video = MI.Get(StreamKind.Video, 0, "Format");
44 |
45 | MI.Close();
46 |
47 | if (string.IsNullOrEmpty(GetVideoFormat(filePath)))
48 | {
49 | return false;
50 | }
51 | else
52 | {
53 | return true;
54 | }
55 | }
56 |
57 | public static bool IsAudio(string filePath)
58 | {
59 | if (!File.Exists(filePath))
60 | {
61 | return false;
62 | }
63 |
64 | if (string.IsNullOrEmpty(GetAudioFormat(filePath)))
65 | {
66 | return false;
67 | }
68 | else
69 | {
70 | return true;
71 | }
72 | }
73 |
74 | public static string GetVideoFormat(string filePath)
75 | {
76 | if (!File.Exists(filePath))
77 | {
78 | return null;
79 | }
80 |
81 | MediaInfo MI = new MediaInfo();
82 | MI.Open(filePath);
83 |
84 | //string vid = MI.Get(StreamKind.Video, 0, "ID");
85 | string video = MI.Get(StreamKind.Video, 0, "Format");
86 |
87 | MI.Close();
88 |
89 | return video;
90 | }
91 |
92 | public static string GetAudioFormat(string filePath)
93 | {
94 | if (!File.Exists(filePath))
95 | {
96 | return null;
97 | }
98 |
99 | MediaInfo MI = new MediaInfo();
100 | MI.Open(filePath);
101 |
102 | //string aid = MI.Get(StreamKind.Audio, 0, "ID");
103 | string audio = MI.Get(StreamKind.Audio, 0, "Format");
104 |
105 | MI.Close();
106 |
107 | return audio;
108 | }
109 |
110 | public static string GetVideoBitrate(string filePath)
111 | {
112 | if (!File.Exists(filePath))
113 | {
114 | throw new ArgumentException(filePath, "filePath");
115 | }
116 |
117 | MediaInfo MI = new MediaInfo();
118 | MI.Open(filePath);
119 |
120 | string vBitRate = MI.Get(StreamKind.Video, 0, "BitRate/String");
121 |
122 | MI.Close();
123 |
124 | return vBitRate;
125 | }
126 |
127 | public static string GetContainer(string filePath)
128 | {
129 | if (!File.Exists(filePath))
130 | {
131 | throw new ArgumentException(filePath, "filePath");
132 | }
133 |
134 | MediaInfo MI = new MediaInfo();
135 | MI.Open(filePath);
136 |
137 | string container = MI.Get(StreamKind.General, 0, "Format");
138 |
139 | MI.Close();
140 |
141 | return container;
142 | }
143 |
144 | public static bool NeedEncoding(string filePath)
145 | {
146 | //TODO: 判断是否需要转码
147 | //H264 + (AAC/MP3)则不需要
148 |
149 | string vBitrate = GetVideoBitrate(filePath);
150 | if (!string.IsNullOrEmpty(vBitrate))
151 | {
152 | vBitrate = vBitrate.Trim().ToLower();
153 | if (vBitrate.Contains("mbps"))
154 | {
155 | System.Diagnostics.Debug.WriteLine("码率过高" + vBitrate);
156 | return true;
157 | }
158 | if (vBitrate.Contains("kbps"))
159 | {
160 | double kbps = 0.0;
161 | if (double.TryParse(vBitrate.Replace("kbps", "").Replace(" ", ""), out kbps))
162 | {
163 | if (kbps >= 2500)
164 | {
165 | System.Diagnostics.Debug.WriteLine("码率过高" + vBitrate);
166 | return true;
167 | }
168 | }
169 | }
170 | }
171 | //码率过高
172 |
173 | string audio = GetAudioFormat(filePath);
174 | string video = GetVideoFormat(filePath);
175 |
176 | Func CheckAudio = ((string audioFormat) =>
177 | {
178 | if(string.IsNullOrEmpty(audioFormat))
179 | {
180 | return false;
181 | }
182 |
183 | return audioFormat.Equals("AAC") ||
184 | audioFormat.Equals("MPEG Audio") ||
185 | audioFormat.Equals("PCM");
186 | });
187 |
188 | Func CheckVideo = ((string videoFormat) =>
189 | {
190 | if (string.IsNullOrEmpty(videoFormat))
191 | {
192 | return false;
193 | }
194 |
195 | return videoFormat.Equals("AVC");
196 | });
197 |
198 | bool bCheckAudio = CheckAudio(audio);
199 | bool bCheckVideo = CheckVideo(video);
200 |
201 | bool audioOk = false;
202 | bool videoOk = false;
203 |
204 | if (bCheckAudio)//符合AAC编码
205 | {
206 | audioOk = true;
207 | }
208 | else if (string.IsNullOrEmpty(audio) && bCheckVideo)//没有音频流,但是视频流符合标准
209 | {
210 | audioOk = true;
211 | }
212 |
213 | if (bCheckVideo)//符合标准
214 | {
215 | videoOk = true;
216 | }
217 | else if (string.IsNullOrEmpty(video) && bCheckAudio)//没有视频流,但是音频流符合标准
218 | {
219 | videoOk = true;
220 | }
221 |
222 | return !(audioOk && videoOk);
223 | }
224 |
225 | public static bool NeedMux(string filePath)
226 | {
227 | string container = GetContainer(filePath);
228 | if (!string.IsNullOrEmpty(container))
229 | {
230 | if (container.Equals("Flash Video"))
231 | {
232 | return false;
233 | }
234 | }
235 |
236 | return true;
237 | }
238 | }
239 | }
240 |
--------------------------------------------------------------------------------