├── .gitattributes
├── .github
└── ISSUE_TEMPLATE
│ ├── FEATURE_REQUEST.yml
│ ├── GAME_BUG_REPORT.yml
│ ├── GENERAL_BUG_REPORT.yml
│ └── OTHER.yml
├── .gitignore
├── BGKey.pfx
├── BorderlessGaming.Logic
├── BorderlessGaming.Logic.csproj
├── Core
│ ├── LanguageManager.cs
│ └── ProcessWatcher.cs
├── Extensions
│ ├── CrossThreadExtensions.cs
│ └── ProcessExtensions.cs
├── Models
│ ├── AppSettings.cs
│ ├── Config.cs
│ ├── Favorite.cs
│ ├── HiddenProcess.cs
│ ├── Language.cs
│ ├── PRectangle.cs
│ └── ProcessDetails.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ └── blank.cur
├── Steam
│ └── SteamAPI.cs
├── System
│ ├── AppEnvironment.cs
│ ├── AutoStart.cs
│ ├── StartupOptions.cs
│ ├── Tools.cs
│ └── Utilities
│ │ ├── ExceptionHandler.cs
│ │ └── TaskUtilities.cs
├── Windows
│ ├── Audio
│ │ └── VolumeMixer.cs
│ ├── Enumerations.cs
│ ├── ForegroundManager.cs
│ ├── Manipulation.cs
│ ├── Native.cs
│ ├── Security.cs
│ ├── Uac.cs
│ └── Windows.cs
└── packages.config
├── BorderlessGaming.sln
├── BorderlessGaming
├── App.config
├── BorderlessGaming.csproj
├── BorderlessGaming_new.ico
├── Forms
│ ├── AboutForm.Designer.cs
│ ├── AboutForm.cs
│ ├── AboutForm.de.resx
│ ├── AboutForm.en-US.resx
│ ├── AboutForm.en.resx
│ ├── AboutForm.resx
│ ├── AboutForm.zh-CN.resx
│ ├── DesktopAreaSelector.Designer.cs
│ ├── DesktopAreaSelector.cs
│ ├── DesktopAreaSelector.resx
│ ├── InputText.cs
│ ├── InputText.designer.cs
│ ├── InputText.resx
│ ├── InputText.zh-CN.resx
│ ├── MainWindow.Designer.cs
│ ├── MainWindow.cs
│ ├── MainWindow.de.resx
│ ├── MainWindow.en-US.resx
│ ├── MainWindow.resx
│ ├── MainWindow.zh-CN.resx
│ ├── Rainway.Designer.cs
│ ├── Rainway.cs
│ └── Rainway.resx
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.de.resx
│ ├── Resources.resx
│ ├── Resources.ru.resx
│ ├── Resources.zh-CN.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Resources
│ ├── RainwayLogo.bmp
│ ├── add.png
│ ├── blank.cur
│ ├── bordered.png
│ ├── borderless.png
│ ├── globe-green.png
│ ├── master-glyph.png
│ ├── remove.png
│ └── steam.png
└── app.manifest
├── BorderlessGaming_new.ico
├── CONTRIBUTING.md
├── Installers
├── BorderlessGaming_Standalone_Admin.iss
├── BorderlessGaming_Standalone_User.iss
└── uninstall.ico
├── LICENSE
├── Languages
├── Languages.zip
├── de-DE.lang
├── en-US.lang
├── es-419.lang
├── fr-FR.lang
├── it-IT.lang
├── ja-JP.lang
├── ko-KR.lang
├── pl-PL.lang
├── ru-RU.lang
├── sl-SI.lang
├── zh-CN.lang
└── zh-TW.lang
├── Properties
├── AssemblyInfo.cs
├── Resources.Designer.cs
├── Resources.de.resx
├── Resources.resx
├── Resources.ru.resx
└── Resources.zh-CN.resx
├── README.md
├── SteamLibs
├── Facepunch.Steamworks.dll
├── steam_api.dll
└── steam_appid.txt
├── Tools
└── DigiCertUtil.exe
├── data
├── add.png
├── blank.cur
├── bordered.png
├── borderless.png
├── globe-green.png
├── remove.png
└── steam.png
└── version.xml
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml:
--------------------------------------------------------------------------------
1 | name: Feature Request
2 | description: Suggest an idea for a feature that improves Borderless gaming
3 | title: A short concise title
4 | labels: ["enhancement"]
5 | body:
6 | - type: checkboxes
7 | attributes:
8 | label: Requirements
9 | description: Before you create a suggestion, please consider the following
10 | options:
11 | - label: This issue doesn't already exist
12 | required: true
13 | - label: This is only a single feature request (Otherwise create a separate issue)
14 | required: true
15 | - type: textarea
16 | id: problem
17 | attributes:
18 | label: Is this proposal related to a problem?
19 | description: |
20 | Provide a concise description of what the problem is
21 | validations:
22 | required: true
23 | - type: textarea
24 | id: solution
25 | attributes:
26 | label: Describe the solution you'd like
27 | description: |
28 | Provide a concise description of what solution you're proposing.
29 | Have you thought of alternative solutions?
30 | validations:
31 | required: true
32 | - type: textarea
33 | id: context
34 | attributes:
35 | label: Additional context
36 | description: |
37 | Is there anything else worth mentioning, that is related to this issue?
38 | Maybe there are related issues that can be mistaken for duplicates, describe why they aren't
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/GAME_BUG_REPORT.yml:
--------------------------------------------------------------------------------
1 | name: Game-compatibility Bug Report
2 | description: Report an issue experienced with a particular game
3 | title: "[Game]: Game name - short description of bug"
4 | labels: ["game-specific", "bug"]
5 | body:
6 | - type: markdown
7 | attributes:
8 | value: |
9 | Found a bug for a specific game? Please fill out the sections below.
10 | - type: checkboxes
11 | attributes:
12 | label: Requirements
13 | description: Before you report this bug, please consider the following.
14 | options:
15 | - label: This issue doesn't already exists
16 | - label: This bug is only related to a single game
17 | - label: Filled out the title with template
18 | - type: textarea
19 | id: summary
20 | attributes:
21 | label: Summary
22 | description: |
23 | A summary of the bug.
24 | validations:
25 | required: true
26 | - type: textarea
27 | id: reproduce
28 | attributes:
29 | label: Steps to reproduce
30 | description: |
31 | Describe the steps to reproduce the bug.
32 | The better instructions are, the easier it will be to resolve.
33 | value: |
34 | 1.
35 | 2.
36 | 3.
37 | validations:
38 | required: true
39 | - type: textarea
40 | id: technical
41 | attributes:
42 | label: Technical details
43 | description: |
44 | - Game version number:
45 | - Anything else?
46 | - type: input
47 | id: version
48 | attributes:
49 | label: version
50 | description: Which version of Borderless Gaming were you using? Visible in Help->About-menu.
51 | placeholder: ex. 9.5.6.1328 or N/A
52 | validations:
53 | required: true
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/GENERAL_BUG_REPORT.yml:
--------------------------------------------------------------------------------
1 | name: Bug Report
2 | description: Report a general issue encountered Borderless-Gaming
3 | title: Short description of the bug
4 | labels: ["bug"]
5 | body:
6 | - type: markdown
7 | attributes:
8 | value: |
9 | Found a bug? Please fill out the sections below.
10 | Thanks for taking the time to fill out this bug report!
11 | - type: checkboxes
12 | attributes:
13 | label: Requirements
14 | description: Before you report this bug, please consider the following.
15 | options:
16 | - label: This issue doesn't already exist
17 | - label: This bug is Not related to compatability with a specific game
18 | - type: textarea
19 | id: summary
20 | attributes:
21 | label: Summary
22 | description: A summary of the bug.
23 | validations:
24 | required: true
25 | - type: textarea
26 | id: reproduce
27 | attributes:
28 | label: Steps to reproduce
29 | description: |
30 | Describe the steps to reproduce the bug.
31 | The better instructions are, the easier it will be to resolve.
32 | value: |
33 | 1.
34 | 2.
35 | 3.
36 | validations:
37 | required: true
38 | - type: textarea
39 | id: technical
40 | attributes:
41 | label: Technical details
42 | description: |
43 | - Any way you can elaborate?
44 | validations:
45 | required: false
46 | - type: input
47 | id: version
48 | attributes:
49 | label: version
50 | description: Which version of Borderless Gaming were you using? Visible in Help->About-menu.
51 | placeholder: ex. 9.5.6.1328 or N/A
52 | validations:
53 | required: true
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/OTHER.yml:
--------------------------------------------------------------------------------
1 | name: Other
2 | description: Do you have some other type of contribution not compatable with the templates?
3 | body:
4 | - type: textarea
5 | id: explanation
6 | attributes:
7 | label: Summary
8 | description: |
9 | Please write your contribution here
10 | validations:
11 | required: true
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
2 | [Bb]in/
3 | [Oo]bj/
4 |
5 | # mstest test results
6 | TestResults
7 |
8 | ## Ignore Visual Studio temporary files, build results, and
9 | ## files generated by popular Visual Studio add-ons.
10 |
11 | # User-specific files
12 | *.suo
13 | *.user
14 | *.sln.docstates
15 |
16 | # Build results
17 | [Dd]ebug/
18 | [Rr]elease/
19 | x64/
20 | *_i.c
21 | *_p.c
22 | *.ilk
23 | *.meta
24 | *.obj
25 | *.pch
26 | *.pdb
27 | *.pgc
28 | *.pgd
29 | *.rsp
30 | *.sbr
31 | *.tlb
32 | *.tli
33 | *.tlh
34 | *.tmp
35 | *.log
36 | *.vspscc
37 | *.vssscc
38 | .builds
39 |
40 | # Visual C++ cache files
41 | ipch/
42 | *.aps
43 | *.ncb
44 | *.opensdf
45 | *.sdf
46 |
47 | # Visual Studio profiler
48 | *.psess
49 | *.vsp
50 | *.vspx
51 |
52 | # Guidance Automation Toolkit
53 | *.gpState
54 |
55 | # ReSharper is a .NET coding add-in
56 | _ReSharper*
57 |
58 | # NCrunch
59 | *.ncrunch*
60 | .*crunch*.local.xml
61 |
62 | # Installshield output folder
63 | [Ee]xpress
64 |
65 | # DocProject is a documentation generator add-in
66 | DocProject/buildhelp/
67 | DocProject/Help/*.HxT
68 | DocProject/Help/*.HxC
69 | DocProject/Help/*.hhc
70 | DocProject/Help/*.hhk
71 | DocProject/Help/*.hhp
72 | DocProject/Help/Html2
73 | DocProject/Help/html
74 |
75 | # Click-Once directory
76 | publish
77 |
78 | # Publish Web Output
79 | *.Publish.xml
80 |
81 | # NuGet Packages Directory
82 | packages
83 |
84 | # Windows Azure Build Output
85 | csx
86 | *.build.csdef
87 |
88 | # Windows Store app package directory
89 | AppPackages/
90 |
91 | # Others
92 | [Bb]in
93 | [Oo]bj
94 | sql
95 | TestResults
96 | [Tt]est[Rr]esult*
97 | *.Cache
98 | ClientBin
99 | [Ss]tyle[Cc]op.*
100 | ~$*
101 | *.dbmdl
102 | Generated_Code #added for RIA/Silverlight projects
103 |
104 | # Backup & report files from converting an old project file to a newer
105 | # Visual Studio version. Backup files are not needed, because we have git ;-)
106 | _UpgradeReport_Files/
107 | Backup*/
108 | UpgradeLog*.XML
109 |
110 |
111 | .vs/
112 | Installers/*setup.exe
113 |
--------------------------------------------------------------------------------
/BGKey.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BGKey.pfx
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/BorderlessGaming.Logic.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}
8 | Library
9 | Properties
10 | BorderlessGaming.Logic
11 | BorderlessGaming.Logic
12 | v4.5.2
13 | 512
14 |
15 |
16 | true
17 | full
18 | false
19 | bin\Debug\
20 | DEBUG;TRACE
21 | prompt
22 | 4
23 | x86
24 | true
25 |
26 |
27 | pdbonly
28 | true
29 | bin\Release\
30 | TRACE
31 | prompt
32 | 4
33 | x86
34 |
35 |
36 | false
37 |
38 |
39 | ..\BGKey.pfx
40 |
41 |
42 |
43 | ..\packages\CommandLineParser.1.9.71\lib\net45\CommandLine.dll
44 |
45 |
46 | ..\packages\DotNetZip.1.13.3\lib\net40\DotNetZip.dll
47 |
48 |
49 | ..\SteamLibs\Facepunch.Steamworks.dll
50 |
51 |
52 | ..\packages\TaskScheduler.2.8.8\lib\net452\Microsoft.Win32.TaskScheduler.dll
53 |
54 |
55 | ..\packages\protobuf-net.2.4.0\lib\net40\protobuf-net.dll
56 |
57 |
58 |
59 |
60 |
61 |
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 | True
92 | True
93 | Resources.resx
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 | ResXFileCodeGenerator
114 | Resources.Designer.cs
115 |
116 |
117 |
118 |
119 | BGKey.pfx
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 | call "$(SolutionDir)Tools\DigiCertUtil.exe" sign /noInput /sha1 "CB509F61A8A3B970790F0E2C695A3782F101FF22" "$(ProjectDir)$(OutDir)$(TargetFileName)"
130 |
131 |
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Extensions/CrossThreadExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.Serialization.Formatters.Binary;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows.Forms;
9 |
10 | namespace BorderlessGaming.Logic.Extensions
11 | {
12 | public static class CrossThreadExtensions
13 | {
14 |
15 | public static List CloneList(List oldList)
16 | {
17 | BinaryFormatter formatter = new BinaryFormatter();
18 | MemoryStream stream = new MemoryStream();
19 | formatter.Serialize(stream, oldList);
20 | stream.Position = 0;
21 | return (List)formatter.Deserialize(stream);
22 | }
23 |
24 | public static void PerformSafely(this Control target, Action action)
25 | {
26 | if (target.InvokeRequired)
27 | {
28 | target.Invoke(action);
29 | }
30 | else
31 | {
32 | action();
33 | }
34 | }
35 |
36 | public static void PerformSafely(this Control target, Action action, T1 parameter)
37 | {
38 | if (target.InvokeRequired)
39 | {
40 | target.Invoke(action, parameter);
41 | }
42 | else
43 | {
44 | action(parameter);
45 | }
46 | }
47 |
48 | public static void PerformSafely(this Control target, Action action, T1 p1, T2 p2)
49 | {
50 | if (target.InvokeRequired)
51 | {
52 | target.Invoke(action, p1, p2);
53 | }
54 | else
55 | {
56 | action(p1, p2);
57 | }
58 | }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Extensions/ProcessExtensions.cs:
--------------------------------------------------------------------------------
1 | using System.Diagnostics;
2 |
3 | namespace BorderlessGaming.Logic.Extensions
4 | {
5 | internal static class ProcessExtensions
6 | {
7 | private static string FindIndexedProcessName(int pid)
8 | {
9 | var processName = Process.GetProcessById(pid).ProcessName;
10 | var processesByName = Process.GetProcessesByName(processName);
11 | string processIndexdName = null;
12 |
13 | for (var index = 0; index < processesByName.Length; index++)
14 | {
15 | processIndexdName = index == 0 ? processName : processName + "#" + index;
16 | var processId = new PerformanceCounter("Process", "ID Process", processIndexdName);
17 | if ((int) processId.NextValue() == pid)
18 | {
19 | return processIndexdName;
20 | }
21 | }
22 |
23 | return processIndexdName;
24 | }
25 |
26 | private static Process FindPidFromIndexedProcessName(string indexedProcessName)
27 | {
28 | var parentId = new PerformanceCounter("Process", "Creating Process ID", indexedProcessName);
29 | return Process.GetProcessById((int) parentId.NextValue());
30 | }
31 |
32 | public static Process Parent(this Process process)
33 | {
34 | return FindPidFromIndexedProcessName(FindIndexedProcessName(process.Id));
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/AppSettings.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using ProtoBuf;
3 |
4 | namespace BorderlessGaming.Logic.Models
5 | {
6 | [ProtoContract]
7 | public class AppSettings
8 | {
9 | [ProtoMember(1)]
10 | public bool SlowWindowDetection { get; set; }
11 |
12 | [ProtoMember(2)]
13 | public bool ViewAllProcessDetails { get; set; }
14 |
15 | [ProtoMember(3)]
16 | public bool RunOnStartup { get; set; }
17 |
18 | [ProtoMember(4)]
19 | public bool UseGlobalHotkey { get; set; }
20 |
21 | [ProtoMember(5)]
22 | public bool UseMouseLockHotkey { get; set; }
23 |
24 | [ProtoMember(6)]
25 | public bool UseMouseHideHotkey { get; set; }
26 |
27 | [ProtoMember(7)]
28 | public bool StartMinimized { get; set; }
29 |
30 | [ProtoMember(8)]
31 | public bool HideBalloonTips { get; set; }
32 |
33 | [ProtoMember(9)]
34 | public bool CloseToTray { get; set; }
35 |
36 | [ProtoMember(10)]
37 | [DefaultValue(true)]
38 | public bool CheckForUpdates { get; set; } = true;
39 |
40 | [ProtoMember(11)]
41 | public bool DisableSteamIntegration { get; set; }
42 |
43 | [ProtoMember(12)]
44 | [DefaultValue("en-US")]
45 | public string DefaultCulture { get; set; } = "en-US";
46 |
47 | [ProtoMember(13)]
48 | [DefaultValue(true)]
49 | public bool ShowAdOnStart { get; set; } = true;
50 |
51 | }
52 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/Config.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Windows.Forms;
7 | using BorderlessGaming.Logic.Core;
8 | using BorderlessGaming.Logic.System;
9 | using BorderlessGaming.Logic.Windows;
10 | using CommandLine;
11 | using ProtoBuf;
12 |
13 |
14 | namespace BorderlessGaming.Logic.Models
15 | {
16 | [ProtoContract]
17 | public class Config
18 | {
19 | public static Config Instance { get; set; }
20 |
21 | public StartupOptions StartupOptions { get; set; } = new StartupOptions();
22 |
23 | [ProtoMember(1)]
24 | public List Favorites { get; set; } = new List();
25 |
26 | [ProtoMember(2)]
27 | public List HiddenProcesses { get; set; } = new List();
28 |
29 | [ProtoMember(3)]
30 | public AppSettings AppSettings { get; set; } = new AppSettings();
31 |
32 | public static void Load()
33 | {
34 |
35 | if (!File.Exists(AppEnvironment.ConfigPath))
36 | {
37 | Security.SaveConfig(new Config());
38 | }
39 | Instance = Security.LoadConfigFile();
40 | Parser.Default.ParseArguments(Environment.GetCommandLineArgs(), Instance.StartupOptions);
41 | }
42 |
43 | public static void Save()
44 | {
45 | Security.SaveConfig(Instance);
46 | }
47 |
48 | public bool CanAddFavorite(string item)
49 | {
50 | return !Favorites.Any(fav => fav.SearchText.Equals(item));
51 | }
52 |
53 | public void AddFavorite(Favorite favorite, Action callback)
54 | {
55 | if (!Favorites.Any(fav => fav.SearchText.Equals(favorite.SearchText)))
56 | {
57 | Favorites.Add(favorite);
58 | callback();
59 | Save();
60 | }
61 | }
62 |
63 |
64 | public void RemoveFavorite(Favorite favorite, Action callback)
65 | {
66 | if (Favorites.Any(fav => fav.SearchText.Equals(favorite.SearchText)))
67 | {
68 | Favorites.Remove(Favorites.FirstOrDefault(fav => fav.SearchText.Equals(favorite.SearchText)));
69 | callback();
70 | Save();
71 | }
72 | }
73 |
74 | public void ExcludeProcess(string processName)
75 | {
76 | if (!IsHidden(processName) && !string.IsNullOrWhiteSpace(processName))
77 | {
78 | HiddenProcesses.Add(new HiddenProcess
79 | {
80 | Name = processName
81 | });
82 | Save();
83 | }
84 | }
85 |
86 | public void ResetHiddenProcesses()
87 | {
88 | HiddenProcesses = new List();
89 | Save();
90 | }
91 | public bool IsHidden(Process process)
92 | {
93 | return IsHidden(process.ProcessName);
94 | }
95 |
96 | public bool IsHidden(string processName)
97 | {
98 | return HiddenProcess.AlwaysHiddenProcesses.Any(process => process.Equals(processName.ToLower())) || HiddenProcesses.Any(process => process.Name.Equals(processName.ToLower()));
99 | }
100 |
101 | }
102 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/Favorite.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using System.Text.RegularExpressions;
3 | using ProtoBuf;
4 |
5 | namespace BorderlessGaming.Logic.Models
6 | {
7 | public enum FavoriteSize
8 | {
9 | FullScreen = 0,
10 | SpecificSize = 1,
11 | NoChange = 2
12 | }
13 |
14 | public enum FavoriteType
15 | {
16 | Process = 0,
17 | Title = 1,
18 | Regex = 2
19 | }
20 |
21 | [ProtoContract]
22 | public class Favorite
23 | {
24 | [ProtoMember(1)]
25 | [DefaultValue(FavoriteType.Process)]
26 | public FavoriteType Type { get; set; } = FavoriteType.Process;
27 |
28 | [ProtoMember(2)]
29 | [DefaultValue(FavoriteSize.FullScreen)]
30 | public FavoriteSize Size { get; set; } = FavoriteSize.FullScreen;
31 |
32 | [ProtoMember(3)]
33 | [DefaultValue("")]
34 | public string SearchText { get; set; } = "";
35 |
36 | [ProtoMember(4)]
37 | public PRectangle FavScreen { get; set; }
38 |
39 | [ProtoMember(5)]
40 | public int OffsetL { get; set; }
41 |
42 | [ProtoMember(6)]
43 | public int OffsetT { get; set; }
44 |
45 | [ProtoMember(7)]
46 | public int OffsetR { get; set; }
47 |
48 | [ProtoMember(8)]
49 | public int OffsetB { get; set; }
50 |
51 | [ProtoMember(9)]
52 | [DefaultValue(true)]
53 | public bool ShouldMaximize { get; set; } = true;
54 |
55 | [ProtoMember(10)]
56 | public int PositionX { get; set; }
57 |
58 | [ProtoMember(11)]
59 | public int PositionY { get; set; }
60 |
61 | [ProtoMember(12)]
62 | public int PositionW { get; set; }
63 |
64 | [ProtoMember(13)]
65 | public int PositionH { get; set; }
66 |
67 | [ProtoMember(14)]
68 | public bool RemoveMenus { get; set; }
69 |
70 | [ProtoMember(15)]
71 | public bool TopMost { get; set; }
72 |
73 | [ProtoMember(16)]
74 | public bool HideWindowsTaskbar { get; set; }
75 |
76 | [ProtoMember(17)]
77 | public bool HideMouseCursor { get; set; }
78 |
79 | [ProtoMember(18)]
80 | public bool DelayBorderless { get; set; }
81 |
82 | [ProtoMember(19)]
83 | public bool MuteInBackground { get; set; }
84 |
85 |
86 | ///
87 | /// Return a string representation of the favorite
88 | ///
89 | ///
90 | public override string ToString()
91 | {
92 | var max = ShouldMaximize ? "[Max]" : string.Empty;
93 | var mode = Size == FavoriteSize.NoChange ? "[NoSize]" : string.Empty;
94 | var top = TopMost ? "[Top]" : string.Empty;
95 | var menus = RemoveMenus ? "[NoMenu]" : string.Empty;
96 | var taskbar = HideWindowsTaskbar ? "[NoTaskbar]" : string.Empty;
97 | var mouse = HideMouseCursor ? "[NoMouse]" : string.Empty;
98 | var delay = DelayBorderless ? "[Delay]" : string.Empty;
99 | var muted = MuteInBackground ? "[Muted]" : string.Empty;
100 | var offset = string.Empty;
101 | var position = string.Empty;
102 | if (OffsetL != 0 || OffsetR != 0 || OffsetT != 0 || OffsetB != 0)
103 | {
104 | offset = $"[{OffsetL}L,{OffsetR}R,{OffsetT}T,{OffsetB}B]";
105 | }
106 | if (PositionX != 0 || PositionY != 0 || PositionW != 0 || PositionH != 0)
107 | {
108 | position = $"[{PositionX}x{PositionY}-{PositionX + PositionW}x{PositionY + PositionH}]";
109 | }
110 | return $"{SearchText} [{Type}] {max}{muted}{mode}{top}{menus}{taskbar}{mouse}{delay}{offset}{position}";
111 | }
112 |
113 | public bool Matches(ProcessDetails pd)
114 | {
115 | return Type == FavoriteType.Process && pd.BinaryName == SearchText ||
116 | Type == FavoriteType.Title && pd.WindowTitle == SearchText ||
117 | Type == FavoriteType.Regex && Regex.IsMatch(pd.WindowTitle, SearchText);
118 | }
119 |
120 | public static Favorite FromWindow(ProcessDetails pd)
121 | {
122 | return new Favorite {SearchText = pd.BinaryName};
123 | }
124 |
125 | public bool IsRunning { get; set; }
126 |
127 | public int RunningId { get; set; }
128 | }
129 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/HiddenProcess.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using ProtoBuf;
3 |
4 | namespace BorderlessGaming.Logic.Models
5 | {
6 | [ProtoContract]
7 | public class HiddenProcess
8 | {
9 | ///
10 | /// AlwaysHiddenProcesses is used to keep processes from showing up in the list no matter what
11 | ///
12 | public static readonly List AlwaysHiddenProcesses = new List
13 | {
14 | // Skip self
15 | "borderlessgaming",
16 | // Skip Windows core system processes
17 | "csrss",
18 | "smss",
19 | "lsass",
20 | "wininit",
21 | "svchost",
22 | "services",
23 | "winlogon",
24 | "dwm",
25 | "explorer",
26 | "taskmgr",
27 | "mmc",
28 | "rundll32",
29 | "vcredist_x86",
30 | "vcredist_x64",
31 | "msiexec",
32 | // Skip common video streaming software
33 | "xsplit",
34 | // Skip common web browsers
35 | "iexplore",
36 | "firefox",
37 | "chrome",
38 | "safari",
39 | // Skip launchers/misc.
40 | "iw4 console",
41 | "steam",
42 | "origin",
43 | "uplay"
44 |
45 | // Let them hide the rest manually
46 | };
47 |
48 | [ProtoMember(1)]
49 | public string Name { get; set; }
50 | }
51 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/Language.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Globalization;
5 | using System.IO;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 | using BorderlessGaming.Logic.Core;
10 |
11 | namespace BorderlessGaming.Logic.Models
12 | {
13 | public class Language
14 | {
15 | public Dictionary LanguageData { get; set; }
16 |
17 | public string Culture { get; set; }
18 |
19 | public string DisplayName { get; set; }
20 |
21 | public void Set()
22 | {
23 | LanguageManager.CurrentCulture = Culture;
24 | }
25 |
26 | internal string Data(string key)
27 | {
28 |
29 | return LanguageData.ContainsKey(key) ? LanguageData[key] : null;
30 | }
31 |
32 | public void LoadData(string languageFile)
33 | {
34 | LanguageData = new Dictionary();
35 | foreach (var line in File.ReadAllLines(languageFile, Encoding.UTF8))
36 | {
37 | if (string.IsNullOrWhiteSpace(line))
38 | {
39 | continue;
40 | }
41 | var c = line.FirstOrDefault();
42 | if (c.Equals('#'))
43 | {
44 | continue;
45 | }
46 | var languageData = line.Split(new[] {'|'}, 2);
47 | var key = languageData[0].Trim().ToLower();
48 | var data = languageData[1].Trim();
49 | if (!LanguageData.ContainsKey(key))
50 | {
51 | LanguageData.Add(key, data);
52 | }
53 | }
54 | if (LanguageData.Count > 0)
55 | {
56 | DisplayName = CultureDisplayName(Culture);
57 | }
58 | }
59 |
60 | public override string ToString()
61 | {
62 | return DisplayName;
63 | }
64 |
65 | private string CultureDisplayName(string name)
66 | {
67 | return new CultureInfo(name).NativeName;
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/PRectangle.cs:
--------------------------------------------------------------------------------
1 | using System.Drawing;
2 | using ProtoBuf;
3 |
4 | namespace BorderlessGaming.Logic.Models
5 | {
6 | [ProtoContract]
7 | public class PRectangle
8 | {
9 | [ProtoMember(1)]
10 | public int X { get; set; }
11 |
12 | [ProtoMember(2)]
13 | public int Y { get; set; }
14 |
15 | [ProtoMember(3)]
16 | public int Width { get; set; }
17 |
18 | [ProtoMember(4)]
19 | public int Height { get; set; }
20 |
21 |
22 | public static PRectangle ToPRectangle(Rectangle rectangle)
23 | {
24 | return new PRectangle
25 | {
26 | Height = rectangle.Height,
27 | Width = rectangle.Width,
28 | X = rectangle.X,
29 | Y = rectangle.Y
30 | };
31 | }
32 |
33 |
34 | public override bool Equals(object obj)
35 | {
36 | var rect = (PRectangle) obj;
37 | return rect != null && X == rect.X && Y == rect.Y && Height == rect.Height && Width == rect.Width;
38 | }
39 |
40 |
41 |
42 | public override int GetHashCode()
43 | {
44 | unchecked
45 | {
46 | var hashCode = X;
47 | hashCode = (hashCode * 397) ^ Y;
48 | hashCode = (hashCode * 397) ^ Width;
49 | hashCode = (hashCode * 397) ^ Height;
50 | return hashCode;
51 | }
52 | }
53 |
54 | public static Rectangle ToRectangle(PRectangle pRectangle)
55 | {
56 | return new Rectangle
57 | {
58 | Height = pRectangle.Height,
59 | Width = pRectangle.Width,
60 | X = pRectangle.X,
61 | Y = pRectangle.Y
62 | };
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Models/ProcessDetails.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Diagnostics;
4 | using System.Drawing;
5 | using System.Threading.Tasks;
6 | using BorderlessGaming.Logic.System.Utilities;
7 | using BorderlessGaming.Logic.Windows;
8 |
9 | namespace BorderlessGaming.Logic.Models
10 | {
11 | public class ProcessDetails
12 | {
13 | //public string WindowClass = ""; // note: this isn't used, currently
14 | private IntPtr _windowHandle = IntPtr.Zero;
15 |
16 | public string DescriptionOverride = "";
17 | public bool MadeBorderless = false;
18 | public int MadeBorderlessAttempts = 0;
19 | public bool Manageable = false;
20 | public bool NoAccess;
21 | public Rectangle OriginalLocation = new Rectangle();
22 | public WindowStyleFlags OriginalStyleFlagsExtended = 0;
23 | public WindowStyleFlags OriginalStyleFlagsStandard = 0;
24 | public Process Proc;
25 | public string WindowTitle = "";
26 |
27 | public ProcessDetails(Process p, IntPtr hWnd)
28 | {
29 | Proc = p;
30 |
31 | WindowHandle = hWnd;
32 | WindowTitle = Native.GetWindowTitle(WindowHandle);
33 | // GetWindowTitle();
34 |
35 | //this.WindowClass = WindowsAPI.Native.GetWindowClassName(this.WindowHandle); // note: this isn't used, currently
36 | }
37 |
38 | private async void GetWindowTitle()
39 | {
40 | await TaskUtilities.StartTaskAndWait(() => { WindowTitle = Native.GetWindowTitle(WindowHandle); },
41 | Config.Instance.AppSettings.SlowWindowDetection ? 10 : 2);
42 | }
43 |
44 | // Automatically detects changes to the window handle
45 | public IntPtr WindowHandle
46 | {
47 | get
48 | {
49 | try
50 | {
51 | if (ProcessHasExited)
52 | {
53 | return IntPtr.Zero;
54 | }
55 |
56 | if (!Native.IsWindow(_windowHandle))
57 | {
58 | _windowHandle = Native.GetMainWindowForProcess(Proc).GetAwaiter().GetResult();
59 | }
60 | }
61 | catch
62 | {
63 | }
64 |
65 | return _windowHandle;
66 | }
67 | set => _windowHandle = value;
68 | }
69 |
70 | public bool ProcessHasExited
71 | {
72 | get
73 | {
74 | try
75 | {
76 | if (NoAccess)
77 | {
78 | return false;
79 | }
80 |
81 | if (Proc != null)
82 | {
83 | return Proc.HasExited;
84 | }
85 | }
86 | catch (Win32Exception)
87 | {
88 | NoAccess = true;
89 |
90 | return false; // Access is denied
91 | }
92 | catch
93 | {
94 | }
95 |
96 | return true;
97 | }
98 | }
99 |
100 | public string BinaryName
101 | {
102 | get
103 | {
104 | try
105 | {
106 | return NoAccess ? "" : Proc.ProcessName;
107 | }
108 | catch
109 | {
110 | NoAccess = true;
111 | }
112 |
113 | return "";
114 | }
115 | }
116 |
117 | private string WindowTitleForComparison => WindowTitle.Trim().ToLower().Replace(" ", "").Replace("_", "");
118 |
119 | private string BinaryNameForComparison => BinaryName.Trim().ToLower().Replace(" ", "").Replace("_", "");
120 |
121 | // Detect whether or not the window needs border changes
122 | public async Task WindowHasTargetableStyles()
123 | {
124 | var targetable = false;
125 | await TaskUtilities.StartTaskAndWait(() =>
126 | {
127 | var styleCurrentWindowStandard = Native.GetWindowLong(WindowHandle, WindowLongIndex.Style);
128 | var styleCurrentWindowExtended = Native.GetWindowLong(WindowHandle, WindowLongIndex.ExtendedStyle);
129 | targetable = styleCurrentWindowStandard.HasTargetStyles() || styleCurrentWindowExtended.HasExtendedStyles();
130 | }, Config.Instance.AppSettings.SlowWindowDetection ? 10 : 2);
131 | return targetable;
132 | }
133 |
134 | public override string ToString() // so that the ListView control knows how to display this object to the user
135 | {
136 | try
137 | {
138 | if (!string.IsNullOrEmpty(DescriptionOverride))
139 | {
140 | return DescriptionOverride;
141 | }
142 |
143 | if (Config.Instance.AppSettings.ViewAllProcessDetails)
144 | {
145 | var styleCurrentWindowStandard = Native.GetWindowLong(WindowHandle, WindowLongIndex.Style);
146 | var styleCurrentWindowExtended = Native.GetWindowLong(WindowHandle, WindowLongIndex.ExtendedStyle);
147 |
148 | var extraDetails =
149 | $" [{(uint) styleCurrentWindowStandard:X8}.{(uint) styleCurrentWindowExtended:X8}]";
150 | return string.IsNullOrWhiteSpace(WindowTitle.Trim())
151 | ? $"{BinaryName} [#{Proc.Id}]{extraDetails}"
152 | : $"{WindowTitle.Trim()} [{BinaryName}, #{Proc.Id}]{extraDetails}";
153 | }
154 |
155 | if (string.IsNullOrWhiteSpace(WindowTitle.Trim()))
156 | {
157 | return BinaryName;
158 | }
159 |
160 | var processNameIsDissimilarToWindowTitle = true;
161 | if (WindowTitleForComparison.Length >= 5)
162 | {
163 | if (BinaryNameForComparison.Length >= 5)
164 | {
165 | if (BinaryNameForComparison.Substring(0, 5) == WindowTitleForComparison.Substring(0, 5))
166 | {
167 | processNameIsDissimilarToWindowTitle = false;
168 | }
169 | }
170 | }
171 |
172 | return processNameIsDissimilarToWindowTitle
173 | ? $"{WindowTitle.Trim()} [{BinaryName}]"
174 | : WindowTitle.Trim();
175 | }
176 | catch
177 | {
178 | // ignored
179 | }
180 |
181 | return "";
182 | }
183 |
184 |
185 | public static implicit operator Process(ProcessDetails pd)
186 | {
187 | return pd?.Proc;
188 | }
189 |
190 | public static implicit operator IntPtr(ProcessDetails pd)
191 | {
192 | return pd?.WindowHandle ?? IntPtr.Zero;
193 | }
194 | }
195 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("BorderlessGaming.Logic")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("BorderlessGaming.Logic")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f5af80a6-f3f4-4855-a620-22fa5737d019")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
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 BorderlessGaming.Logic.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("BorderlessGaming.Logic.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 | /// Looks up a localized resource of type System.Byte[].
65 | ///
66 | internal static byte[] blank {
67 | get {
68 | object obj = ResourceManager.GetObject("blank", resourceCulture);
69 | return ((byte[])(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized string similar to Error.
75 | ///
76 | internal static string ErrorHeader {
77 | get {
78 | return ResourceManager.GetString("ErrorHeader", resourceCulture);
79 | }
80 | }
81 |
82 | ///
83 | /// Looks up a localized string similar to Borderless Gaming encountered an error checking for updates. Restart the program to try again..
84 | ///
85 | internal static string ErrorUpdates {
86 | get {
87 | return ResourceManager.GetString("ErrorUpdates", resourceCulture);
88 | }
89 | }
90 |
91 | ///
92 | /// Looks up a localized string similar to A new version of Borderless Gaming is available. Would you like to go to the release page?.
93 | ///
94 | internal static string InfoUpdateAvailable {
95 | get {
96 | return ResourceManager.GetString("InfoUpdateAvailable", resourceCulture);
97 | }
98 | }
99 |
100 | ///
101 | /// Looks up a localized string similar to Update available.
102 | ///
103 | internal static string InfoUpdatesHeader {
104 | get {
105 | return ResourceManager.GetString("InfoUpdatesHeader", resourceCulture);
106 | }
107 | }
108 |
109 | ///
110 | /// Looks up a localized string similar to Do you really want to hide the mouse cursor?
111 | ///
112 | ///You may have a difficult time finding the mouse again once it's hidden.
113 | ///
114 | ///If you have enabled the global hotkey to toggle the mouse cursor visibility, you can press [Win + Scroll Lock] to toggle the mouse cursor on.
115 | ///
116 | ///Also, exiting Borderless Gaming will immediately restore your mouse cursor..
117 | ///
118 | internal static string MainWindow_toggleMouseCursorVisibilityToolStripMenuItem_Click_ {
119 | get {
120 | return ResourceManager.GetString("MainWindow_toggleMouseCursorVisibilityToolStripMenuItem_Click_", resourceCulture);
121 | }
122 | }
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Resources/blank.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming.Logic/Resources/blank.cur
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Steam/SteamAPI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.Runtime.ExceptionServices;
4 | using BorderlessGaming.Logic.Extensions;
5 | using Facepunch.Steamworks;
6 |
7 | namespace BorderlessGaming.Logic.Steam
8 | {
9 | public static class SteamApi
10 | {
11 | public static bool IsLoaded;
12 |
13 | ///The Borderless Gaming AppID
14 | private static readonly uint _appId = 388080;
15 |
16 | private static Client _client;
17 | private static Auth.Ticket _ticket;
18 |
19 | public static bool LaunchedBySteam()
20 | {
21 | var parentName = Process.GetCurrentProcess().Parent()?.ProcessName;
22 | return !string.IsNullOrWhiteSpace(parentName) && parentName.Equals("Steam");
23 | }
24 |
25 | //I noticed if the API dll is messed up the process just crashes.
26 | [HandleProcessCorruptedStateExceptions]
27 | public static void Init()
28 | {
29 | try
30 | {
31 | _client = new Client(_appId);
32 | if (_client == null)
33 | {
34 | IsLoaded = false;
35 | return;
36 | }
37 | _ticket = _client.Auth.GetAuthSessionTicket();
38 | IsLoaded = _ticket != null;
39 | }
40 | catch (Exception)
41 | {
42 | Debug.WriteLine("Failed to load Steam.");
43 | }
44 | }
45 |
46 | public static bool UnlockAchievement(string identifier)
47 | {
48 | var achievement = new Achievement(_client, 0);
49 | return !achievement.State && achievement.Trigger();
50 | }
51 | }
52 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/System/AppEnvironment.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.DirectoryServices.AccountManagement;
4 | using System.DirectoryServices.ActiveDirectory;
5 | using System.IO;
6 | using System.Linq;
7 | using System.Reflection;
8 | using System.Security.Principal;
9 | using System.Windows.Forms;
10 |
11 | namespace BorderlessGaming.Logic.System
12 | {
13 | public class AppEnvironment
14 | {
15 | public static string Path = Assembly.GetEntryAssembly().Location;
16 | public static string LanguagePath = global::System.IO.Path.Combine(DataPath, "Languages");
17 | public static string ConfigPath = global::System.IO.Path.Combine(DataPath, "config.bin");
18 |
19 | public static string DataPath
20 | {
21 | get
22 | {
23 | var versionInfo = FileVersionInfo.GetVersionInfo(Path);
24 | var userAppData = GetUserAppDataPath();
25 | try
26 | {
27 | // No version!
28 | return Environment.GetEnvironmentVariable("AppData").Trim() + "\\" + versionInfo.CompanyName +
29 | "\\" + versionInfo.ProductName;
30 | }
31 | catch
32 | {
33 | }
34 |
35 | try
36 | {
37 | // Version, but chopped out
38 | return userAppData.Substring(0, userAppData.LastIndexOf("\\"));
39 | }
40 | catch
41 | {
42 | try
43 | {
44 | // App launch folder
45 | var directoryInfo = new FileInfo(Path).Directory;
46 | var dir = directoryInfo.ToString();
47 | return Path.Substring(0, dir.LastIndexOf("\\", StringComparison.Ordinal));
48 | }
49 | catch
50 | {
51 | try
52 | {
53 | // Current working folder
54 | return Environment.CurrentDirectory;
55 | }
56 | catch
57 | {
58 | try
59 | {
60 | // Desktop
61 | return Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
62 | }
63 | catch
64 | {
65 | // Also current working folder
66 | return ".";
67 | }
68 | }
69 | }
70 | }
71 | }
72 | }
73 |
74 |
75 | private static string GetUserAppDataPath()
76 | {
77 | var path = string.Empty;
78 |
79 | try
80 | {
81 | var assm = Assembly.GetEntryAssembly();
82 | var at = typeof(AssemblyCompanyAttribute);
83 | var r = assm.GetCustomAttributes(at, false);
84 | var ct = (AssemblyCompanyAttribute) r[0];
85 | path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
86 | path += @"\" + ct.Company;
87 | path += @"\" + assm.GetName().Version;
88 | }
89 | catch
90 | {
91 | //
92 | }
93 | return path;
94 | }
95 | }
96 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/System/AutoStart.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Windows.Forms;
4 | using Microsoft.Win32.TaskScheduler;
5 |
6 | namespace BorderlessGaming.Logic.System
7 | {
8 | public static class AutoStart
9 | {
10 | private static readonly string _taskName = "BorderlessGaming";
11 |
12 | ///
13 | /// So we can clean up peoples old startup shortcuts
14 | ///
15 | ///
16 | ///
17 | public static bool DeleteLegacy(string shortcutPath)
18 | {
19 | if (!string.IsNullOrEmpty(shortcutPath) && File.Exists(shortcutPath))
20 | {
21 | File.Delete(shortcutPath);
22 | return true;
23 | }
24 |
25 | return false;
26 | }
27 |
28 | private static string GetShortcutPath(Environment.SpecialFolder specialFolder)
29 | {
30 | var folderPath = Environment.GetFolderPath(specialFolder);
31 | var shortcutPath = Path.Combine(folderPath, Application.ProductName);
32 | if (!Path.GetExtension(shortcutPath).Equals(".lnk", StringComparison.InvariantCultureIgnoreCase))
33 | {
34 | shortcutPath = Path.ChangeExtension(shortcutPath, "lnk");
35 | }
36 | return shortcutPath;
37 | }
38 |
39 | public static void Setup(bool setup, string silentMinimize)
40 | {
41 | DeleteLegacy(GetShortcutPath(Environment.SpecialFolder.Startup));
42 | if (setup)
43 | {
44 | CreateEntry(silentMinimize);
45 | }
46 | else
47 | {
48 | DeleteStartup();
49 | }
50 | }
51 |
52 | private static void DeleteStartup()
53 | {
54 | using (var sched = new TaskService())
55 | {
56 | var t = sched.GetTask(_taskName);
57 | var taskExists = t != null;
58 | if (taskExists)
59 | {
60 | sched.RootFolder.DeleteTask(_taskName, false);
61 | }
62 | }
63 | }
64 |
65 |
66 | private static void CreateEntry(string silentMinimize)
67 | {
68 | try
69 | {
70 | using (var sched = new TaskService())
71 | {
72 | var t = sched.GetTask(_taskName);
73 | var taskExists = t != null;
74 | if (taskExists)
75 | {
76 | return;
77 | }
78 | var td = TaskService.Instance.NewTask();
79 | td.Principal.RunLevel = TaskRunLevel.Highest;
80 | td.RegistrationInfo.Author = "Andrew Sampson";
81 | td.RegistrationInfo.Date = new DateTime();
82 | td.RegistrationInfo.Description = "Starts Borderless Gaming when booting.";
83 | //wait 10 seconds until after login is complete to boot
84 | var logT = new LogonTrigger {Delay = new TimeSpan(0, 0, 0, 10)};
85 | td.Triggers.Add(logT);
86 | td.Actions.Add(new ExecAction(AppEnvironment.Path, silentMinimize, null));
87 | td.Settings.DisallowStartIfOnBatteries = false;
88 | td.Settings.StopIfGoingOnBatteries = false;
89 | TaskService.Instance.RootFolder.RegisterTaskDefinition(_taskName, td);
90 | Console.WriteLine("Task Registered");
91 | }
92 | }
93 | catch (Exception)
94 | {
95 | // MessageBox.Show(ex.Message);
96 | }
97 | }
98 | }
99 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/System/StartupOptions.cs:
--------------------------------------------------------------------------------
1 | using CommandLine;
2 | using CommandLine.Text;
3 |
4 | namespace BorderlessGaming.Logic.System
5 | {
6 | public class StartupOptions
7 | {
8 | [Option('m', "minimize", DefaultValue = false, HelpText = "Starts the application in a minimized state.")]
9 | public bool Minimize { get; set; }
10 |
11 | [Option('s', "silent", DefaultValue = false, HelpText = "Starts the application silently.")]
12 | public bool Silent { get; set; }
13 |
14 | [Option('p', "steam", DefaultValue = false, HelpText = "Used by the Steam client.")]
15 | public bool IsSteam { get; set; }
16 |
17 |
18 | [ParserState]
19 | public IParserState LastParserState { get; set; }
20 |
21 | [HelpOption]
22 | public string GetUsage()
23 | {
24 | return HelpText.AutoBuild(this, current => HelpText.DefaultParsingErrorsHandler(this, current));
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/System/Tools.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.Drawing;
4 | using System.IO;
5 | using System.Net.NetworkInformation;
6 | using System.Reflection;
7 | using System.Windows.Forms;
8 | using System.Xml;
9 | using BorderlessGaming.Logic.Core;
10 | using BorderlessGaming.Logic.Models;
11 | using BorderlessGaming.Logic.Properties;
12 | using BorderlessGaming.Logic.Steam;
13 | using BorderlessGaming.Logic.System.Utilities;
14 | using Ionic.Zip;
15 |
16 |
17 | namespace BorderlessGaming.Logic.System
18 | {
19 | public static class Tools
20 | {
21 | private static bool HasInternetConnection
22 | {
23 | // There is no way you can reliably check if there is an internet connection, but we can come close
24 | get
25 | {
26 | var result = false;
27 |
28 | try
29 | {
30 | if (NetworkInterface.GetIsNetworkAvailable())
31 | {
32 | using (var p = new Ping())
33 | {
34 | var pingReply = p.Send("8.8.4.4", 15000);
35 | if (pingReply != null)
36 | {
37 | var reply = p.Send("8.8.8.8", 15000);
38 | if (reply != null)
39 | {
40 | var send = p.Send("4.2.2.1", 15000);
41 | if (send != null)
42 | {
43 | result = reply.Status == IPStatus.Success ||
44 | pingReply.Status == IPStatus.Success ||
45 | send.Status == IPStatus.Success;
46 | }
47 | }
48 | }
49 | }
50 | }
51 | }
52 | catch
53 | {
54 | // ignored
55 | }
56 | return result;
57 | }
58 | }
59 |
60 | public static void Setup()
61 | {
62 | if (!Directory.Exists(AppEnvironment.DataPath))
63 | {
64 | Directory.CreateDirectory(AppEnvironment.DataPath);
65 | }
66 | if (!Debugger.IsAttached)
67 | {
68 | ExceptionHandler.AddGlobalHandlers();
69 | }
70 | Config.Load();
71 | LanguageManager.Load();
72 | if (!Config.Instance.AppSettings.DisableSteamIntegration)
73 | {
74 | SteamApi.Init();
75 | }
76 | }
77 |
78 | public static Rectangle GetContainingRectangle(Rectangle a, Rectangle b)
79 | {
80 | var amin = new Point(a.X, a.Y);
81 | var amax = new Point(a.X + a.Width, a.Y + a.Height);
82 | var bmin = new Point(b.X, b.Y);
83 | var bmax = new Point(b.X + b.Width, b.Y + b.Height);
84 | var nmin = new Point(0, 0);
85 | var nmax = new Point(0, 0);
86 |
87 | nmin.X = amin.X < bmin.X ? amin.X : bmin.X;
88 | nmin.Y = amin.Y < bmin.Y ? amin.Y : bmin.Y;
89 | nmax.X = amax.X > bmax.X ? amax.X : bmax.X;
90 | nmax.Y = amax.Y > bmax.Y ? amax.Y : bmax.Y;
91 |
92 | return new Rectangle(nmin, new Size(nmax.X - nmin.X, nmax.Y - nmin.Y));
93 | }
94 |
95 |
96 | public static void GotoSite(string url)
97 | {
98 | try
99 | {
100 | Process.Start(url);
101 | }
102 | catch
103 | {
104 | // ignored
105 | }
106 | }
107 |
108 | public static void ExtractZipFile(string archiveFilenameIn, string password, string outFolder)
109 | {
110 | using (var zip = ZipFile.Read(archiveFilenameIn))
111 | {
112 | zip.ExtractAll(outFolder, ExtractExistingFileAction.OverwriteSilently);
113 | }
114 | }
115 |
116 | public static void CheckForUpdates()
117 | {
118 | if (HasInternetConnection)
119 | {
120 | try
121 | {
122 | var releasePageUrl = "";
123 | Version newVersion = null;
124 | const string versionConfig = "https://raw.github.com/Codeusa/Borderless-Gaming/master/version.xml";
125 | var reader = new XmlTextReader(versionConfig);
126 | reader.MoveToContent();
127 | var elementName = "";
128 | try
129 | {
130 | if (reader.NodeType == XmlNodeType.Element && reader.Name == "borderlessgaming")
131 | {
132 | while (reader.Read())
133 | {
134 | switch (reader.NodeType)
135 | {
136 | case XmlNodeType.Element:
137 | elementName = reader.Name;
138 | break;
139 | default:
140 | if (reader.NodeType == XmlNodeType.Text && reader.HasValue)
141 | {
142 | switch (elementName)
143 | {
144 | case "version":
145 | newVersion = new Version(reader.Value);
146 | break;
147 | case "url":
148 | releasePageUrl = reader.Value;
149 | break;
150 | }
151 | }
152 | break;
153 | }
154 | }
155 | }
156 | }
157 | catch (Exception)
158 | {
159 | MessageBox.Show(Resources.ErrorUpdates, Resources.ErrorHeader, MessageBoxButtons.OK,
160 | MessageBoxIcon.Error);
161 | }
162 | finally
163 | {
164 | reader.Close();
165 | }
166 |
167 | var applicationVersion = Assembly.GetEntryAssembly().GetName().Version;
168 | if (applicationVersion.CompareTo(newVersion) < 0)
169 | {
170 | if (MessageBox.Show(Resources.InfoUpdateAvailable, Resources.InfoUpdatesHeader,
171 | MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
172 | {
173 | GotoSite(releasePageUrl);
174 | }
175 | }
176 | }
177 | catch
178 | {
179 | }
180 | }
181 | }
182 | }
183 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/System/Utilities/ExceptionHandler.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.IO;
4 | using System.Windows.Forms;
5 | using ProtoBuf;
6 |
7 | namespace BorderlessGaming.Logic.System.Utilities
8 | {
9 | [ProtoContract]
10 | internal class ExceptionModel
11 | {
12 | [ProtoMember(1)]
13 | public string Message { get; set; }
14 | [ProtoMember(2)]
15 | public string Type { get; set; }
16 | [ProtoMember(3)]
17 | public string StackTrace { get; set; }
18 | }
19 | public static class ExceptionHandler
20 | {
21 | private static readonly string LogsPath = Path.Combine(AppEnvironment.DataPath, "Logs");
22 |
23 | public static void AddGlobalHandlers()
24 | {
25 | AppDomain.CurrentDomain.UnhandledException += (sender, args) =>
26 | {
27 | try
28 | {
29 | if (!Directory.Exists(LogsPath))
30 | {
31 | Directory.CreateDirectory(LogsPath);
32 | }
33 |
34 | var filePath = Path.Combine(LogsPath,
35 | $"UnhandledException_{DateTime.Now.ToShortDateString().Replace("/", "-")}.crash");
36 |
37 | var exception = (Exception) args.ExceptionObject;
38 | using (var file = File.Create(filePath))
39 | {
40 | Serializer.Serialize(file, new ExceptionModel
41 | {
42 | Message = exception.Message,
43 | StackTrace = exception.StackTrace,
44 | Type = exception.GetType().Name
45 | });
46 | }
47 | MessageBox.Show($"An Unhandled Exception was Caught and Logged to:\r\n{filePath}", "Exception Caught", MessageBoxButtons.OK, MessageBoxIcon.Error);
48 | }
49 | catch
50 | {
51 | //
52 | Debug.WriteLine("Exception failed to write.");
53 | }
54 | };
55 |
56 |
57 | Application.ThreadException += (sender, args) =>
58 | {
59 | try
60 | {
61 | if (!Directory.Exists(LogsPath))
62 | {
63 | Directory.CreateDirectory(LogsPath);
64 | }
65 |
66 | var filePath = Path.Combine(LogsPath,
67 | $"ThreadException_{DateTime.Now.ToShortDateString().Replace("/", "-")}.crash");
68 |
69 | var exception = args.Exception;
70 | using (var file = File.Create(filePath))
71 | {
72 | Serializer.Serialize(file, new ExceptionModel
73 | {
74 | Message = exception.Message,
75 | StackTrace = exception.StackTrace,
76 | Type = exception.GetType().Name
77 | });
78 | }
79 | MessageBox.Show(
80 | $"An Unhandled Thread Exception was Caught and Logged to:\r\n{filePath}",
81 | "Thread Exception Caught", MessageBoxButtons.OK, MessageBoxIcon.Error);
82 | }
83 | catch
84 | {
85 | }
86 | };
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/System/Utilities/TaskUtilities.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading;
6 | using System.Threading.Tasks;
7 |
8 | namespace BorderlessGaming.Logic.System.Utilities
9 | {
10 | public static class TaskUtilities
11 | {
12 | public static async Task StartTaskAndWait(Action target)
13 | {
14 | await StartTaskAndWait(target, 0);
15 | }
16 |
17 | public static async Task WaitAndStartTaskAsync(Action target, int iHowLongToWait)
18 | {
19 | var ts = new CancellationTokenSource();
20 | var ct = ts.Token;
21 | await Task.Run(async () =>
22 | {
23 | await Task.Delay(TimeSpan.FromSeconds(iHowLongToWait), ct);
24 | target();
25 | }, ct);
26 | }
27 |
28 | public static async Task StartTaskAndWait(Action target, int iHowLongToWait)
29 | {
30 | try
31 | {
32 | await Task.Run(async () =>
33 | {
34 | var ts = new CancellationTokenSource();
35 | var ct = ts.Token;
36 | var task = Task.Factory.StartNew(target, ct);
37 | var dtStartTime = DateTime.Now;
38 | while (true)
39 | {
40 | if (task.IsCompleted || task.IsCanceled || task.IsFaulted)
41 | {
42 | break;
43 | }
44 |
45 | if (iHowLongToWait > 0)
46 | {
47 | if ((DateTime.Now - dtStartTime).TotalSeconds > iHowLongToWait)
48 | {
49 | try
50 | {
51 | ts.Cancel();
52 | }
53 | catch
54 | {
55 | // ignored
56 | }
57 |
58 | break;
59 | }
60 | }
61 |
62 | await Task.Delay(15, ct);
63 | //MainWindow.DoEvents();
64 | }
65 | });
66 | }
67 | catch (Exception)
68 | {
69 | //
70 | }
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Windows/ForegroundManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Diagnostics;
4 | using System.Drawing;
5 | using System.Linq;
6 | using System.Runtime.InteropServices;
7 | using System.Text;
8 | using BorderlessGaming.Logic.Models;
9 |
10 | namespace BorderlessGaming.Logic.Windows
11 | {
12 | public static class ForegroundManager
13 | {
14 | static Native.WinEventDelegate _dele = null;
15 | private static IntPtr _mHhook;
16 |
17 | public static void Subscribe()
18 | {
19 | _dele = WinEventProc;
20 | _mHhook = Native.SetWinEventHook(EventSystemForeground, EventSystemForeground, IntPtr.Zero, _dele, 0, 0, WineventOutofcontext);
21 | }
22 |
23 | private const uint WineventOutofcontext = 0;
24 | private const uint EventSystemForeground = 3;
25 |
26 |
27 | public static void WinEventProc(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
28 | {
29 | if (Config.Instance.Favorites != null)
30 | {
31 | try
32 | {
33 | var handle = Native.GetForegroundWindow();
34 | Native.GetWindowThreadProcessId(handle, out uint processId);
35 | var details = new ProcessDetails(Process.GetProcessById((int)processId), handle);
36 | foreach (var fav in Config.Instance.Favorites.Where(favorite => favorite.IsRunning && favorite.MuteInBackground))
37 | {
38 |
39 | if (fav.Matches(details))
40 | {
41 | if (Native.IsMuted((int) processId))
42 | {
43 | Native.UnMuteProcess((int) processId);
44 | }
45 | }
46 | else
47 | {
48 | if (!Native.IsMuted(fav.RunningId))
49 | {
50 | Native.MuteProcess(fav.RunningId);
51 | }
52 | }
53 | }
54 |
55 | }
56 | catch (Exception)
57 | {
58 | //
59 | }
60 | }
61 |
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Windows/Security.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using System.Security.Cryptography;
3 | using BorderlessGaming.Logic.Models;
4 | using BorderlessGaming.Logic.System;
5 | using ProtoBuf;
6 |
7 | namespace BorderlessGaming.Logic.Windows
8 | {
9 | public static class Security
10 | {
11 | private static readonly byte[] Salt = {0x33, 0x92, 0x91, 0x12, 0x28, 0x19};
12 |
13 | public static byte[] Encrypt(byte[] plainText)
14 | {
15 | return ProtectedData.Protect(plainText, Salt, DataProtectionScope.CurrentUser);
16 | }
17 |
18 | public static byte[] Decrypt(byte[] cipher)
19 | {
20 | return ProtectedData.Unprotect(cipher, Salt, DataProtectionScope.CurrentUser);
21 | }
22 |
23 | ///
24 | /// Encrypts the config file, I've seen a trend of people mining the Borderless Gaming favorites list for heuristics.
25 | ///
26 | ///
27 | public static void SaveConfig(Config instance)
28 | {
29 | using (var memoryStream = new MemoryStream())
30 | {
31 | Serializer.Serialize(memoryStream, instance);
32 | File.WriteAllBytes(AppEnvironment.ConfigPath, memoryStream.ToArray());
33 | }
34 | }
35 |
36 |
37 | public static Config LoadConfigFile()
38 | {
39 | try
40 | {
41 | using (var memoryStream = new MemoryStream(File.ReadAllBytes(AppEnvironment.ConfigPath)))
42 | {
43 | return Serializer.Deserialize(memoryStream);
44 | }
45 | }
46 | catch (global::System.Exception)
47 | {
48 | File.Delete(AppEnvironment.ConfigPath);
49 | SaveConfig(new Config());
50 | return LoadConfigFile();
51 | }
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/Windows/Windows.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Drawing;
5 | using BorderlessGaming.Logic.Models;
6 |
7 | namespace BorderlessGaming.Logic.Windows
8 | {
9 | public class Windows
10 | {
11 | ///
12 | /// Query the windows
13 | ///
14 | ///
15 | /// A callback that's called when a new window is found. This way the functionality is the same as
16 | /// before
17 | ///
18 | /// A set of current window ptrs
19 | public void QueryProcessesWithWindows(Action callback, HashSet windowPtrSet)
20 | {
21 | var ptrList = new List();
22 |
23 | bool Del(IntPtr hwnd, uint lParam)
24 | {
25 | return GetMainWindowForProcess_EnumWindows(ptrList, hwnd, lParam);
26 | }
27 |
28 | Native.EnumWindows(Del, 0);
29 | Native.EnumWindows(Del, 1);
30 | foreach (var ptr in ptrList)
31 | {
32 | if (Native.GetWindowRect(ptr, out Native.Rect rect))
33 | {
34 | if (((Rectangle) rect).IsEmpty)
35 | {
36 | continue;
37 | }
38 | //check if we already have this window in the list so we can avoid calling
39 | //GetWindowThreadProcessId(its costly)
40 | if (windowPtrSet.Contains(ptr.ToInt64()))
41 | {
42 | continue;
43 | }
44 | uint processId;
45 | Native.GetWindowThreadProcessId(ptr, out processId);
46 | callback(new ProcessDetails(Process.GetProcessById((int) processId), ptr)
47 | {
48 | Manageable = true
49 | });
50 | }
51 | }
52 | }
53 |
54 | private static bool GetMainWindowForProcess_EnumWindows(List ptrList, IntPtr hWndEnumerated,
55 | uint lParam)
56 | {
57 | var styleCurrentWindowStandard = Native.GetWindowLong(hWndEnumerated, WindowLongIndex.Style);
58 |
59 | switch (lParam)
60 | {
61 | case 0:
62 | if (Native.IsWindowVisible(hWndEnumerated))
63 | {
64 | if
65 | (
66 | (styleCurrentWindowStandard & WindowStyleFlags.Caption) > 0
67 | && (
68 | (styleCurrentWindowStandard & WindowStyleFlags.Border) > 0
69 | || (styleCurrentWindowStandard & WindowStyleFlags.ThickFrame) > 0
70 | )
71 | )
72 | {
73 | ptrList.Add(hWndEnumerated);
74 | }
75 | }
76 | break;
77 | case 1:
78 | if (Native.IsWindowVisible(hWndEnumerated))
79 | {
80 | if ((uint) styleCurrentWindowStandard != 0)
81 | {
82 | ptrList.Add(hWndEnumerated);
83 | }
84 | }
85 | break;
86 | }
87 | return true;
88 | }
89 | }
90 | }
--------------------------------------------------------------------------------
/BorderlessGaming.Logic/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/BorderlessGaming.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.26430.6
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BorderlessGaming.Logic", "BorderlessGaming.Logic\BorderlessGaming.Logic.csproj", "{F5AF80A6-F3F4-4855-A620-22FA5737D019}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BorderlessGaming", "BorderlessGaming\BorderlessGaming.csproj", "{E389C332-9BF5-4BB7-A131-7E230EEB2AE3}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Debug|x64 = Debug|x64
14 | Debug|x86 = Debug|x86
15 | Release|Any CPU = Release|Any CPU
16 | Release|x64 = Release|x64
17 | Release|x86 = Release|x86
18 | EndGlobalSection
19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Debug|x64.ActiveCfg = Debug|Any CPU
23 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Debug|x64.Build.0 = Debug|Any CPU
24 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Debug|x86.ActiveCfg = Debug|Any CPU
25 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Debug|x86.Build.0 = Debug|Any CPU
26 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Release|Any CPU.ActiveCfg = Release|Any CPU
27 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Release|Any CPU.Build.0 = Release|Any CPU
28 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Release|x64.ActiveCfg = Release|Any CPU
29 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Release|x64.Build.0 = Release|Any CPU
30 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Release|x86.ActiveCfg = Release|Any CPU
31 | {F5AF80A6-F3F4-4855-A620-22FA5737D019}.Release|x86.Build.0 = Release|Any CPU
32 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
34 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Debug|x64.ActiveCfg = Debug|Any CPU
35 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Debug|x64.Build.0 = Debug|Any CPU
36 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Debug|x86.ActiveCfg = Debug|Any CPU
37 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Debug|x86.Build.0 = Debug|Any CPU
38 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
39 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Release|Any CPU.Build.0 = Release|Any CPU
40 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Release|x64.ActiveCfg = Release|Any CPU
41 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Release|x64.Build.0 = Release|Any CPU
42 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Release|x86.ActiveCfg = Release|Any CPU
43 | {E389C332-9BF5-4BB7-A131-7E230EEB2AE3}.Release|x86.Build.0 = Release|Any CPU
44 | EndGlobalSection
45 | GlobalSection(SolutionProperties) = preSolution
46 | HideSolutionNode = FALSE
47 | EndGlobalSection
48 | EndGlobal
49 |
--------------------------------------------------------------------------------
/BorderlessGaming/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/BorderlessGaming/BorderlessGaming_new.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/BorderlessGaming_new.ico
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/AboutForm.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Windows.Forms;
4 | using BorderlessGaming.Logic.System;
5 |
6 | namespace BorderlessGaming.Forms
7 | {
8 | public partial class AboutForm : Form
9 | {
10 | public AboutForm()
11 | {
12 | InitializeComponent();
13 | }
14 |
15 | private void AboutFormLoad(object sender, EventArgs e)
16 | {
17 | // removed .Version.ToString(2) in favor of just .ToString() here so we can see the build number now
18 | versionLabel.Text = "Borderless Gaming " + Assembly.GetExecutingAssembly().GetName().Version;
19 | _copyrightLabel.Text = "Copyright © 2014-" + DateTime.Now.Year + " Andrew Sampson";
20 | }
21 |
22 | #region Project and Maintainer Links
23 |
24 | private void OpenBlog(object sender, LinkLabelLinkClickedEventArgs e)
25 | {
26 | Tools.GotoSite("http://blog.andrew.im/");
27 | }
28 |
29 | private void OpenSteamGroup(object sender, LinkLabelLinkClickedEventArgs e)
30 | {
31 | Tools.GotoSite("http://steamcommunity.com/app/388080/");
32 | }
33 |
34 | private void OpenOwnerGithub(object sender, EventArgs e)
35 | {
36 | Tools.GotoSite("https://github.com/Codeusa/");
37 | }
38 |
39 | private void OpenOwnerSteam(object sender, EventArgs e)
40 | {
41 | Tools.GotoSite("http://steamcommunity.com/id/Andrewmd5/");
42 | }
43 |
44 | private void OpenGithubRepo(object sender, LinkLabelLinkClickedEventArgs e)
45 | {
46 | Tools.GotoSite("https://github.com/Codeusa/Borderless-Gaming");
47 | }
48 |
49 | private void _impulserNameTag_Click(object sender, EventArgs e)
50 | {
51 | Tools.GotoSite("https://www.indiegogo.com/projects/the-mad-scientist-scholarship/x/3590458");
52 | }
53 |
54 | #endregion
55 |
56 | #region Contributers
57 |
58 | private void OpenDmxtGithub(object sender, EventArgs e)
59 | {
60 | Tools.GotoSite("https://github.com/dmxt/");
61 | }
62 |
63 | private void OpenImpulserGithub(object sender, EventArgs e)
64 | {
65 | Tools.GotoSite("https://github.com/Impulser/");
66 | }
67 |
68 | private void OpenStackOfPancakesGithub(object sender, EventArgs e)
69 | {
70 | Tools.GotoSite("https://github.com/Stack-of-Pancakes/");
71 | }
72 |
73 | private void OpenMadpewGithub(object sender, EventArgs e)
74 | {
75 | Tools.GotoSite("https://github.com/madpew/");
76 | }
77 |
78 | private void OpenPsouza4Github(object sender, EventArgs e)
79 | {
80 | Tools.GotoSite("https://github.com/psouza4/");
81 | }
82 |
83 | private void OpenPsouza4Steam(object sender, EventArgs e)
84 | {
85 | Tools.GotoSite("http://steamcommunity.com/id/psouza4/");
86 | }
87 |
88 | private void OpenSecretOnlineGithub(object sender, EventArgs e)
89 | {
90 | Tools.GotoSite("https://github.com/SecretOnline/");
91 | }
92 |
93 | #endregion
94 | }
95 | }
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/AboutForm.de.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 |
121 |
122 | Steam Gruppe:
123 |
124 |
125 | Über...
126 |
127 |
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/DesktopAreaSelector.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace BorderlessGaming.Forms
2 | {
3 | partial class DesktopAreaSelector
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(DesktopAreaSelector));
32 | this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
33 | this.SuspendLayout();
34 | //
35 | // DesktopAreaSelector
36 | //
37 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
38 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
39 | this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
40 | this.ClientSize = new System.Drawing.Size(500, 400);
41 | this.ControlBox = false;
42 | this.Cursor = System.Windows.Forms.Cursors.Arrow;
43 | this.DoubleBuffered = true;
44 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
45 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
46 | this.Name = "DesktopAreaSelector";
47 | this.Opacity = 0.1D;
48 | this.Text = "DesktopAreaSelector";
49 | this.TransparencyKey = System.Drawing.Color.White;
50 | this.Load += new System.EventHandler(this.DesktopAreaSelector_Load);
51 | this.Shown += new System.EventHandler(this.DesktopAreaSelector_Shown);
52 | this.ResumeLayout(false);
53 |
54 | }
55 |
56 | #endregion
57 |
58 | private System.Windows.Forms.SaveFileDialog saveFileDialog1;
59 |
60 | }
61 | }
62 |
63 |
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/InputText.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Forms;
3 |
4 | namespace BorderlessGaming.Forms
5 | {
6 | public partial class InputText : Form
7 | {
8 | public InputText()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | public string Title
14 | {
15 | get => Text.Trim();
16 | set => Text = value.Trim();
17 | }
18 |
19 | public string Input
20 | {
21 | get => txtInput.Text.Trim();
22 | set => txtInput.Text = value.Trim();
23 | }
24 |
25 | public string Instructions
26 | {
27 | get => lblInstructions.Text.Trim();
28 | set => lblInstructions.Text = value.Trim();
29 | }
30 |
31 | private void frmInputText_Shown(object sender, EventArgs e)
32 | {
33 | txtInput.Focus();
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/InputText.designer.cs:
--------------------------------------------------------------------------------
1 | namespace BorderlessGaming.Forms
2 | {
3 | partial class InputText
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(InputText));
32 | this.lblInstructions = new System.Windows.Forms.Label();
33 | this.txtInput = new System.Windows.Forms.TextBox();
34 | this.btnOK = new System.Windows.Forms.Button();
35 | this.btnCancel = new System.Windows.Forms.Button();
36 | this.SuspendLayout();
37 | //
38 | // lblInstructions
39 | //
40 | resources.ApplyResources(this.lblInstructions, "lblInstructions");
41 | this.lblInstructions.Name = "lblInstructions";
42 | //
43 | // txtInput
44 | //
45 | resources.ApplyResources(this.txtInput, "txtInput");
46 | this.txtInput.Name = "txtInput";
47 | //
48 | // btnOK
49 | //
50 | resources.ApplyResources(this.btnOK, "btnOK");
51 | this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
52 | this.btnOK.Name = "btnOK";
53 | this.btnOK.UseVisualStyleBackColor = true;
54 | //
55 | // btnCancel
56 | //
57 | resources.ApplyResources(this.btnCancel, "btnCancel");
58 | this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
59 | this.btnCancel.Name = "btnCancel";
60 | this.btnCancel.UseVisualStyleBackColor = true;
61 | //
62 | // InputText
63 | //
64 | this.AcceptButton = this.btnOK;
65 | resources.ApplyResources(this, "$this");
66 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
67 | this.CancelButton = this.btnCancel;
68 | this.Controls.Add(this.btnCancel);
69 | this.Controls.Add(this.btnOK);
70 | this.Controls.Add(this.txtInput);
71 | this.Controls.Add(this.lblInstructions);
72 | this.MaximizeBox = false;
73 | this.MinimizeBox = false;
74 | this.Name = "InputText";
75 | this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
76 | this.Shown += new System.EventHandler(this.frmInputText_Shown);
77 | this.ResumeLayout(false);
78 | this.PerformLayout();
79 |
80 | }
81 |
82 | #endregion
83 |
84 | private System.Windows.Forms.Label lblInstructions;
85 | private System.Windows.Forms.TextBox txtInput;
86 | private System.Windows.Forms.Button btnOK;
87 | private System.Windows.Forms.Button btnCancel;
88 | }
89 | }
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/Rainway.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace BorderlessGaming.Forms
2 | {
3 | partial class Rainway
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(Rainway));
32 | this.SuspendLayout();
33 | //
34 | // Rainway
35 | //
36 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
37 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
38 | this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
39 | this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
40 | this.ClientSize = new System.Drawing.Size(930, 495);
41 | this.DoubleBuffered = true;
42 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
43 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
44 | this.Name = "Rainway";
45 | this.ShowInTaskbar = false;
46 | this.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds;
47 | this.Text = "Rainway Game Streaming - Play Anywhere";
48 | this.TopMost = true;
49 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Rainway_FormClosing);
50 | this.Load += new System.EventHandler(this.Rainway_Load);
51 | this.Click += new System.EventHandler(this.Rainway_Click);
52 | this.MouseEnter += new System.EventHandler(this.Rainway_MouseEnter);
53 | this.ResumeLayout(false);
54 |
55 | }
56 |
57 | #endregion
58 | }
59 | }
--------------------------------------------------------------------------------
/BorderlessGaming/Forms/Rainway.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 | using BorderlessGaming.Logic.Models;
11 | using BorderlessGaming.Logic.System;
12 |
13 | namespace BorderlessGaming.Forms
14 | {
15 | public partial class Rainway : Form
16 | {
17 | public Rainway()
18 | {
19 | SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
20 | InitializeComponent();
21 | }
22 |
23 | private void Rainway_Load(object sender, EventArgs e)
24 | {
25 |
26 | }
27 |
28 | private void Rainway_Click(object sender, EventArgs e)
29 | {
30 | Tools.GotoSite("https://rainway.io/?ref=borderlessgaming2");
31 | this.Close();
32 | }
33 |
34 | private void checkBox1_CheckedChanged(object sender, EventArgs e)
35 | {
36 | var checkbox = (CheckBox) sender;
37 | Config.Instance.AppSettings.ShowAdOnStart = checkbox.Checked != true;
38 | }
39 |
40 | private void Rainway_MouseEnter(object sender, EventArgs e)
41 | {
42 | Cursor = Cursors.Hand;
43 | }
44 |
45 | private void Rainway_FormClosing(object sender, FormClosingEventArgs e)
46 | {
47 | Config.Instance.AppSettings.ShowAdOnStart = false;
48 | Config.Save();
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/BorderlessGaming/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 | using BorderlessGaming.Forms;
7 | using BorderlessGaming.Logic.Models;
8 | using BorderlessGaming.Logic.System;
9 | using BorderlessGaming.Logic.Windows;
10 |
11 | namespace BorderlessGaming
12 | {
13 | static class Program
14 | {
15 | ///
16 | /// The main entry point for the application.
17 | ///
18 | [STAThread]
19 | static void Main()
20 | {
21 |
22 | Application.EnableVisualStyles();
23 | Application.SetCompatibleTextRenderingDefault(false);
24 | Tools.Setup();
25 | //use github updating for non-steam
26 | if (!Config.Instance.StartupOptions.IsSteam && Config.Instance.AppSettings.CheckForUpdates)
27 | {
28 | Tools.CheckForUpdates();
29 | }
30 | ForegroundManager.Subscribe();
31 | Application.Run(new MainWindow());
32 |
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/BorderlessGaming/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Resources;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 |
9 | [assembly: AssemblyTitle("Borderless Gaming")]
10 | [assembly: AssemblyDescription("Play your favorite games in a borderless window; no more time-consuming Alt-Tabs!")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("Andrew Sampson")]
13 | [assembly: AssemblyProduct("Borderless Gaming")]
14 | [assembly: AssemblyCopyright("Copyright © 2014-2018 Andrew Sampson")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 |
18 | // Setting ComVisible to false makes the types in this assembly not visible
19 | // to COM components. If you need to access a type in this assembly from
20 | // COM, set the ComVisible attribute to true on that type.
21 |
22 | [assembly: ComVisible(false)]
23 |
24 | // The following GUID is for the ID of the typelib if this project is exposed to COM
25 |
26 | [assembly: Guid("a4ec5be3-e7a6-4d82-825a-b697248925dc")]
27 |
28 | // Version information for an assembly consists of the following four values:
29 | //
30 | // Major Version
31 | // Minor Version
32 | // Build Number
33 | // Revision
34 | //
35 | // You can specify all the values or you can default the Build and Revision Numbers
36 | // by using the '*' as shown below:
37 | // [assembly: AssemblyVersion("1.0.*")]
38 |
39 | [assembly: AssemblyVersion("9.5.6.1328")]
40 | [assembly: AssemblyFileVersion("9.5.6.1328")]
41 | [assembly: NeutralResourcesLanguage("en-US")]
--------------------------------------------------------------------------------
/BorderlessGaming/Properties/Resources.de.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 |
121 | Favoriten konnten nicht gespeichert werden. Haben Sie die benötigten Berechtigungen?\r\n\r\nFehler-Details: {0}
122 |
123 |
124 | Fehler
125 |
126 |
127 | Bei der Suche nach Updates trat ein Fehler auf. Starten Sie das Programm erneut um die Suche zu wiederholen.
128 |
129 |
130 | Eine neue Version von Borderless Gaming ist verfügbar. Möchten Sie die Downloadseite jetzt besuchen?
131 |
132 |
133 | Aktualisierung verfügbar
134 |
135 |
136 | {0} wurde minimiert.
137 |
138 |
--------------------------------------------------------------------------------
/BorderlessGaming/Properties/Resources.ru.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 |
121 | Невозможно добавить в избранное. У вас есть привилегии?\r\n\r\nПодробности: {0}
122 |
123 |
124 | Ошибка
125 |
126 |
127 | Возникла ошибка при поиске обновлений. Перезапустите программу и попытайтесь снова.
128 |
129 |
130 | Доступна новая версия Borderless Gaming. Хотите перейти на страницу загрузки?
131 |
132 |
133 | Доступно обновление
134 |
135 |
136 | {0} свернут в трей.
137 |
138 |
--------------------------------------------------------------------------------
/BorderlessGaming/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
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 BorderlessGaming.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/BorderlessGaming/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/RainwayLogo.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/RainwayLogo.bmp
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/add.png
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/blank.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/blank.cur
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/bordered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/bordered.png
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/borderless.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/borderless.png
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/globe-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/globe-green.png
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/master-glyph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/master-glyph.png
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/remove.png
--------------------------------------------------------------------------------
/BorderlessGaming/Resources/steam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming/Resources/steam.png
--------------------------------------------------------------------------------
/BorderlessGaming/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 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | true
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/BorderlessGaming_new.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/BorderlessGaming_new.ico
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to contribute
2 |
3 | We like to encourage you to contribute to the repository.
4 | This should be as easy as possible for you but there are a few things to consider when contributing.
5 | The following guidelines for contribution should be followed if you want to submit a pull request.
6 |
7 | ## How to prepare
8 |
9 | * You need a [GitHub account](https://github.com/signup/free)
10 | * Submit an [issue ticket](https://github.com/Codeusa/Borderless-Gaming/issues) for your issue if the is no one yet.
11 | * Describe the issue and include steps to reproduce if it's a bug.
12 | * Ensure to mention the earliest version that you know is affected.
13 | * If you are able and want to fix this, fork the repository on GitHub
14 |
15 | ## Make Changes
16 |
17 | * In your forked repository, create a topic branch for your upcoming patch. (e.g. `better favorites detection` or `failed-to-edit-window-fix`)
18 | * Usually this is based on the master branch.
19 | * Create a branch based on master; `git branch
20 | fix/master/my_contribution master` then checkout the new branch with `git
21 | checkout fix/master/my_contribution`. Please avoid working directly on the `master` branch.
22 | * Make sure you stick to the coding style that is used already.
23 | * Make commits of logical units and describe them properly.
24 | * Syntax:
25 | * Two spaces, no tabs.
26 | * No trailing whitespace. Blank lines should not have any space.
27 | * a = b and not a=b.
28 | * Follow the conventions you see used in the source already.
29 |
30 | ## Submit Changes
31 |
32 | * Push your changes to a topic branch in your fork of the repository.
33 | * Open a pull request to the original repository and choose the right original branch you want to patch.
34 | * If not done in commit messages (which you really should do) please reference and update your issue with the code changes. But _please do not close the issue yourself_.
35 | * Even if you have write access to the repository, do not directly push or merge pull-requests. Let another team member review your pull request and approve.
36 |
37 | # Additional Resources
38 |
39 | * [General GitHub documentation](http://help.github.com/)
40 | * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
--------------------------------------------------------------------------------
/Installers/BorderlessGaming_Standalone_Admin.iss:
--------------------------------------------------------------------------------
1 | [Setup]
2 | #define MainProg "../BorderlessGaming/bin/Release/BorderlessGaming.exe"
3 | #define Major
4 | #define Minor
5 | #define Rev
6 | #define Build
7 | #define Version ParseVersion(MainProg, Major, Minor, Rev, Build)
8 | #define AppVersion Str(Major)+"."+Str(Minor)+(Rev > 0 ? "."+Str(Rev) : "")
9 | AppName=Borderless Gaming
10 | AppPublisher=Andrew Sampson
11 | AppCopyright=Copyright (C) 2014-2018 Andrew Sampson
12 | DefaultDirName={pf}\Borderless Gaming
13 | DefaultGroupName=Borderless Gaming
14 | OutputDir=./
15 | DisableReadyMemo=yes
16 | DisableReadyPage=yes
17 | SetupIconFile=../BorderlessGaming_new.ico
18 | Compression=lzma/ultra64
19 | SolidCompression=yes
20 | LicenseFile=../LICENSE
21 | Uninstallable=yes
22 | ; Needed to modify %AppData%
23 | PrivilegesRequired=admin
24 | DisableProgramGroupPage=yes
25 | DirExistsWarning=no
26 |
27 | ; Shown as installed version (Programs & Features) as well as product version ('Details' tab when right-clicking setup program and choosing 'Properties')
28 | AppVersion={#AppVersion}
29 | ; Stored in the version info for the setup program itself ('Details' tab when right-clicking setup program and choosing 'Properties')
30 | VersionInfoVersion={#Version}
31 | ; Other version info
32 | OutputBaseFilename=BorderlessGaming{#AppVersion}_admin_setup
33 |
34 |
35 | ; Shown in the setup program during install only
36 | AppVerName=Borderless Gaming v{#AppVersion}
37 |
38 | ; Shown only in Programs & Features
39 | AppContact=Borderless Gaming on Github
40 | AppComments=Play your favorite games in a borderless window; no more time-consuming Alt-Tabs!
41 | AppPublisherURL=https://github.com/Codeusa/Borderless-Gaming
42 | AppSupportURL=https://github.com/Codeusa/Borderless-Gaming/issues
43 | AppUpdatesURL=https://github.com/Codeusa/Borderless-Gaming/releases/latest
44 | UninstallDisplayName=Borderless Gaming
45 | ; 691 KB as initial install
46 | UninstallDisplaySize=929008
47 | UninstallDisplayIcon={app}\BorderlessGaming.exe
48 |
49 |
50 | [Messages]
51 | BeveledLabel=Borderless Gaming {#AppVersion} Setup
52 |
53 | [Languages]
54 | Name: english; MessagesFile: compiler:Default.isl
55 |
56 | [Files]
57 | Source: ../BorderlessGaming/bin/Release/*; DestDir: {app}; Flags: ignoreversion recursesubdirs
58 |
59 | Source: ../LICENSE; DestName: License.txt; DestDir: {app}
60 | Source: ../README.md; DestName: Read Me.txt; DestDir: {app}
61 | Source: ./uninstall.ico; DestDir: {app}
62 |
63 | [Tasks]
64 | ;Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}
65 | Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons};
66 |
67 | [Icons]
68 | Name: {commondesktop}\Borderless Gaming; Filename: {app}\BorderlessGaming.exe; WorkingDir: {app}; Tasks: desktopicon
69 | Name: {group}\Borderless Gaming; Filename: {app}\BorderlessGaming.exe; WorkingDir: {app}
70 | Name: {group}\Uninstall Borderless Gaming; Filename: {uninstallexe}; IconFileName: {app}\uninstall.ico
71 | Name: {group}\License Agreement; Filename: {app}\License.txt
72 | Name: {group}\Read Me; Filename: {app}\Read Me.txt
73 |
74 | [Run]
75 | Description: Start Borderless Gaming; Filename: {app}\BorderlessGaming.exe; Flags: nowait postinstall skipifsilent shellexec
76 |
77 | [UninstallDelete]
78 | Type: files; Name: {app}\License.txt
79 | Type: files; Name: {app}\Read Me.txt
80 | Type: files; Name: {app}\BorderlessGaming.exe
81 | Type: files; Name: {app}\Interop.IWshRuntimeLibrary.dll
82 | Type: files; Name: {app}\Newtonsoft.Json.dll
83 | Type: files; Name: {app}\uninstall.ico
84 |
85 | [Code]
86 | procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
87 | begin
88 | if CurUninstallStep = usUninstall then begin
89 | if MsgBox('Do you want to delete your Borderless Gaming settings and preferences as well?', mbConfirmation, MB_YESNO) = IDYES
90 | then begin
91 | DelTree(ExpandConstant('{app}'), True, True, True)
92 | end;
93 | end;
94 | end;
95 |
--------------------------------------------------------------------------------
/Installers/BorderlessGaming_Standalone_User.iss:
--------------------------------------------------------------------------------
1 | [Setup]
2 | #define MainProg "../bin/Standalone_Admin/Release/BorderlessGaming.exe"
3 | #define Major
4 | #define Minor
5 | #define Rev
6 | #define Build
7 | #define Version ParseVersion(MainProg, Major, Minor, Rev, Build)
8 | #define AppVersion Str(Major)+"."+Str(Minor)+(Rev > 0 ? "."+Str(Rev) : "")
9 | AppName=Borderless Gaming
10 | AppPublisher=Andrew Sampson
11 | AppCopyright=Copyright (C) 2014-2018 Andrew Sampson
12 | DefaultDirName={pf}\Borderless Gaming
13 | DefaultGroupName=Borderless Gaming
14 | OutputDir=./
15 | DisableReadyMemo=yes
16 | DisableReadyPage=yes
17 | SetupIconFile=../BorderlessGaming_new.ico
18 | Compression=lzma/ultra64
19 | SolidCompression=yes
20 | LicenseFile=../LICENSE
21 | Uninstallable=yes
22 | ; Needed to modify %AppData%
23 | PrivilegesRequired=admin
24 | DisableProgramGroupPage=yes
25 | DirExistsWarning=no
26 |
27 | ; Shown as installed version (Programs & Features) as well as product version ('Details' tab when right-clicking setup program and choosing 'Properties')
28 | AppVersion={#AppVersion}
29 | ; Stored in the version info for the setup program itself ('Details' tab when right-clicking setup program and choosing 'Properties')
30 | VersionInfoVersion={#Version}
31 | ; Other version info
32 | OutputBaseFilename=BorderlessGaming{#AppVersion}_setup
33 |
34 |
35 | ; Shown in the setup program during install only
36 | AppVerName=Borderless Gaming v{#AppVersion}
37 |
38 | ; Shown only in Programs & Features
39 | AppContact=Borderless Gaming on Github
40 | AppComments=Play your favorite games in a borderless window; no more time-consuming Alt-Tabs!
41 | AppPublisherURL=https://github.com/Codeusa/Borderless-Gaming
42 | AppSupportURL=https://github.com/Codeusa/Borderless-Gaming/issues
43 | AppUpdatesURL=https://github.com/Codeusa/Borderless-Gaming/releases/latest
44 | UninstallDisplayName=Borderless Gaming
45 | ; 691 KB as initial install
46 | UninstallDisplaySize=929008
47 | UninstallDisplayIcon={app}\BorderlessGaming.exe
48 |
49 |
50 | [Messages]
51 | BeveledLabel=Borderless Gaming {#AppVersion} Setup
52 |
53 | [Languages]
54 | Name: english; MessagesFile: compiler:Default.isl
55 |
56 | [Files]
57 | Source: ../bin/Standalone_User/Release/BorderlessGaming.exe; DestDir: {app}; Flags: ignoreversion
58 | Source: ../bin/Standalone_User/Release/Interop.IWshRuntimeLibrary.dll; DestDir: {app}
59 | Source: ../bin/Standalone_User/Release/Newtonsoft.Json.dll; DestDir: {app}
60 |
61 | Source: ../LICENSE; DestName: License.txt; DestDir: {app}
62 | Source: ../README.md; DestName: Read Me.txt; DestDir: {app}
63 | Source: ./uninstall.ico; DestDir: {app}
64 |
65 | [Tasks]
66 | ;Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}
67 | Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons};
68 |
69 | [Icons]
70 | Name: {commondesktop}\Borderless Gaming; Filename: {app}\BorderlessGaming.exe; WorkingDir: {app}; Tasks: desktopicon
71 | Name: {group}\Borderless Gaming; Filename: {app}\BorderlessGaming.exe; WorkingDir: {app}
72 | Name: {group}\Uninstall Borderless Gaming; Filename: {uninstallexe}; IconFileName: {app}\uninstall.ico
73 | Name: {group}\License Agreement; Filename: {app}\License.txt
74 | Name: {group}\Read Me; Filename: {app}\Read Me.txt
75 |
76 | [Run]
77 | Description: Start Borderless Gaming; Filename: {app}\BorderlessGaming.exe; Flags: nowait postinstall skipifsilent shellexec
78 |
79 | [UninstallDelete]
80 | Type: files; Name: {app}\License.txt
81 | Type: files; Name: {app}\Read Me.txt
82 | Type: files; Name: {app}\BorderlessGaming.exe
83 | Type: files; Name: {app}\Interop.IWshRuntimeLibrary.dll
84 | Type: files; Name: {app}\Newtonsoft.Json.dll
85 | Type: files; Name: {app}\uninstall.ico
86 |
87 | [Code]
88 | procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
89 | begin
90 | if CurUninstallStep = usUninstall then begin
91 | if MsgBox('Do you want to delete your Borderless Gaming settings and preferences as well?', mbConfirmation, MB_YESNO) = IDYES
92 | then begin
93 | DelTree(ExpandConstant('{app}'), True, True, True)
94 | end;
95 | end;
96 | end;
97 |
--------------------------------------------------------------------------------
/Installers/uninstall.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/Installers/uninstall.ico
--------------------------------------------------------------------------------
/Languages/Languages.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/Languages/Languages.zip
--------------------------------------------------------------------------------
/Languages/de-DE.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Fenstertitel anpassen
3 | setWindowSizePixelPrompt|Pixel {0} Position für die obere linke Ecke ({0} Koordinate):
4 | setWindowSizeWidthPrompt|Fenster Breite (in Pixeln):
5 | setWindowSizeHeightPrompt|Fenster Höhe (in Pixeln):
6 | setWindowSizeMouseTitle|Bereich auswählen?
7 | setWindowSizeMousePrompt|Willst du den Bereich mit dem Mauszeiger auswählen? Falls du Nein antwortest, wirst du nach pixelgenauen Angaben gefragt.
8 | adjustWindowBoundsTitle|Fensterrand anpassen
9 | adjustWindowBoundsPrompt|Pixel Anpassung für den {0} Fensterrand (0 Pixel = keine Anpassung):
10 | adjustWindowBoundsLeft|linken
11 | adjustWindowBoundsRight|rechten
12 | adjustWindowBoundsTop|oberen
13 | adjustWindowBoundsBottom|unteren
14 | settingConfirmationTitle|Änderungen bestätigen
15 | settingConfirmationPrompt|Du musst Borderless Gaming neu starten, damit Deine Änderungen wirksam werden. Jetzt neu starten?
16 | setWindowTitleTitle|Fenstertitel anpassen
17 | setWindowTitlePrompt|Neuen Fenstertitel eingeben:
18 | toggleMouseCursorVisibilityTitle|Mauszeiger wirklich verstecken?
19 | toggleMouseCursorVisibilityPrompt|Willst du den Mauszeiger wirklich verstecken? Möglicherweise wirst du Schwierigkeiten haben den Mauszeiger wiederzufinden. Wenn du den globalen Hotkey zum Umschalten der Mauszeiger Sichtbarkeit aktiviert hast, kannst du mit [Win + Scroll Lock] den Mauszeiger sichtbar machen. Außerdem stellt Borderless Gaming den Mauszeiger sofort wieder her, wenn es beendet wird.
20 | # Options Menu
21 | toolStripOptions|Optionen
22 | toolStripRunOnStartup|Mit Computer starten
23 | toolStripLanguages|Sprache auswählen
24 | toolStripCheckForUpdates|Nach Updates suchen
25 | toolStripGlobalHotkey|Globalen Hotkey verwenden
26 | toolStripMouseLock|Mauszeiger Fangen Hotkey verwenden
27 | toolStripMouseHide|Mauszeiger Sichtbarkeit Hotkey verwenden
28 | toolStripMinimizedToTray|Nach Programmstart minimieren
29 | toolStripCloseToTray|In den Benachrichtigungsbereich minimieren
30 | toolStripHideBalloonTips|Benachrichtigung verstecken
31 | toolStripSlowWindowDetection|Langsame Fenstererkennung benutzen
32 | toolStripViewFullProcessDetails|Vollständige Prozessdetails anzeigen
33 | toolStripRestoreProcesses|Versteckte Anwendungen wiederherstellen
34 | # Tools Menu
35 | toolsToolStripMenuItem|Werkzeuge
36 | toolStripPauseAutomaticProcessing|Automatische Aktualisierung anhalten
37 | toolStripOpenDataFolder|Konfigurationsordner öffnen
38 | toolStripToggleMouseCursorVisibility|Mauszeiger Sichtbarkeit umschalten
39 | toolStripToggleWindowsTaskbar|Windows Taskleisten Sichtbarkeit umschalten
40 | toolStripFullApplicationRefresh|Alle Anwendungen aktualisieren
41 | toolStripDisableSteamIntegration|Steam Integration ausschalten
42 | # Help Menu
43 | toolStripInfo|Hilfe
44 | toolStripUsageGuide|Anleitung
45 | toolStripRegexReference|Regex Hinweis
46 | toolStripReportBug|Fehler melden
47 | toolStripSupportUs|Unterstütze uns
48 | toolStripAbout|Über
49 | # Process Context Menu
50 | contextAddToFavs|Zu Favoriten hinzufügen...
51 | toolStripByTheWindowTitle|... durch Fenstertitel
52 | toolStripByRegex|... durch Fenstertitel (regex)
53 | toolStripByProcess|... durch den Anwendungsnamen des Prozesses
54 | contextBorderless|Randlos machen
55 | contextBorderlessOn|Randlos machen auf...
56 | toolStripSetWindowTitle|Fenstertitel anpassen
57 | toolStripHideProcess|Diesen Prozess verstecken
58 | # Favorite Context Menu
59 | toolStripFullScreen|Vollbild
60 | toolStripNoSizeChange|Keine Größen Veränderung
61 | toolStripSetSetWindowSize|Fenstergröße anpassen
62 | toolStripAutomaximize|Auto-Maximieren
63 | toolStripAdjustWindowBounds|Fenstergrenzen anpassen
64 | toolStripAlwaysOnTop|Immer im Vordergrund
65 | toolStripDelayBorderless|Randloses Fenster verzögern
66 | toolStripHideMouseCursor|Mauszeiger verstecken
67 | toolStripHideWindowsTaskbar|Windows Taskleiste verstecken
68 | toolStripRemoveMenus|Menüs entfernen
69 | contextFavScreen|Bevorzugten Bildschirm auswählen...
70 | toolStripMuteInBackground|Im Hintergrund stummschalten
71 | contextRemoveFromFavs|Aus Favoriten entfernen
72 | # UI
73 | superSize|ExtraGroß!
74 | processLabel|Anwendungen:
75 | favoritesLabel|Favoriten (automatisch):
76 | statusLabel|Lade...
77 | moreOptionsLabel|Rechtsklicken für weitere Optionen. Zuletzt aktualisiert
78 | # Tool Tips
79 | steamHint|Verhindert "In Anwendung" auf Steam
80 | addFavorite|Fügt ausgewählte Anwendung den Favoriten hinzu (durch den Fenstertitel).
81 | removeFavorite|Entfernt ausgewählten Favorit von der Liste.
82 | makeBorderless|Macht ausgewählte Anwendung randlos.
83 | restoreBorders|Versucht den Rand eines Fensters wiederherzustellen.
84 |
--------------------------------------------------------------------------------
/Languages/en-US.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Set Window Size
3 | setWindowSizePixelPrompt|Pixel {0} location for the top left corner ({0} coordinate):
4 | setWindowSizeWidthPrompt|Window width (in pixels):
5 | setWindowSizeHeightPrompt|Window height (in pixels):
6 | setWindowSizeMouseTitle|Select Area?
7 | setWindowSizeMousePrompt|Would you like to select the area using your mouse cursor?\r\n\r\nIf you answer No, you will be prompted for specific pixel dimensions.
8 | adjustWindowBoundsTitle|Adjust Window Bounds
9 | adjustWindowBoundsPrompt|Pixel adjustment for the {0} window edge (0 pixels = no adjustment):
10 | adjustWindowBoundsLeft|left
11 | adjustWindowBoundsRight|right
12 | adjustWindowBoundsTop|top
13 | adjustWindowBoundsBottom|bottom
14 | settingConfirmationTitle|Confirm Your Changes
15 | settingConfirmationPrompt|You must restart Borderless Gaming for your changes to take affect. Restart now?
16 | setWindowTitleTitle|Set Window Title
17 | setWindowTitlePrompt|Set the new window title text:
18 | toggleMouseCursorVisibilityTitle|Really Hide Mouse Cursor?
19 | toggleMouseCursorVisibilityPrompt|Do you really want to hide the mouse cursor?\r\n\r\nYou may have a difficult time finding the mouse again once it's hidden.\r\n\r\nIf you have enabled the global hotkey to toggle the mouse cursor visibility, you can press [Win + Scroll Lock] to toggle the mouse cursor on.\r\n\r\nAlso, exiting Borderless Gaming will immediately restore your mouse cursor.
20 | # Options Menu
21 | toolStripOptions|Options
22 | toolStripRunOnStartup|Run On Startup
23 | toolStripLanguages|Select Language
24 | toolStripCheckForUpdates|Check For Updates
25 | toolStripGlobalHotkey|Use Global Hotkey
26 | toolStripMouseLock|Use Mouse Lock Hotkey
27 | toolStripMouseHide|Use Mouse Hide Hotkey
28 | toolStripMinimizedToTray|Start Minimized To Tray
29 | toolStripCloseToTray|Close To Tray
30 | toolStripHideBalloonTips|Hide Balloon Tips
31 | toolStripSlowWindowDetection|Use Slower Window Detection
32 | toolStripViewFullProcessDetails|View Full Process Details
33 | toolStripRestoreProcesses|Restore All Hidden Applications
34 | # Tools Menu
35 | toolsToolStripMenuItem|Tools
36 | toolStripPauseAutomaticProcessing|Pause Automatic Processing
37 | toolStripOpenDataFolder|Open Data Folder
38 | toolStripToggleMouseCursorVisibility|Toggle Mouse Cursor Visibility
39 | toolStripToggleWindowsTaskbar|Toggle Windows Taskbar Visibility
40 | toolStripFullApplicationRefresh|Full Application Refresh
41 | toolStripDisableSteamIntegration|Disable Steam Integration
42 | # Help Menu
43 | toolStripInfo|Help
44 | toolStripUsageGuide|Usage Guide
45 | toolStripRegexReference|Regex Reference
46 | toolStripReportBug|Report Bug
47 | toolStripSupportUs|Support Us
48 | toolStripAbout|About
49 | # Process Context Menu
50 | contextAddToFavs|Add to Favorites...
51 | toolStripByTheWindowTitle|... by the window title text
52 | toolStripByRegex|... by the window title text (regex)
53 | toolStripByProcess|... by the process binary name
54 | contextBorderless|Make Borderless
55 | contextBorderlessOn|Make Borderless On...
56 | toolStripSetWindowTitle|Set Window Title
57 | toolStripHideProcess|Hide This Process
58 | # Favorite Context Menu
59 | toolStripFullScreen|Full Screen
60 | toolStripNoSizeChange|No Size Change
61 | toolStripSetSetWindowSize|Set Window Size
62 | toolStripAutomaximize|Auto-Maximize
63 | toolStripAdjustWindowBounds|Adjust Window bounds
64 | toolStripAlwaysOnTop|Always On Top
65 | toolStripDelayBorderless|Delay Borderless Window
66 | toolStripHideMouseCursor|Hide Mouse Cursor
67 | toolStripHideWindowsTaskbar|Hide Windows Taskbar
68 | toolStripRemoveMenus|Remove Menus
69 | contextFavScreen|Select Favorite Screen...
70 | toolStripMuteInBackground|Mute In Background
71 | contextRemoveFromFavs|Remove From Favorites
72 | # UI
73 | superSize|SuperSize!
74 | processLabel|Applications:
75 | favoritesLabel|Favorites (automatic):
76 | statusLabel|Loading...
77 | moreOptionsLabel|Right-click for more options. Last updated
78 | # Tool Tips
79 | steamHint|Prevents "In-App" on Steam
80 | addFavorite|Adds the currently-selected application to your favorites list (by the window title).
81 | removeFavorite|Removes the currently-selected favorite from the list.
82 | makeBorderless|Makes the currently-selected application borderless.
83 | restoreBorders|Attempts to restore a window back to its bordered state.
--------------------------------------------------------------------------------
/Languages/es-419.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Establecer tamaño de la ventana
3 | setWindowSizePixelPrompt|Ubicacion del pixel {0} para la esquina superior izquierda ({0} coordenadas):
4 | setWindowSizeWidthPrompt|Ancho de la ventana (en pixeles):
5 | setWindowSizeHeightPrompt|Alto de la ventana (en pixeles):
6 | setWindowSizeMouseTitle|¿Seleccionar Area?
7 | setWindowSizeMousePrompt|¿Desas seleccionar el area usando el cursor del mouse?\r\n\r\nSi eliges No, se te preguntara por dimensiones especificas de los pixeles.
8 | adjustWindowBoundsTitle|Ajustar limites de la ventana
9 | adjustWindowBoundsPrompt|Ajuste de pixeles para el borde de la ventana de {0} (0 pixeles = sin ajustes):
10 | adjustWindowBoundsLeft|izquierda
11 | adjustWindowBoundsRight|derecha
12 | adjustWindowBoundsTop|arriba
13 | adjustWindowBoundsBottom|abajo
14 | settingConfirmationTitle|Confirma tus cambios
15 | settingConfirmationPrompt|Debes reiniciar Borderless Gaming para que tus cambios tomen efecto. ¿Reiniciar ahora?
16 | setWindowTitleTitle|Establecer titulo de la ventana
17 | setWindowTitlePrompt|Establece el nuevo titulo de la ventana:
18 | toggleMouseCursorVisibilityTitle|¿Ocultar realmente el cursor del mouse?
19 | toggleMouseCursorVisibilityPrompt|¿De verdad deseas ocultar el cursor del mouse?\r\n\r\nTal vez te encuentres con dificultades al intentar encontrar el cursor una vez oculto.\r\n\r\nSi tienes activado el Hotkey globar para alternar la visibilidad del mouse, puedes presionar [Win + Scroll Lock] para alternar el cursor del mouse.\r\n\r\nTambien, salir de Borderless Gaming mostrara automaticamente el cursor del mouse
20 | # Options Menu
21 | toolStripOptions|Opciones
22 | toolStripRunOnStartup|Ejecutar al inicio
23 | toolStripLanguages|Seleccionar idioma
24 | toolStripCheckForUpdates|Buscar actualizaciones
25 | toolStripGlobalHotkey|Usar Hotkey global
26 | toolStripMouseLock|Usar Hotkey para bloquear el mouse
27 | toolStripMouseHide|Usar Hotkey para ocultar el mouse
28 | toolStripMinimizedToTray|Iniciar minimizado en bandeja
29 | toolStripCloseToTray|Cerrar a la bandeja
30 | toolStripHideBalloonTips|Ocultar pop-up's de informacion
31 | toolStripSlowWindowDetection|Usar deteccion de ventanas mas lenta
32 | toolStripViewFullProcessDetails|Mostrar todos los detalles del proceso
33 | toolStripRestoreProcesses|Restaurar todas las aplicaciones ocultas
34 | # Tools Menu
35 | toolsToolStripMenuItem|Herramientas
36 | toolStripPauseAutomaticProcessing|Pausar Procesamiento automatico
37 | toolStripOpenDataFolder|Abrir carpeta de configuracion
38 | toolStripToggleMouseCursorVisibility|Cambiar visibilidad del cursor
39 | toolStripToggleWindowsTaskbar|Cambiar visibilidad en la barra de tareas
40 | toolStripFullApplicationRefresh|Recargar la aplicacion completamente
41 | toolStripDisableSteamIntegration|Desactivar integracion con Steam
42 | # Help Menu
43 | toolStripInfo|Ayuda
44 | toolStripUsageGuide|Guia de uso
45 | toolStripRegexReference|Referencia de Regex
46 | toolStripReportBug|Reportar Bug
47 | toolStripSupportUs|Apoyanos
48 | toolStripAbout|Acerca de
49 | # Process Context Menu
50 | contextAddToFavs|Añadir a Favoritos...
51 | toolStripByTheWindowTitle|... por el texto de la ventana
52 | toolStripByRegex|... por el titulo de la ventana (regex)
53 | toolStripByProcess|... por el nombre del ejecutable
54 | contextBorderless|Eliminar Bordes
55 | contextBorderlessOn|Eliminar Bordes activado...
56 | toolStripSetWindowTitle|Establecer titulo de la ventana
57 | toolStripHideProcess|Ocultar este proceso
58 | # Favorite Context Menu
59 | toolStripFullScreen|Pantalla Completa
60 | toolStripNoSizeChange|No cambiar el tamaño
61 | toolStripSetSetWindowSize|Establecer tamaño de la ventana
62 | toolStripAutomaximize|Auto Maximizar
63 | toolStripAdjustWindowBounds|Ajustar limites de los bordes
64 | toolStripAlwaysOnTop|Siempre activa
65 | toolStripDelayBorderless|Añadir delay al remover los bordes
66 | toolStripHideMouseCursor|Ocultar el cursor del mouse
67 | toolStripHideWindowsTaskbar|Ocultar la barra de tareas
68 | toolStripRemoveMenus|Remover menus
69 | contextFavScreen|Seleccionar la ventana favorita...
70 | toolStripMuteInBackground|Silenciar en segundo plano
71 | contextRemoveFromFavs|Remover de Favoritos
72 | # UI
73 | superSize|¡Super Tamaño!
74 | processLabel|Aplicaciones:
75 | favoritesLabel|Favoritos (automatico):
76 | statusLabel|Cargando...
77 | moreOptionsLabel|Boton derecho para mas opciones. Ultima vez actualizado
78 | # Tool Tips
79 | steamHint|Evita "En una aplicacion" en Steam
80 | addFavorite|Añade la aplicaccion actualmente seleccionada a tu lista de favoritos (por titulo de ventana).
81 | removeFavorite|Remueve el favorito actualmente seleccionado de la lista.
82 | makeBorderless|Hace la aplicacion actualmente seleccionada sin bordes.
83 | restoreBorders|Intenta restaurar los bordes de una ventana a su estado normal.
--------------------------------------------------------------------------------
/Languages/fr-FR.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Régler la taille de la fenêtre
3 | setWindowSizePixelPrompt|Emplacement en pixels {0} depuis le coin supérieur gauche (coordonnée{0}):
4 | setWindowSizeWidthPrompt|Largeur de la fenêtre (en pixels):
5 | setWindowSizeHeightPrompt|Hauteur de la fenêtre (en pixels):
6 | setWindowSizeMouseTitle|Sélection de la zone?
7 | setWindowSizeMousePrompt|Souhaitez-vous sélectionner la zone avec le curseur de votre souris? Si vous choisissez Non, vous devrez renseigner les dimensions adéquates en pixels.
8 | adjustWindowBoundsTitle|Ajuster les limites de la fenêtre
9 | adjustWindowBoundsPrompt|Ajustement au pixel pour le bord de fenêtre {0} (0 pixel = pas d'ajustement):
10 | adjustWindowBoundsLeft|gauche
11 | adjustWindowBoundsRight|droite
12 | adjustWindowBoundsTop|haut
13 | adjustWindowBoundsBottom|bas
14 | settingConfirmationTitle|Confirmer vos changements
15 | settingConfirmationPrompt|Afin d'appliquer vos changements, vous devez relancer Borderless Gaming. Redémarrer maintenant?
16 | setWindowTitleTitle|Définir le titre de la fenêtre
17 | setWindowTitlePrompt|Définir le nouveau titre de la fenêtre:
18 | toggleMouseCursorVisibilityTitle|Souhaitez-vous vraiment cacher le curseur de la souris?
19 | toggleMouseCursorVisibilityPrompt|Souhaitez-vous vraiment cacher le curseur de la souris? Vous pourriez avoir du mal à retrouver le curseur une fois dissimulé. Si vous avez activé le raccourci général pour activer/désactiver la visibilité du curseur, vous pouvez presser [Win + Scroll Lock] pour réafficher le curseur. De plus, quitter Borderless Gaming restaurera immédiatement votre curseur.
20 | # Options Menu
21 | toolStripOptions|Options
22 | toolStripRunOnStartup|Démarrer avec Windows
23 | toolStripLanguages|Changer la langue
24 | toolStripCheckForUpdates|Vérifier les mises à jour
25 | toolStripGlobalHotkey|Utiliser le raccourci général
26 | toolStripMouseLock|Bloquer la souris
27 | toolStripMouseHide|Cacher la souris
28 | toolStripMinimizedToTray|Démarrer minimisé dans la zone de notification
29 | toolStripCloseToTray|Fermer vers la zone de notification
30 | toolStripHideBalloonTips|Cacher les astuces
31 | toolStripSlowWindowDetection|Ralentir la détection des fenêtres
32 | toolStripViewFullProcessDetails|Voir le détail de tous les processus
33 | toolStripRestoreProcesses|Restaurer toutes les applications cachées
34 | # Tools Menu
35 | toolsToolStripMenuItem|Outils
36 | toolStripPauseAutomaticProcessing|Mettre en pause l'éxécution automatique
37 | toolStripOpenDataFolder|Ouvrir le répertoire racine
38 | toolStripToggleMouseCursorVisibility|Afficher/Cacher le curseur de la souris
39 | toolStripToggleWindowsTaskbar|Afficher/Cacher la barre des tâches Windows
40 | toolStripFullApplicationRefresh|Rafraîchir les applications en cours
41 | toolStripDisableSteamIntegration|Désactiver l'intégration à Steam
42 | # Help Menu
43 | toolStripInfo|Aide
44 | toolStripUsageGuide|Guide d'utilisation
45 | toolStripRegexReference|Index Regex
46 | toolStripReportBug|Soumettre un bug
47 | toolStripSupportUs|Supportez-nous
48 | toolStripAbout|À propos
49 | # Process Context Menu
50 | contextAddToFavs|Ajouter aux favoris...
51 | toolStripByTheWindowTitle|... selon le texte de la fenêtre
52 | toolStripByRegex|... selon le texte de la fenêtre (regex)
53 | toolStripByProcess|... selon le nom du processus
54 | contextBorderless|Rendre Borderless
55 | contextBorderlessOn|Rendre Borderless sur...
56 | toolStripSetWindowTitle|Changer le titre de la fenêtre
57 | toolStripHideProcess|Cacher ce processus
58 | # Favorite Context Menu
59 | toolStripFullScreen|Plein écran
60 | toolStripNoSizeChange|Pas de changement de taille
61 | toolStripSetSetWindowSize|Régler la taille de la fenêtre
62 | toolStripAutomaximize|Maximiser automatiquement
63 | toolStripAdjustWindowBounds|Ajuster les limites de la fenêtre
64 | toolStripAlwaysOnTop|Toujours au-dessus
65 | toolStripDelayBorderless|Retarder la fenêtre Borderless
66 | toolStripHideMouseCursor|Cacher le curseur de la souris
67 | toolStripHideWindowsTaskbar|Cacher la barre des tâches Windows
68 | toolStripRemoveMenus|Enlever les menus
69 | contextFavScreen|Choisir l'écran favori...
70 | toolStripMuteInBackground|Couper le son en arrière-plan
71 | contextRemoveFromFavs|Retirer des favoris
72 | # UI
73 | superSize|SuperSize!
74 | processLabel|Applications:
75 | favoritesLabel|Favoris (automatique):
76 | statusLabel|Chargement...
77 | moreOptionsLabel|Clic droit pour plus d'options. Dernière mise à jour:
78 | # Tool Tips
79 | steamHint|Empêche l'affichage du "utilise maintenant" dans Steam
80 | addFavorite|Ajoute l'application sélectionnée à votre liste de favoris (selon le titre de la fenêtre).
81 | removeFavorite|Retire le favori sélectionné de la liste.
82 | makeBorderless|Retire les bordures de l'application sélectionnée.
83 | restoreBorders|Tente de restaurer une fenêtre dans sa résolution d'origine.
--------------------------------------------------------------------------------
/Languages/it-IT.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Imposta la dimensione della finestra
3 | setWindowSizePixelPrompt|Posizione del pixel {0} dell'angolo in alto a sinistra (coordinata {0}):
4 | setWindowSizeWidthPrompt|Larghezza finestra (in pixel):
5 | setWindowSizeHeightPrompt|Altezza finestra (in pixel):
6 | setWindowSizeMouseTitle|Selezionare area?
7 | setWindowSizeMousePrompt|Vuoi selezionare l'area utilizzando il cursore del mouse? Rispondendo No, ti verranno chieste dimensioni specifiche in pixel.
8 | adjustWindowBoundsTitle|Regola i limiti della finestra
9 | adjustWindowBoundsPrompt|Regolazione in pixel per l'angolo della finestra {0} (0 pixel = nessun adattamento):
10 | adjustWindowBoundsLeft|sinistra
11 | adjustWindowBoundsRight|destra
12 | adjustWindowBoundsTop|alto
13 | adjustWindowBoundsBottom|basso
14 | settingConfirmationTitle|Conferma i cambiamenti
15 | settingConfirmationPrompt|Per rendere effettive le modifiche è necessario riavviare Borderless Gaming. Riavviare ora?
16 | setWindowTitleTitle|Imposta il titolo della finestra
17 | setWindowTitlePrompt|Scegli il nuovo titolo per la finestra:
18 | toggleMouseCursorVisibilityTitle|Nascondere il cursore del mouse?
19 | toggleMouseCursorVisibilityPrompt|Vuoi veramente nascondere il cursore del mouse? Potresti avere difficoltà nel ritrovare il mouse una volta nascosto. Se hai abilitato la scorciatoia globale per il cursore del mouse, puoi premere [Win + Scroll Lock] per mostrare\nascondere il cursore. Inoltre, uscendo da Borderless Gaming ripristinerà immediatamente il cursore del mouse.
20 | # Options Menu
21 | toolStripOptions|Opzioni
22 | toolStripRunOnStartup|Esegui all'avvio del sistema
23 | toolStripLanguages|Cambia lingua
24 | toolStripCheckForUpdates|Controllo aggiornamenti
25 | toolStripGlobalHotkey|Utilizza la scorciatoia globale
26 | toolStripMouseLock|Blocca il mouse
27 | toolStripMouseHide|Nascondi il mouse
28 | toolStripMinimizedToTray|Minimizza nell'area di notifica all'avvio
29 | toolStripCloseToTray|Minimizza nell'area di notifica alla chiusura
30 | toolStripHideBalloonTips|Nascondi i suggerimenti
31 | toolStripSlowWindowDetection|Rallenta il rilevamento delle finestre
32 | toolStripViewFullProcessDetails|Mostra più dettagli sui processi
33 | toolStripRestoreProcesses|Ripristina tutte le applicazioni nascoste
34 | # Tools Menu
35 | toolsToolStripMenuItem|Strumenti
36 | toolStripPauseAutomaticProcessing|Metti in pausa l'esecuzione automatica
37 | toolStripOpenDataFolder|Apri la cartella dei dati
38 | toolStripToggleMouseCursorVisibility|Mostra\Nascondi il cursore del mouse
39 | toolStripToggleWindowsTaskbar|Mostra\Nascondi l'icona dall'area di notifica
40 | toolStripFullApplicationRefresh|Aggiorna la lista delle applicazioni
41 | toolStripDisableSteamIntegration|Disabilita l'integrazione con Steam
42 | # Help Menu
43 | toolStripInfo|Aiuto
44 | toolStripUsageGuide|Manuale
45 | toolStripRegexReference|Riferimenti a Regex
46 | toolStripReportBug|Segnala un malfunzionamento
47 | toolStripSupportUs|Supportaci
48 | toolStripAbout|Informazioni
49 | # Process Context Menu
50 | contextAddToFavs|Aggiungi ai preferiti...
51 | toolStripByTheWindowTitle|... secondo il testo nel titolo della finestra
52 | toolStripByRegex|... secondo il testo nel titolo della finestra (regex)
53 | toolStripByProcess|... secondo il nome del processo
54 | contextBorderless|Rimuovi i bordi
55 | contextBorderlessOn|Rimuovi i bordi su...
56 | toolStripSetWindowTitle|Imposta il titolo della finestra
57 | toolStripHideProcess|Nascondi questo processo
58 | # Favorite Context Menu
59 | toolStripFullScreen|Schermo intero
60 | toolStripNoSizeChange|Nessun cambiamento
61 | toolStripSetSetWindowSize|Imposta la dimensione della finestra
62 | toolStripAutomaximize|Massimizza automaticamente
63 | toolStripAdjustWindowBounds|Regola i limiti della finestra
64 | toolStripAlwaysOnTop|Sempre in primo piano
65 | toolStripDelayBorderless|Ritarda la finestra senza bordi
66 | toolStripHideMouseCursor|Nascondi il cursore del mouse
67 | toolStripHideWindowsTaskbar|Nascondi la barra delle applicazioni di Windows
68 | toolStripRemoveMenus|Rimuovi i menu
69 | contextFavScreen|Seleziona lo schermo che preferisci...
70 | toolStripMuteInBackground|Silenzia quando ridotta ad icona
71 | contextRemoveFromFavs|Rimuovi dai preferiti
72 | # UI
73 | superSize|SuperSize!
74 | processLabel|Appliczioni:
75 | favoritesLabel|Preferiti (automatico):
76 | statusLabel|Caricamento...
77 | moreOptionsLabel|Fai click con il tasto destro su un elemento per mostrare più opzioni. Ultimo aggiornamento
78 | # Tool Tips
79 | steamHint|Impedisce di mostrarti come "In Applicazione" su Steam
80 | addFavorite|Aggiunge l'applicazione selezionata alla tua lista preferiti (secondo il titolo della finestra).
81 | removeFavorite|Rimuove l'applicazione selezionata dalla tua lista preferiti.
82 | makeBorderless|Rimuove i bordi alla finestra dell'applicazione selezionata.
83 | restoreBorders|Tenta di ripristinare i bordi della finestra.
84 |
--------------------------------------------------------------------------------
/Languages/ja-JP.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|ウィンドウサイズ設定
3 | setWindowSizePixelPrompt|ピクセル {0} の左上の位置 ({0} 座標):
4 | setWindowSizeWidthPrompt|ウィンドウの幅 (単位:ピクセル):
5 | setWindowSizeHeightPrompt|ウィンドウの高さ (単位:ピクセル):
6 | setWindowSizeMouseTitle|エリア選択
7 | setWindowSizeMousePrompt|マウスでウィンドウのサイズを指定しますか?\r\n\r\n[いいえ]を選択した場合、直接サイズ指定を行います
8 | adjustWindowBoundsTitle|ウィンドウの端を微調整する
9 | adjustWindowBoundsPrompt|{0} からの距離 (0 pixels = 調整しない):
10 | adjustWindowBoundsLeft|左端
11 | adjustWindowBoundsRight|右端
12 | adjustWindowBoundsTop|上端
13 | adjustWindowBoundsBottom|下端
14 | settingConfirmationTitle|変更の適用
15 | settingConfirmationPrompt|設定を適用するには[Borderless Gaming]を再起動する必要があります。 今すぐ再起動しますか?
16 | setWindowTitleTitle|タイトルの変更
17 | setWindowTitlePrompt|変更後のタイトル:
18 | toggleMouseCursorVisibilityTitle|本当にマウスカーソルを非表示にしますか?
19 | toggleMouseCursorVisibilityPrompt|本当にマウスカーソルを非表示にしますか?\r\n\r\n非表示にした場合、マウスの位置を見つける事が困難になります。\r\n\r\nホットキーを有効にしている場合、[Win + Scroll Lock]を利用してマウスカーソルの表示を切り替える事ができます。\r\n\r\n[Borderless Gaming]を終了すると、マウスカーソルが復元されます。
20 | # Options Menu
21 | toolStripOptions|設定
22 | toolStripRunOnStartup|PCの起動時に自動で起動する
23 | toolStripLanguages|言語設定
24 | toolStripCheckForUpdates|更新を確認
25 | toolStripGlobalHotkey|グローバルホットキーを利用する
26 | toolStripMouseLock|マウスカーソル固定切替のホットキーを利用する
27 | toolStripMouseHide|マウスカーソル表示切替のホットキーを利用する
28 | toolStripMinimizedToTray|起動時にタスクトレイに格納する
29 | toolStripCloseToTray|[閉じる]ボタンでタスクトレイに格納する
30 | toolStripHideBalloonTips|バルーンチップを非表示にする
31 | toolStripSlowWindowDetection|ウィンドウ検出を遅くする
32 | toolStripViewFullProcessDetails|プロセスの詳細を表示する
33 | toolStripRestoreProcesses|非表示にしたすべてのプロセスを再表示する
34 | # Tools Menu
35 | toolsToolStripMenuItem|ツール
36 | toolStripPauseAutomaticProcessing|自動処理を一時停止する
37 | toolStripOpenDataFolder|データフォルダを開く
38 | toolStripToggleMouseCursorVisibility|マウスカーソルの表示を切り替える
39 | toolStripToggleWindowsTaskbar|タスクバーの表示を切り替える
40 | toolStripFullApplicationRefresh|アプリケーション一覧を再読み込みする
41 | toolStripDisableSteamIntegration|Steamとの統合を無効にする
42 | # Help Menu
43 | toolStripInfo|ヘルプ
44 | toolStripUsageGuide|使用方法
45 | toolStripRegexReference|正規表現ガイド
46 | toolStripReportBug|バグを報告
47 | toolStripSupportUs|Support Us
48 | toolStripAbout|このツールについて
49 | # Process Context Menu
50 | contextAddToFavs|お気に入りへ追加
51 | toolStripByTheWindowTitle|... ウィンドウタイトルを利用する
52 | toolStripByRegex|... ウィンドウタイトルを利用する(正規表現)
53 | toolStripByProcess|... プロセスのバイナリ名を利用する
54 | contextBorderless|ボーダーレス化
55 | contextBorderlessOn|指定した画面でボーダーレス化する
56 | toolStripSetWindowTitle|ウィンドウのタイトルを変更する
57 | toolStripHideProcess|プロセスを非表示化する
58 | # Favorite Context Menu
59 | toolStripFullScreen|フルスクリーン
60 | toolStripNoSizeChange|サイズを変更しない
61 | toolStripSetSetWindowSize|サイズを指定する
62 | toolStripAutomaximize|自動で最大化する
63 | toolStripAdjustWindowBounds|ウィンドウの端を微調整する
64 | toolStripAlwaysOnTop|常に最前面
65 | toolStripDelayBorderless|ボーダーレス化を遅延させる
66 | toolStripHideMouseCursor|マウスカーソルを非表示にする
67 | toolStripHideWindowsTaskbar|タスクバーを非表示にする
68 | toolStripRemoveMenus|メニューを削除
69 | contextFavScreen|利用するディスプレイを選択
70 | toolStripMuteInBackground|非アクティブ時にミュートする
71 | contextRemoveFromFavs|お気に入りから削除
72 | # UI
73 | superSize|モニタを跨いで全画面化する
74 | processLabel|アプリケーション:
75 | favoritesLabel|お気に入り (自動化):
76 | statusLabel|読み込み中...
77 | moreOptionsLabel|右クリックで詳細なオプションを表示します。 最終更新:
78 | # Tool Tips
79 | steamHint|Steamの"In-App"を抑制
80 | addFavorite|選択中のアプリケーションをお気に入りへ追加 (ウィンドウタイトルを利用)
81 | removeFavorite|選択中のアプリケーションをお気に入りから削除
82 | makeBorderless|選択中のアプリケーションをボーダーレス化
83 | restoreBorders|選択中のアプリケーションのボーダーレス化を解除
--------------------------------------------------------------------------------
/Languages/ko-KR.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|창 크기 설정
3 | setWindowSizePixelPrompt|{0} 좌상단 모서리의 픽셀 위치 ({0} 좌표):
4 | setWindowSizeWidthPrompt|창 너비 (픽셀 단위):
5 | setWindowSizeHeightPrompt|창 높이 (픽셀 단위):
6 | setWindowSizeMouseTitle|구역 선택?
7 | setWindowSizeMousePrompt|마우스 커스로 영역을 지정하시겠습니까?\r\n\r\n아니오를 선택하면 특정한 픽셀 영역을 지정할 수 있는 옵션이 뜰 것입니다.
8 | adjustWindowBoundsTitle|창 경계 조절
9 | adjustWindowBoundsPrompt|{0} 창 테두리 픽셀 조정 (0 픽셀 = 조정 없음):
10 | adjustWindowBoundsLeft|왼쪽
11 | adjustWindowBoundsRight|오른쪽
12 | adjustWindowBoundsTop|상단
13 | adjustWindowBoundsBottom|하단
14 | settingConfirmationTitle|변경 확인
15 | settingConfirmationPrompt|변경 사항을 적용하려면 Borderless Gaming을 재시작해야 합니다. 재시작합니까?
16 | setWindowTitleTitle|창 제목 설정
17 | setWindowTitlePrompt|새로운 창 제목 설정:
18 | toggleMouseCursorVisibilityTitle|정말 마우스 커서를 숨깁니까?
19 | toggleMouseCursorVisibilityPrompt|정말 마우스 커서를 숨깁니까?\r\n\r\n한 번 숨기고 나면 마우스 커서의 위치 파악이 어려워집니다.\r\n\r\n마우스 커서 표시 관련 전역 단축키를 사용하고 있다면 [Win + Scroll Lock] 을 눌러서 마우스 커서를 다시 표시할 수 있습니다.\r\n\r\n또한 Borderless Gaming을 종료하면 바로 마우스 커서 표시가 원상복구 됩니다.
20 | # Options Menu
21 | toolStripOptions|옵션
22 | toolStripRunOnStartup|윈도우 시작 시 실행
23 | toolStripLanguages|언어 선택
24 | toolStripCheckForUpdates|업데이트 확인
25 | toolStripGlobalHotkey|전역 단축키 사용
26 | toolStripMouseLock|마우스 가둠 단축키 사용
27 | toolStripMouseHide|마우스 숨김 단축키 사용
28 | toolStripMinimizedToTray|시작 시 트레이로 최소화
29 | toolStripCloseToTray|닫으면 트레이로 이동
30 | toolStripHideBalloonTips|풍선 도움말 숨김
31 | toolStripSlowWindowDetection|느린 창 감지 사용
32 | toolStripViewFullProcessDetails|프로세스 세부사항 보기
33 | toolStripRestoreProcesses|모든 숨긴 프로그램 복구
34 | # Tools Menu
35 | toolsToolStripMenuItem|도구
36 | toolStripPauseAutomaticProcessing|자동 처리 일시정지
37 | toolStripOpenDataFolder|데이터 폴더 열기
38 | toolStripToggleMouseCursorVisibility|마우스 커서 표시 토글
39 | toolStripToggleWindowsTaskbar|윈도우 작업줄 표시 토글
40 | toolStripFullApplicationRefresh|모든 프로그램 새로고침
41 | toolStripDisableSteamIntegration|Steam 연동 끄기
42 | # Help Menu
43 | toolStripInfo|도움말
44 | toolStripUsageGuide|사용 가이드
45 | toolStripRegexReference|Regex 레퍼런스
46 | toolStripReportBug|버그 제보
47 | toolStripSupportUs|지원해주세요
48 | toolStripAbout|프로그램 정보
49 | # Process Context Menu
50 | contextAddToFavs|즐겨찾기에 추가...
51 | toolStripByTheWindowTitle|... 창 제목으로
52 | toolStripByRegex|... 창 제목으로 (regex)
53 | toolStripByProcess|... 프로세스 실행 파일명으로
54 | contextBorderless|테두리 없는 창모드 만들기
55 | contextBorderlessOn|테두리 없는 창모드 만들기...
56 | toolStripSetWindowTitle|창 제목 설정
57 | toolStripHideProcess|이 프로세스 숨김
58 | # Favorite Context Menu
59 | toolStripFullScreen|전체화면
60 | toolStripNoSizeChange|크기 변경 없음
61 | toolStripSetSetWindowSize|창 크기 설정
62 | toolStripAutomaximize|자동으로 최대화
63 | toolStripAdjustWindowBounds|창 가장자리 조정
64 | toolStripAlwaysOnTop|항상 위에
65 | toolStripDelayBorderless|테두리 없는 창모드 천천히 적용
66 | toolStripHideMouseCursor|마우스 커서 숨김
67 | toolStripHideWindowsTaskbar|윈도우 작업줄 숨김
68 | toolStripRemoveMenus|메뉴 제거
69 | contextFavScreen|즐겨찾기 화면 선택...
70 | toolStripMuteInBackground|백그라운드로 이동 시 음소거
71 | contextRemoveFromFavs|즐겨찾기에서 제거
72 | # UI
73 | superSize|초대형!
74 | processLabel|프로그램:
75 | favoritesLabel|즐겨찾기 (자동 처리):
76 | statusLabel|로딩 중...
77 | moreOptionsLabel|추가 옵션을 보려면 마우스 오른쪽을 클릭. 마지막 업데이트:
78 | # Tool Tips
79 | steamHint|Steam 상에서 "게임 중" 방지
80 | addFavorite|현재 선택된 프로그램을 즐겨찾기 목록에 추가 (창 제목으로 정렬).
81 | removeFavorite|현재 선택된 즐겨찾기를 목록에서 제거.
82 | makeBorderless|현재 선택된 프로그램을 테두리 없는 창모드로.
83 | restoreBorders|현재 창을 기존 상태로 전환 시도.
--------------------------------------------------------------------------------
/Languages/pl-PL.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Ustaw rozmiar okna
3 | setWindowSizePixelPrompt|Lokalizacja piksela {0} dla górnego lewego rogu (współrzędna {0}):
4 | setWindowSizeWidthPrompt|Szerokość okna (w pikselach):
5 | setWindowSizeHeightPrompt|Wysokość okna (w pikselach):
6 | setWindowSizeMouseTitle|Wybrać obszar?
7 | setWindowSizeMousePrompt|Chcesz wybrać obszar, używając twojego kursora myszy?\r\n\r\nJeśli odpowiesz Nie, będziesz zapytany o konkretne wymiary pikseli.
8 | adjustWindowBoundsTitle|Dostosuj granice okna
9 | adjustWindowBoundsPrompt|Dostosowanie pikseli dla {0} krawędzi okna (0 pikseli = brak dostosowania):
10 | adjustWindowBoundsLeft|lewo
11 | adjustWindowBoundsRight|prawo
12 | adjustWindowBoundsTop|góra
13 | adjustWindowBoundsBottom|dół
14 | settingConfirmationTitle|Potwierdź swoje zmiany
15 | settingConfirmationPrompt|Musisz uruchomić ponownie Borderless Gaming, by twoje zmiany zostały wprowadzone. Uruchomić ponownie teraz?
16 | setWindowTitleTitle|Ustaw tytuł okna
17 | setWindowTitlePrompt|Ustaw nowy tekst tytułu okna:
18 | toggleMouseCursorVisibilityTitle|Naprawdę ukryć kursor myszy?
19 | toggleMouseCursorVisibilityPrompt|Naprawdę chcesz ukryć kursor myszy?\r\n\r\nMożesz mieć trudności z ponownym odnalezieniem myszy, gdy zostanie ukryta.\r\n\r\nJeśli włączyłeś globalny skrót klawiszowy do przełączania widoczności kursora myszy, możesz nacisnąć [Win + Scroll Lock], aby włączyć kursor myszy.\r\n\r\nWyjście z Borderless Gaming natychmiast przywróci twój kursor myszy.
20 | # Options Menu
21 | toolStripOptions|Opcje
22 | toolStripRunOnStartup|Uruchom przy starcie
23 | toolStripLanguages|Wybierz język
24 | toolStripCheckForUpdates|Sprawdź aktualizacje
25 | toolStripGlobalHotkey|Używaj globalnego skrótu klawiszowego
26 | toolStripMouseLock|Używaj skrótu klawiszowego blokady myszy
27 | toolStripMouseHide|Używaj skrótu klawiszowego ukrycia myszy
28 | toolStripMinimizedToTray|Uruchom zminimalizowane do paska
29 | toolStripCloseToTray|Zamknij do paska
30 | toolStripHideBalloonTips|Ukryj porady dymkowe
31 | toolStripSlowWindowDetection|Używaj wolniejszego wykrywania okna
32 | toolStripViewFullProcessDetails|Pokaż pełne szczegóły procesu
33 | toolStripRestoreProcesses|Przywróć wszystkie ukryte aplikacje
34 | # Tools Menu
35 | toolsToolStripMenuItem|Narzędzia
36 | toolStripPauseAutomaticProcessing|Wstrzymaj automatyczne przetwarzanie
37 | toolStripOpenDataFolder|Otwórz folder danych
38 | toolStripToggleMouseCursorVisibility|Przełącz widoczność kursora myszy
39 | toolStripToggleWindowsTaskbar|Przełącz widoczność paska zadań Windows
40 | toolStripFullApplicationRefresh|Pełne odświeżenie aplikacji
41 | toolStripDisableSteamIntegration|Wyłącz integrację ze Steam
42 | # Help Menu
43 | toolStripInfo|Pomoc
44 | toolStripUsageGuide|Poradnik użytkowania
45 | toolStripRegexReference|Odniesienie regex
46 | toolStripReportBug|Zgłoś błąd
47 | toolStripSupportUs|Wesprzyj nas
48 | toolStripAbout|O programie
49 | # Process Context Menu
50 | contextAddToFavs|Dodaj do ulubionych...
51 | toolStripByTheWindowTitle|... po tekście tytułu okna
52 | toolStripByRegex|... po tekście tytułu okna (regex)
53 | toolStripByProcess|... po binarnej nazwie procesu
54 | contextBorderless|Ustaw bez ramki
55 | contextBorderlessOn|Ustaw bez ramki na...
56 | toolStripSetWindowTitle|Ustaw tytuł okna
57 | toolStripHideProcess|Ukryj ten proces
58 | # Favorite Context Menu
59 | toolStripFullScreen|Pełny ekran
60 | toolStripNoSizeChange|Brak zmiany rozmiaru
61 | toolStripSetSetWindowSize|Ustaw rozmiar okna
62 | toolStripAutomaximize|Automatycznie maksymalizuj
63 | toolStripAdjustWindowBounds|Dostosuj granice okna
64 | toolStripAlwaysOnTop|Zawsze na wierzchu
65 | toolStripDelayBorderless|Opóźnij okno bez ramki
66 | toolStripHideMouseCursor|Ukryj kursor myszy
67 | toolStripHideWindowsTaskbar|Ukryj pasek zadań Windows
68 | toolStripRemoveMenus|Usuń menu
69 | contextFavScreen|Wybierz ulubiony ekran...
70 | toolStripMuteInBackground|Wycisz w tle
71 | contextRemoveFromFavs|Usuń z ulubionych
72 | # UI
73 | superSize|Super rozmiar!
74 | processLabel|Aplikacje:
75 | favoritesLabel|Ulubione (automatyczne):
76 | statusLabel|Ładowanie...
77 | moreOptionsLabel|Kliknij prawym przyciskiem myszy po więcej opcji. Ostatnio zaktualizowano
78 | # Tool Tips
79 | steamHint|Zapobiega "w aplikacji" na Steam
80 | addFavorite|Dodaje aktualnie wybraną aplikację do twojej listy ulubionych (po tytule okna).
81 | removeFavorite|Usuwa aktualnie wybraną ulubioną aplikację z listy.
82 | makeBorderless|Sprawia, że aktualnie wybrana aplikacja jest bez ramki.
83 | restoreBorders|Próbuje przywrócić okno spowrotem do stanu z ramką.
--------------------------------------------------------------------------------
/Languages/ru-RU.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|Изменение размера окна
3 | setWindowSizePixelPrompt|Расположение по оси {0} верхнего левого пикселя ({0} координата):
4 | setWindowSizeWidthPrompt|Ширина окна (в пикселях):
5 | setWindowSizeHeightPrompt|Высота окна (в пикселях):
6 | setWindowSizeMouseTitle|Выбрать область?
7 | setWindowSizeMousePrompt|Вы хотите выбрать область с помощью курсора мыши?\r\n\r\nЕсли вы ответите "Нет", вам будут предложено указать конкретные размеры самостоятельно.
8 | adjustWindowBoundsTitle|Изменение границ окна
9 | adjustWindowBoundsPrompt|Регулировка пикселей для {0} края окна (0 пикселей = по умолчанию):
10 | adjustWindowBoundsLeft|левого
11 | adjustWindowBoundsRight|правого
12 | adjustWindowBoundsTop|верхнего
13 | adjustWindowBoundsBottom|нижнего
14 | settingConfirmationTitle|Подтверждение изменений
15 | settingConfirmationPrompt|Вы должны перезапустить Borderless Gaming, чтобы изменения вступили в силу. Перезапустить сейчас?
16 | setWindowTitleTitle|Изменение заголовка окна
17 | setWindowTitlePrompt|Задайте новый заголовок окна:
18 | toggleMouseCursorVisibilityTitle|Действительно скрыть курсор мыши?
19 | toggleMouseCursorVisibilityPrompt|Do you really want to hide the mouse cursor?\r\n\r\nYou may have a difficult time finding the mouse again once it's hidden.\r\n\r\nIf you have enabled the global hotkey to toggle the mouse cursor visibility, you can press [Win + Scroll Lock] to toggle the mouse cursor on.\r\n\r\nAlso, exiting Borderless Gaming will immediately restore your mouse cursor.
20 | # Options Menu
21 | toolStripOptions|Настройки
22 | toolStripRunOnStartup|Запускать при старте системы
23 | toolStripLanguages|Выбрать язык
24 | toolStripCheckForUpdates|Проверять наличие обновлений
25 | toolStripGlobalHotkey|Использовать разворот на весь экран
26 | toolStripMouseLock|Использовать блокировку мыши
27 | toolStripMouseHide|Использовать скрытие мыши
28 | toolStripMinimizedToTray|При запуске сворачивать в трей
29 | toolStripCloseToTray|При закрытии сворачивать в трей
30 | toolStripHideBalloonTips|Скрыть подсказки
31 | toolStripSlowWindowDetection|Использовать медленное обнаружение окон
32 | toolStripViewFullProcessDetails|Использовать подробные сведения процессов
33 | toolStripRestoreProcesses|Восстановить все скрытые приложения
34 | # Tools Menu
35 | toolsToolStripMenuItem|Инструменты
36 | toolStripPauseAutomaticProcessing|Выключить автоматическую обработку
37 | toolStripOpenDataFolder|Открыть папку данных
38 | toolStripToggleMouseCursorVisibility|Переключить видимость курсора мыши
39 | toolStripToggleWindowsTaskbar|Переключить видимость панели задач
40 | toolStripFullApplicationRefresh|Обновить список приложений
41 | toolStripDisableSteamIntegration|Выключить интеграцию со Steam
42 | # Help Menu
43 | toolStripInfo|Помощь
44 | toolStripUsageGuide|Руководство
45 | toolStripRegexReference|Ссылка на Regex
46 | toolStripReportBug|Сообщить об ошибке
47 | toolStripSupportUs|Поддержать нас
48 | toolStripAbout|О программе
49 | # Process Context Menu
50 | contextAddToFavs|Добавить в избранное...
51 | toolStripByTheWindowTitle|... по заголовку окна
52 | toolStripByRegex|... по заголовку окна (regex)
53 | toolStripByProcess|... по названию процесса
54 | contextBorderless|Сделать безрамочным
55 | contextBorderlessOn|Сделать безрамочным на...
56 | toolStripSetWindowTitle|Изменить заголовок окна
57 | toolStripHideProcess|Скрыть этот процесс
58 | # Favorite Context Menu
59 | toolStripFullScreen|Полноэкранный
60 | toolStripNoSizeChange|Без изменения размера
61 | toolStripSetSetWindowSize|Изменить размер окна
62 | toolStripAutomaximize|Авт. разворачивать окно
63 | toolStripAdjustWindowBounds|Изменить границы окна
64 | toolStripAlwaysOnTop|Поверх всех окон
65 | toolStripDelayBorderless|Задерживать безрамочное окно
66 | toolStripHideMouseCursor|Скрыть курсор мыши
67 | toolStripHideWindowsTaskbar|Скрыть панель задач
68 | toolStripRemoveMenus|Удалить меню
69 | contextFavScreen|Выбрать избранный экран...
70 | toolStripMuteInBackground|Выключить звук на фоне
71 | contextRemoveFromFavs|Удалить из избранного
72 | # UI
73 | superSize|SuperSize!
74 | processLabel|Приложения:
75 | favoritesLabel|Избранные (авт.):
76 | statusLabel|Загрузка...
77 | moreOptionsLabel|ПКМ для изменения параметров. Последнее обновление:
78 | # Tool Tips
79 | steamHint|Убрать надпись "В программе" в Steam
80 | addFavorite|Добавить выбранное приложение в список избранных (по заголовку окна).
81 | removeFavorite|Удалить выбранное приложение из списка избранных.
82 | makeBorderless|Сделать выбранное приложение безрамочным.
83 | restoreBorders|Восстановить прежнее состояние окна.
--------------------------------------------------------------------------------
/Languages/sl-SI.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 |
3 | setWindowSizeTitle|Nastavi Velikost Oknja
4 | setWindowSizePixelPrompt|Začetna {0} lokacija piksla za zgornji levi kot ({0} koordinate):
5 | setWindowSizeWidthPrompt|Širina oknja (v pikslih):
6 | setWindowSizeHeightPrompt|Višina oknja (v pikslih):
7 | setWindowSizeMouseTitle|Izberi območje?
8 | setWindowSizeMousePrompt|Bi izbrali območje z miško?\r\n\r\nČe ne bi, boste vprašani za določeno dimenzijo pikslov.
9 | adjustWindowBoundsTitle|Prilagodite meje oknja
10 | adjustWindowBoundsPrompt|Prilagoditev pikslov za {0} rob oknja (0 pikslov = ni prilagoditve):
11 | adjustWindowBoundsLeft|levo
12 | adjustWindowBoundsRight|desno
13 | adjustWindowBoundsTop|zgoraj
14 | adjustWindowBoundsBottom|spodaj
15 | settingConfirmationTitle|Potrdite spremembe
16 | settingConfirmationPrompt|Za veljavnost sprememb morate ponovno zagnati Borderless Gaming. Ponovno zaženite sedaj?
17 | setWindowTitleTitle|Nastavi naslov oknja
18 | setWindowTitlePrompt|Nastavite naslov novega oknja:
19 | toggleMouseCursorVisibilityTitle|Sigurno želite skriti kazalo miške?
20 | toggleMouseCursorVisibilityPrompt|Sigurno želite skriti kazalo miške?\r\n\r\nTežje boste našli položaj miškinega kazalca, ko je skrit.\r\n\r\nČe imate navedeno globalno bližnjico za preklopitev prikaza miškinega kazalca, lahko pritisnite [Win + Scroll Lock] za priklop miškinega kazalca.\r\n\r\n\r\nPoleg tega, ugasnitev Borderless Gaming bo ponovno vrnilo vaš miškin kazalec.
21 |
22 | # Options Menu
23 |
24 | toolStripOptions|Nastavite
25 | toolStripRunOnStartup|Zaženi po pogonu
26 | toolStripLanguages|Izberi jezik
27 | toolStripCheckForUpdates|Preveri za posodobitve
28 | toolStripGlobalHotkey|Uporabi globalno bližnjico
29 | toolStripMouseLock|Uporabi bližnjico Zakleni miško
30 | toolStripMouseHide|Uporabi bližnjico Skrij miško
31 | toolStripMinimizedToTray|Zaženi minimizirano v orodni vrstici
32 | toolStripCloseToTray|Zapri oknjo v orodno vrstico
33 | toolStripHideBalloonTips|Ne prikaži balonskih nasvetov
34 | toolStripSlowWindowDetection|Uporabi počasnejšo zaznavo oknjov
35 | toolStripViewFullProcessDetails|Prikaži celotne detajle procesa
36 | toolStripRestoreProcesses|Ponastavi vse skrite aplikacije
37 |
38 | # Tools Menu
39 |
40 | toolsToolStripMenuItem|Orodja
41 | toolStripPauseAutomaticProcessing|Pavziraj avtomatično procesiranje
42 | toolStripOpenDataFolder|Odpri mapo z podatki
43 | toolStripToggleMouseCursorVisibility|Preklopi vidljivost miškinega kazalca
44 | toolStripToggleWindowsTaskbar|Preklopi vidljivost Windows opravilne vrstice
45 | toolStripFullApplicationRefresh|Popolna osvežitev aplikacije
46 | toolStripDisableSteamIntegration|Izklopite Steam integracijo
47 |
48 | # Help Menu
49 |
50 | toolStripInfo|Pomoč
51 | toolStripUsageGuide|Navodila uporabe
52 | toolStripRegexReference|Regex referenca
53 | toolStripReportBug|Prijavite napako
54 | toolStripSupportUs|Podpirajte Nas
55 | toolStripAbout|O programu
56 |
57 | # Process Context Menu
58 |
59 | contextAddToFavs|Dodaj k priljubljenimi...
60 | toolStripByTheWindowTitle|... ob naslovnemu textu oknja
61 | toolStripByRegex|... ob naslovnemu textu oknja (regex)
62 | toolStripByProcess|... pri binarnem imenu procesa
63 | contextBorderless|Odstrani robove
64 | contextBorderlessOn|Odstrani robove na...
65 | toolStripSetWindowTitle|Nastavite naslov oknja
66 | toolStripHideProcess|Skrijte ta proces
67 |
68 | # Favorite Context Menu
69 |
70 | toolStripFullScreen|Polni zaslon
71 | toolStripNoSizeChange|Ne spremeni velikost
72 | toolStripSetSetWindowSize|Nastavi velikost oknja
73 | toolStripAutomaximize|Avtomatično maksimiranje
74 | toolStripAdjustWindowBounds|Prilagodite meje oknja
75 | toolStripAlwaysOnTop|Vedno na vrhu
76 | toolStripDelayBorderless|Nastavi zamudo oknja brez robov
77 | toolStripHideMouseCursor|Skrij kazalec miške
78 | toolStripHideWindowsTaskbar|Skrij Windows opravilno vrstico
79 | toolStripRemoveMenus|Ne prikaži menijev
80 | contextFavScreen|Izberi priljubljeni zaslon...
81 | toolStripMuteInBackground|Zamolči v ozadju
82 | contextRemoveFromFavs|Odstrani od prijljubjenih
83 |
84 | # UI
85 |
86 | superSize|SuperSize! Super povečava!
87 | processLabel|Aplikacije:
88 | favoritesLabel|Priljubljeni (avtomatično):
89 | statusLabel|Nalaganje...
90 | moreOptionsLabel|Desni klik za več opcij. Nazadnje posodobljeno
91 |
92 | # Tool Tips
93 |
94 | steamHint|Onemogoči "In-App" v Steam-u
95 | addFavorite|Dodaj trenutno izbrane aplikacije v list priljubljenih (v redu okenjskih naslovov).
96 | removeFavorite|Odstrani trenutno izbrane aplikacije iz lista priljubljenih.
97 | makeBorderless|Naredi trenutno izbrano aplikacijo brez robov.
98 | restoreBorders|Poskusi ponastaviti oknjo v stanje z robovi.
--------------------------------------------------------------------------------
/Languages/zh-CN.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|设置窗口标题
3 | setWindowSizePixelPrompt|请输入窗口左上角的{0}坐标({0}以像素为单位):
4 | setWindowSizeWidthPrompt|窗口宽度(以像素为单位):
5 | setWindowSizeHeightPrompt|窗口高度(以像素为单位):
6 | setWindowSizeMouseTitle|使用鼠标选择区域?
7 | setWindowSizeMousePrompt|您要使用鼠标选择区域吗?如果您选择否,系统将提示您输入具体的像素尺寸。
8 | adjustWindowBoundsTitle|调整窗口边界
9 | adjustWindowBoundsPrompt|您想为窗口{0}边缘调整的像素 (设置为0时不调整):
10 | adjustWindowBoundsLeft|左
11 | adjustWindowBoundsRight|右
12 | adjustWindowBoundsTop|上
13 | adjustWindowBoundsBottom|下
14 | settingConfirmationTitle|确认您的更改
15 | settingConfirmationPrompt|您必须重新启动本软件才能使您的更改生效,现在重启?
16 | setWindowTitleTitle|设置窗口标题
17 | setWindowTitlePrompt|设置新的窗口标题:
18 | toggleMouseCursorVisibilityTitle|真的要隐藏鼠标吗?
19 | toggleMouseCursorVisibilityPrompt|您真的要隐藏鼠标吗?一旦隐藏,你可能很难再找到鼠标。如果已经启用了全局鼠标隐藏热键,您可以按[Win + Scroll Lock]来切换鼠标可见性。此外,退出Borderless Gaming将立即恢复鼠标光标。
20 | # Options Menu
21 | toolStripOptions|选项
22 | toolStripRunOnStartup|开机启动
23 | toolStripLanguages|选择语言
24 | toolStripCheckForUpdates|检查更新
25 | toolStripGlobalHotkey|使用全局热键
26 | toolStripMouseLock|使用鼠标锁定热键
27 | toolStripMouseHide|使用鼠标隐藏热键
28 | toolStripMinimizedToTray|开启时最小化到托盘
29 | toolStripCloseToTray|关闭时最小化到托盘
30 | toolStripHideBalloonTips|隐藏气泡提示
31 | toolStripSlowWindowDetection|使用较慢的窗口检测
32 | toolStripViewFullProcessDetails|查看详细进程信息
33 | toolStripRestoreProcesses|恢复所有隐藏的应用
34 | # Tools Menu
35 | toolsToolStripMenuItem|工具
36 | toolStripPauseAutomaticProcessing|暂停自动处理
37 | toolStripOpenDataFolder|打开数据文件夹
38 | toolStripToggleMouseCursorVisibility|切换鼠标可见性
39 | toolStripToggleWindowsTaskbar|切换Windows任务栏可见性
40 | toolStripFullApplicationRefresh|完全刷新应用程序
41 | toolStripDisableSteamIntegration|禁用Steam集成
42 | # Help Menu
43 | toolStripInfo|帮助
44 | toolStripUsageGuide|使用指南
45 | toolStripRegexReference|正则表达式参考
46 | toolStripReportBug|报告错误
47 | toolStripSupportUs|支持我们
48 | toolStripAbout|关于
49 | # Process Context Menu
50 | contextAddToFavs|添加到自动处理列表...
51 | toolStripByTheWindowTitle|以窗口标题识别
52 | toolStripByRegex|以窗口标题识别 (使用正则表达式)
53 | toolStripByProcess|以进程可执行文件名识别
54 | contextBorderless|无边框化
55 | contextBorderlessOn|在...上无边框
56 | toolStripSetWindowTitle|设置窗口标题
57 | toolStripHideProcess|隐藏这个进程
58 | # Favorite Context Menu
59 | toolStripFullScreen|全屏
60 | toolStripNoSizeChange|尺寸不改变
61 | toolStripSetSetWindowSize|设置窗口尺寸
62 | toolStripAutomaximize|自动最大化
63 | toolStripAdjustWindowBounds|调整窗口边框
64 | toolStripAlwaysOnTop|保持窗口在顶部
65 | toolStripDelayBorderless|延迟无边框化窗口
66 | toolStripHideMouseCursor|隐藏鼠标指针
67 | toolStripHideWindowsTaskbar|隐藏Windows任务栏
68 | toolStripRemoveMenus|隐藏菜单
69 | contextFavScreen|Select Favorite Screen...
70 | toolStripMuteInBackground|应用程序后台运行时静音
71 | contextRemoveFromFavs|移出自动处理列表
72 | # UI
73 | superSize|SuperSize!
74 | processLabel|应用程序:
75 | favoritesLabel|自动处理列表:
76 | statusLabel|载入中...
77 | moreOptionsLabel|右键单击查看更多选项。最后更新于
78 | # Tool Tips
79 | steamHint|可脱离Steam启动。
80 | addFavorite|将当前选择的应用程序添加到自动处理列表(以窗口标题识别)。
81 | removeFavorite|将当前选择的应用程序移出自动处理列表。
82 | makeBorderless|使当前选择的应用程序无边框。
83 | restoreBorders|尝试将当前选择的应用程序窗口化。
--------------------------------------------------------------------------------
/Languages/zh-TW.lang:
--------------------------------------------------------------------------------
1 | # Popups
2 | setWindowSizeTitle|設定視窗大小
3 | setWindowSizePixelPrompt|請輸入視窗左上角的 {0} 坐標({0} 以像素為單位):
4 | setWindowSizeWidthPrompt|視窗寬度 (以像素為單位):
5 | setWindowSizeHeightPrompt|視窗高度 (以像素為單位):
6 | setWindowSizeMouseTitle|使用滑鼠指標選擇區域?
7 | setWindowSizeMousePrompt|您要使用滑鼠指標選擇區域嗎?\r\n\r\n如果您選擇否,系統將提示您輸入具體的像素尺寸。
8 | adjustWindowBoundsTitle|調整視窗邊框
9 | adjustWindowBoundsPrompt|您想為視窗{0}邊緣調整的像素 (設定為 0 時不調整):
10 | adjustWindowBoundsLeft|左
11 | adjustWindowBoundsRight|右
12 | adjustWindowBoundsTop|上
13 | adjustWindowBoundsBottom|下
14 | settingConfirmationTitle|確認您的變更
15 | settingConfirmationPrompt|您必須重新啟動 Borderless Gaming 才能使您的變更生效,現在重啟?
16 | setWindowTitleTitle|設定視窗標題
17 | setWindowTitlePrompt|設定新的視窗標題:
18 | toggleMouseCursorVisibilityTitle|真的要隱藏滑鼠指標嗎?
19 | toggleMouseCursorVisibilityPrompt|您真的要隱藏滑鼠指標嗎?\r\n\r\n一旦隱藏,您可能很難再找到滑鼠指標。 如果已經啟用了全域滑鼠指標隱藏熱鍵,您可以按下 [Win + Scroll Lock] 來切換滑鼠指標的可見性。\r\n\r\n此外,退出 Borderless Gaming 將立即恢復滑鼠指標。
20 | # Options Menu
21 | toolStripOptions|選項
22 | toolStripRunOnStartup|開機啟動
23 | toolStripLanguages|選擇語言
24 | toolStripCheckForUpdates|檢查更新
25 | toolStripGlobalHotkey|使用全域熱鍵
26 | toolStripMouseLock|使用滑鼠指標鎖定熱鍵
27 | toolStripMouseHide|使用滑鼠指標隱藏熱鍵
28 | toolStripMinimizedToTray|開啟時最小化到工作列
29 | toolStripCloseToTray|關閉時最小化到工作列
30 | toolStripHideBalloonTips|隱藏氣泡提示
31 | toolStripSlowWindowDetection|使用較慢的視窗偵測
32 | toolStripViewFullProcessDetails|檢視詳細程序訊息
33 | toolStripRestoreProcesses|恢復所有隱藏的應用程式
34 | # Tools Menu
35 | toolsToolStripMenuItem|工具
36 | toolStripPauseAutomaticProcessing|暫停自動處理
37 | toolStripOpenDataFolder|開啟數據資料夾
38 | toolStripToggleMouseCursorVisibility|切換滑鼠指標可見性
39 | toolStripToggleWindowsTaskbar|切換 Windows 工作列可見性
40 | toolStripFullApplicationRefresh|完全重整應用程式程序
41 | toolStripDisableSteamIntegration|停用 Steam 內嵌介面
42 | # Help Menu
43 | toolStripInfo|幫助
44 | toolStripUsageGuide|使用指南
45 | toolStripRegexReference|正則表達式參考
46 | toolStripReportBug|報告錯誤
47 | toolStripSupportUs|支持我們
48 | toolStripAbout|關於
49 | # Process Context Menu
50 | contextAddToFavs|加入到我的最愛...
51 | toolStripByTheWindowTitle|... 以視窗標題識別
52 | toolStripByRegex|... 以視窗標題識別 (使用正則表達式)
53 | toolStripByProcess|... 以程序可執行檔案名稱識別
54 | contextBorderless|無邊框化
55 | contextBorderlessOn|在...上無邊框
56 | toolStripSetWindowTitle|設定視窗標題
57 | toolStripHideProcess|隱藏這個程序
58 | # Favorite Context Menu
59 | toolStripFullScreen|全螢幕
60 | toolStripNoSizeChange|尺寸不改變
61 | toolStripSetSetWindowSize|設定視窗尺寸
62 | toolStripAutomaximize|自動最大化
63 | toolStripAdjustWindowBounds|調整視窗邊框
64 | toolStripAlwaysOnTop|保持視窗在最上層
65 | toolStripDelayBorderless|延遲無邊框化視窗
66 | toolStripHideMouseCursor|隱藏滑鼠指標
67 | toolStripHideWindowsTaskbar|隱藏 Windows 工作列
68 | toolStripRemoveMenus|隱藏選單
69 | contextFavScreen|選擇螢幕到我的最愛...
70 | toolStripMuteInBackground|應用程式程序背景執行時靜音
71 | contextRemoveFromFavs|從我的最愛中移除
72 | # UI
73 | superSize|超級大小!
74 | processLabel|應用程式程序:
75 | favoritesLabel|我的最愛(自動處理):
76 | statusLabel|載入中...
77 | moreOptionsLabel|右鍵點擊檢視更多選項。 最後更新於
78 | # Tool Tips
79 | steamHint|防止在 Steam 上的 "使用程式中"
80 | addFavorite|將目前選擇的應用程式程序加入到自動處理列表(以視窗標題識別)。
81 | removeFavorite|將目前選擇的應用程式程序移出自動處理列表。
82 | makeBorderless|使目前選擇的應用程式程序無邊框。
83 | restoreBorders|嘗試將目前選擇的應用程式程序視窗化。
--------------------------------------------------------------------------------
/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Resources;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 |
9 | [assembly: AssemblyTitle("Borderless Gaming")]
10 | [assembly: AssemblyDescription("Play your favorite games in a borderless window; no more time-consuming Alt-Tabs!")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("Andrew Sampson")]
13 | [assembly: AssemblyProduct("Borderless Gaming")]
14 | [assembly: AssemblyCopyright("Copyright © 2014-2018 Andrew Sampson")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 |
18 | // Setting ComVisible to false makes the types in this assembly not visible
19 | // to COM components. If you need to access a type in this assembly from
20 | // COM, set the ComVisible attribute to true on that type.
21 |
22 | [assembly: ComVisible(false)]
23 |
24 | // The following GUID is for the ID of the typelib if this project is exposed to COM
25 |
26 | [assembly: Guid("a4ec5be3-e7a6-4d82-825a-b697248925dc")]
27 |
28 | // Version information for an assembly consists of the following four values:
29 | //
30 | // Major Version
31 | // Minor Version
32 | // Build Number
33 | // Revision
34 | //
35 | // You can specify all the values or you can default the Build and Revision Numbers
36 | // by using the '*' as shown below:
37 | // [assembly: AssemblyVersion("1.0.*")]
38 |
39 | [assembly: AssemblyVersion("9.4.6.1328")]
40 | [assembly: AssemblyFileVersion("9.4.6.1328")]
41 | [assembly: NeutralResourcesLanguage("en-US")]
--------------------------------------------------------------------------------
/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
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 BorderlessGaming.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 | public 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 | public 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("BorderlessGaming.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 | public static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Drawing.Bitmap.
65 | ///
66 | public static System.Drawing.Bitmap add {
67 | get {
68 | object obj = ResourceManager.GetObject("add", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized resource of type System.Byte[].
75 | ///
76 | public static byte[] blank {
77 | get {
78 | object obj = ResourceManager.GetObject("blank", resourceCulture);
79 | return ((byte[])(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Drawing.Bitmap.
85 | ///
86 | public static System.Drawing.Bitmap bordered {
87 | get {
88 | object obj = ResourceManager.GetObject("bordered", resourceCulture);
89 | return ((System.Drawing.Bitmap)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Drawing.Bitmap.
95 | ///
96 | public static System.Drawing.Bitmap borderless {
97 | get {
98 | object obj = ResourceManager.GetObject("borderless", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized string similar to Unable to save favorites. Do you have permission?\r\n\r\nDetailed Error: {0}.
105 | ///
106 | public static string ErrorFavoritesSave {
107 | get {
108 | return ResourceManager.GetString("ErrorFavoritesSave", resourceCulture);
109 | }
110 | }
111 |
112 | ///
113 | /// Looks up a localized string similar to Error.
114 | ///
115 | public static string ErrorHeader {
116 | get {
117 | return ResourceManager.GetString("ErrorHeader", resourceCulture);
118 | }
119 | }
120 |
121 | ///
122 | /// Looks up a localized string similar to Borderless Gaming encountered an error checking for updates. Restart the program to try again..
123 | ///
124 | public static string ErrorUpdates {
125 | get {
126 | return ResourceManager.GetString("ErrorUpdates", resourceCulture);
127 | }
128 | }
129 |
130 | ///
131 | /// Looks up a localized string similar to A new version of Borderless Gaming is available. Would you like to go to the release page?.
132 | ///
133 | public static string InfoUpdateAvailable {
134 | get {
135 | return ResourceManager.GetString("InfoUpdateAvailable", resourceCulture);
136 | }
137 | }
138 |
139 | ///
140 | /// Looks up a localized string similar to Update available.
141 | ///
142 | public static string InfoUpdatesHeader {
143 | get {
144 | return ResourceManager.GetString("InfoUpdatesHeader", resourceCulture);
145 | }
146 | }
147 |
148 | ///
149 | /// Looks up a localized resource of type System.Drawing.Bitmap.
150 | ///
151 | public static System.Drawing.Bitmap remove {
152 | get {
153 | object obj = ResourceManager.GetObject("remove", resourceCulture);
154 | return ((System.Drawing.Bitmap)(obj));
155 | }
156 | }
157 |
158 | ///
159 | /// Looks up a localized string similar to {0} is minimized..
160 | ///
161 | public static string TrayMinimized {
162 | get {
163 | return ResourceManager.GetString("TrayMinimized", resourceCulture);
164 | }
165 | }
166 | }
167 | }
168 |
--------------------------------------------------------------------------------
/Properties/Resources.de.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 |
121 | Favoriten konnten nicht gespeichert werden. Haben Sie die benötigten Berechtigungen?\r\n\r\nFehler-Details: {0}
122 |
123 |
124 | Fehler
125 |
126 |
127 | Bei der Suche nach Updates trat ein Fehler auf. Starten Sie das Programm erneut um die Suche zu wiederholen.
128 |
129 |
130 | Eine neue Version von Borderless Gaming ist verfügbar. Möchten Sie die Downloadseite jetzt besuchen?
131 |
132 |
133 | Aktualisierung verfügbar
134 |
135 |
136 | {0} wurde minimiert.
137 |
138 |
--------------------------------------------------------------------------------
/Properties/Resources.ru.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 |
121 | Невозможно добавить в избранное. У вас есть привилегии?\r\n\r\nПодробности: {0}
122 |
123 |
124 | Ошибка
125 |
126 |
127 | Возникла ошибка при поиске обновлений. Перезапустите программу и попытайтесь снова.
128 |
129 |
130 | Доступна новая версия Borderless Gaming. Хотите перейти на страницу загрузки?
131 |
132 |
133 | Доступно обновление
134 |
135 |
136 | {0} свернут в трей.
137 |
138 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | # What is this?
9 |
10 | Borderless Gaming is a simple tool that will allow you to turn your windowed video games into "fullscreen" applications without all of the negative side effects
11 |
12 | The project is open source under the [GNU General Public License v2.0](https://github.com/Codeusa/Borderless-Gaming/blob/master/LICENSE).
13 |
14 |
15 | 
16 |
17 | 
18 |
19 | 
20 |
21 |
22 | ## How to install and run Borderless-Gaming
23 |
24 | #### Buy through Steam and run it
25 | [Can be purchased here](http://store.steampowered.com/app/388080).
26 |
27 | #### Install from Source
28 |
29 | - Clone with repository
30 |
31 | - Open the solution inside Visual Studio 2017
32 |
33 | - Select the "Release" option
34 |
35 | - Build the projects and use the generated executable
36 |
37 |
38 | #### Usage
39 | [A detailed guide can be found here](https://steamcommunity.com/app/388080/discussions/0/535151589899658778/).
40 |
41 | #### Need help?
42 | contact me on my [Website](http://andrew.im)
43 |
44 | or if you're suffering from crashes or bugs submit information [here](https://github.com/Codeusa/Borderless-Gaming/issues?state=open)
45 |
46 |
47 | ## Helping Borderless-Gaming
48 |
49 | **I want to help with the code:** I accept pull-requests, please see the [Contributing to Borderless-Gaming](https://github.com/Codeusa/Borderless-Gaming/blob/master/CONTRIBUTING.md) guide for information on contributing to this project. And don't forget to add your contact informations on the AUTHORS list.
50 |
51 | **I found a bug:** File it as an [issue](https://github.com/Codeusa/Borderless-Gaming/issues) and please describe as much as possible the bug and the context.
52 |
53 | **I have a new suggestion:** For feature requests please first check [the issues list](https://github.com/Codeusa/Borderless-Gaming/issues) to see if it's already there. If not, feel free to file it as an issue and to define the label **enhancement**.
54 |
55 | ## Contact info
56 |
57 | * **Twitter:** [@AndrewMD5](https://twitter.com/andrewmd5)
58 | * **Blog:** [blog.andrew.im](http://blog.andrew.im)
59 |
60 | # Join our Steam Group!
61 | [Borderless Gaming on Steam](https://steamcommunity.com/app/388080/discussions/)
62 |
--------------------------------------------------------------------------------
/SteamLibs/Facepunch.Steamworks.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/SteamLibs/Facepunch.Steamworks.dll
--------------------------------------------------------------------------------
/SteamLibs/steam_api.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/SteamLibs/steam_api.dll
--------------------------------------------------------------------------------
/SteamLibs/steam_appid.txt:
--------------------------------------------------------------------------------
1 | 388080
--------------------------------------------------------------------------------
/Tools/DigiCertUtil.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/Tools/DigiCertUtil.exe
--------------------------------------------------------------------------------
/data/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/add.png
--------------------------------------------------------------------------------
/data/blank.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/blank.cur
--------------------------------------------------------------------------------
/data/bordered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/bordered.png
--------------------------------------------------------------------------------
/data/borderless.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/borderless.png
--------------------------------------------------------------------------------
/data/globe-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/globe-green.png
--------------------------------------------------------------------------------
/data/remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/remove.png
--------------------------------------------------------------------------------
/data/steam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeusa/Borderless-Gaming/3cc4dc6bd580b263287be45981f1e36036daf4eb/data/steam.png
--------------------------------------------------------------------------------
/version.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 9.5.6
4 | https://github.com/Codeusa/Borderless-Gaming/releases/latest
5 |
6 |
--------------------------------------------------------------------------------