-
Notifications
You must be signed in to change notification settings - Fork 0
development
We should make sure that all license text is included in the released app. tomchavakis/nuget-license
- Open PowerShell
dotnet tool install --global dotnet-project-licensesdotnet-project-licenses -i ZoomCloser -u -m- Fill blanks of licenses.md
- Copy it when you build the project.
-
Edit readme.ja.md since the project author speaks Japanese.
-
readme.yml will do the following when you
git push origin main:- Copy it to readme.md
- Use dephraiim/translate-readme to translate readme.md into English, write it down to readme.en.md.
- Copy translated readme.en.md to readme.md
-
This project uses ScreenRecorderLib, which has unsafe codes. Therefore, we need to use /zeroPeKind option to merge the library.
The follwing is what the MSBuild.ILMerge.Task document say, but it doesn't work and throws "Object reference not to set..." error. Google serach
- Install MSBuild.ILMerge.Task.
- Copy %userprofile%/.nuget/packages/msbuild.ilmerge.task/2.0.0-pre501/content/ILMerge.props to ./ZoomCloser
- Replace
<ILMergeAllowZeroPeKind></ILMergeAllowZeroPeKind>with<ILMergeAllowZeroPeKind>True</ILMergeAllowZeroPeKind>
-
This is not working either.
- Add %userprofile%.nuget\packages\ilmerge\3.0.41\tools\net452 to %PATH%
ilmerge ZoomCloser.exe *.dll /zeroPeKind /out:Merged.exeCould not load assembly from the location '...ZoomCloser.exe'
- Bindables.Fody for DependencyProperty.
- PropertyChanged.Fody for INotifyPropertyChanged.
- Commander.Fody is no longer maintained...and there seems to be no replacement. Github search. Singulink.WPF.Data.MethodBinding or MvvmCross.Plugin.MethodBinding (Note: This package is Ms-PL licensed) is the easyest way but this project was originally using .NET Framework and therefore is using DelegateCommand.
Using MahApps.Metro and MetroRadiance.Fork.
First adopt Mahapps.Metro ResourceDictionary then adopt MetroRadiance.Fork ResourceDictionary, so that for MahApps' original controls their ResourceDictionary will be adopted and for common controls MetroRadiance.Fork's.
Using Hardcodet.NotifyIcon.Wpf.
| Simple→ | → | →Sophisticated | |
|---|---|---|---|
Poor Man's DI |
Convention over Configuration |
Valuable ↑ |
|
| ↑ | |||
Explicit Register |
↑ Pointless |
Using Unity.RegistrationByConvention to integrate "Convention over Configuration" DI. We want to do this:
App.xaml.cs
private void OnApplicationStartUp(object sender, StartupEventArgs e)
{
container = new UnityContainer();
container.RegisterTypes(AllClasses.FromLoadedAssemblies(), WithMappings.FromMatchingInterface, WithName.Default)
}
But we are using Prism.Wpf and IContainerRegistry does not have RegisterTypes() method. Therefore, we do like this.
App.xaml.cs
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
foreach (var type in AllClasses.FromLoadedAssemblies())
{
foreach (Type interFace in WithMappings.FromAllInterfaces(type))
{
containerRegistry.Register(interFace, type, WithName.Default(type));
}
containerRegistry.Register(type);
}
}
Using CoreAudio.
Gu.Wpf.Localization. Updating Translator.Cultures to refresh LanguageSelector at CultureUtils.InitTranslator.
Using salarcode/AutoResxTranslator to translate resx files.
Vanara.PInvoke.User32 for focusing window and so on, and System.Windows.Automation for getting window info.
inspect.exe can be used to figure out the structure of the Zoom Meetings app.
-
When the window is minimized
No way to get it.
-
When the window is normal or maximized
-
Using System.Windows.Automation (UI Automation)
-
"30" "" ウィンドウ "表示中、参加者パネルを閉じる、30参加者, Alt+U" ボタン "" ウィンドウ "ミーティング ツール" ウィンドウ "ContentLeftPanel" ウィンドウ "Zoom ミーティング" ウィンドウ "デスクトップ 1" ウィンドウ [ No Parent ]
-
"表示中、参加者パネルを閉じる、30参加者, Alt+U" ボタン "" ウィンドウ "ミーティング ツール" ウィンドウ "ContentLeftPanel" ウィンドウ "Zoom ミーティング" ウィンドウ "デスクトップ 1" ウィンドウ [ No Parent ]
Below are ONLY available when participants panel is opened.
-
"参加者 (30)" "PListContainer" ウィンドウ "ContentRightPanel" ウィンドウ "Zoom ミーティング" ウィンドウ "デスクトップ 1" ウィンドウ [ No Parent ]
-
"参加者 (30), 展開されています" "" ウィンドウ "" ウィンドウ "PListContainer" ウィンドウ "ContentRightPanel" ウィンドウ "Zoom ミーティング" ウィンドウ "デスクトップ 1" ウィンドウ [ No Parent ]
-
-
using user32.dll
Below are ONLY available when participants panel is opened.
- "参加者 (30)" "PListContainer" ウィンドウ "ContentRightPanel" ウィンドウ "Zoom ミーティング" ウィンドウ "デスクトップ 1" ウィンドウ [ No Parent ]
-