Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Stive99 committed Nov 25, 2023
0 parents commit b13e772
Show file tree
Hide file tree
Showing 18 changed files with 1,698 additions and 0 deletions.
29 changes: 29 additions & 0 deletions FFmpegMagick.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34309.116
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FFmpegMagick", "FFmpegMagick\FFmpegMagick.csproj", "{1205EC23-3B0C-4945-A783-FAE1173CCB5D}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{7A696FA7-F2EC-45F9-84AC-326E4C72E881}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1205EC23-3B0C-4945-A783-FAE1173CCB5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1205EC23-3B0C-4945-A783-FAE1173CCB5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1205EC23-3B0C-4945-A783-FAE1173CCB5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1205EC23-3B0C-4945-A783-FAE1173CCB5D}.Release|Any CPU.Build.0 = Release|Any CPU
{7A696FA7-F2EC-45F9-84AC-326E4C72E881}.Debug|Any CPU.ActiveCfg = Debug
{7A696FA7-F2EC-45F9-84AC-326E4C72E881}.Release|Any CPU.ActiveCfg = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3B9CF8DD-A850-404E-BA09-A81C4872BEE6}
EndGlobalSection
EndGlobal
264 changes: 264 additions & 0 deletions FFmpegMagick/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
# Visual Studio files
.vs/
*.suo
*.user
*.userosscache
*.sln.docstates

# Build results
[Dd]ebug/
[Rr]elease/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/

# NuGet packages
*.nuget.props
*.nuget.targets

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json

# StyleCop
StyleCopReport.xml

# Files built by Visual Studio
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# ReSharper
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# TeamCity
_TeamCity*

# DotCover
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# JetBrains Rider
.idea/
*.sln.iml

# CodeRush
.cr/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Tabs Studio
*.tss

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# OpenCover UI analysis results
OpenCover/

# Azure Stream Analytics local run output
ASALocalRun/

# MSBuild Binary and Structured Log
*.binlog

# NVidia Nsight GPU debugger configuration file
*.nvuser

# MFractors (Xamarin productivity tool) working folder
.mfractor/

# Local History for Visual Studio
.localhistory/

# BeatPulse healthcheck temp database
healthchecksdb

# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/

# Fody
FodyWeavers.xml
52 changes: 52 additions & 0 deletions FFmpegMagick/Classes/Archive.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FFmpegMagick.Classes
{
internal class Archive
{
public static void ExtractArchive(string archiveFilePath)
{
try
{
// Замените "7z" на полный путь к исполняемому файлу 7-Zip, если он не в PATH
string sevenZipPath = "7z";

using (Process process = new Process())
{
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = sevenZipPath,
Arguments = $"x \"{archiveFilePath}\" -o\"{Environment.CurrentDirectory}\" -y",
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true
};

process.StartInfo = startInfo;
process.Start();

process.WaitForExit();

if (process.ExitCode == 0)
{
MessageBox.Show($"Архив успешно распакован в текущую папку.");
}
else
{
MessageBox.Show($"Ошибка распаковки архива. Код завершения: {process.ExitCode}");
}
}
}
catch (Exception ex)
{
MessageBox.Show($"Ошибка при выполнении операции: {ex.Message}");
}
}
}
}
38 changes: 38 additions & 0 deletions FFmpegMagick/Classes/CheckDotnet.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FFmpegMagick.Classes
{
internal class CheckDotnet
{
// Получение установленной версии .NET
public static string GetDotNetVersion()
{
string commandOutput = Utils.Cmd("dotnet --version");

if (commandOutput != null)
{
return commandOutput.Trim();
}

return string.Empty;
}

// Проверка версии .NET
public static bool IsDotNetVersionSufficient(string installedVersion, string requiredVersion)
{
if (string.IsNullOrWhiteSpace(installedVersion))
{
return false;
}

Version installed = Version.Parse(installedVersion);
Version required = Version.Parse(requiredVersion);

return installed >= required;
}
}
}
Loading

0 comments on commit b13e772

Please sign in to comment.