2022-01-01から1年間の記事一覧

コールバックメソッドで登録したメソッドを呼んでやるようなMockをつくる

tera1707.com やりたいこと 以前の記事でMoqライブラリを使ってUTをする超便利な方法を知ったが、 最近、コールバックのメソッドを登録するためのメソッドを持つクラス、Interfaceがあり、それをMoqでテストしたい、となった。 前回調べたやり方だと、あるメ…

.NET6アプリからUWPのAPI(WinRT API)を使う

tera1707.com やりたいこと 以前、.net frameworkで、UWPのAPIを使うやり方を調べたが、同じことを.NET6でもやりたい。 やり方 .NET6のプロジェクトの対象WIndowsのバージョンを、Windows 10, version 1809にしてやる。 csprojの中の<TargetFramework>を下記のようにすること</targetframework>…

UWP用のデザインツール Fluent XAML Theme Editor を使ってWinUI3アプリのテーマ色を設定する

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと Windowsの「色」の設定で、「ライト」「ダーク」が選択できる。 これを切り替えると、例えば設定画面も、下記のように白黒に切り替わる。 この設定に、自分でつくるWinUI3…

VS2022でWinUI3アプリを実装中に、すべてのNugetキャッシュをクリアをすると、ビルド時にエラーが出だした

tera1707.com やりたいこと WinUI3でアプリを作っているときに、ドライブの容量がイッパイイッパイになってきたので少しでも容量削減しようと思い、「すべてのNuGetキャッシュをクリア」を実施した。 そのあとWinUI3アプリをビルドしようとすると、下記のよ…

NavigationViewを使う2(画面遷移時にPageのインスタンスを使いまわす)

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 前回の記事でNavigationViewを使って、WinUI3アプリの画面遷移を作った。 画面遷移ができたのはよいのだが、遷移するたびに、その画面のPageのインスタンスが新しく作成されてるよ…

複数条件で、コントロールの有効無効を切り替える

tera1707.com やりたいこと ReactivePropertyを使っていないときにやっていたような、複数MultiBindingしたプロパティで条件判定してボタンの有効無効を切り替えるようなことを、ReactivePropertyでやりたい。 やりかた Observable.Merge()、もしくは Combin…

画面とやり取りするための最低限の構成(ReactiveProperty版)

tera1707.com やりたいこと 今まで使ったことがなかったReactivePropertyを使う必要が出てきた。 取り合えず小難しいことはおいておいて、最低限値の表示、ボタン押下時の処理の記述だけやり方メモっておきたい。 今回試した前提 ★全然ReactivePropertyを全…

Moqを使ってUnitTestする

tera1707.com やりたいこと UnitTestをするときに便利だと評判のMoqを使って、UTしたい。 参考になるサイト、サンプルコードを挙げているサイトはやまほどあったが、自分の練習のためと部品取りのために自分のサンプルを置いておきたい。 サンプルコード 取…

WMIでWindowsPCにインストールされたドライバーのバージョンを取得する

tera1707.com やりたいこと お仕事で、windowsPCにインストールされたあるドライバーのバージョンを記録したい、ということがあったのだが、毎回毎回デバイスマネージャーを開いて、対象のドライバを右クリックしてプロパティ開いて、、、とやるのがめんどく…

タスクトレイに常駐するバックグラウンドアプリをつくる

C#

tera1707.com やりたいこと .NET6とC#で、タスクトレイに常駐しているアプリを作りたい。 タスクトレイからコンテキストメニューを開いて、また別のアプリを起動したりしたい。 使うもの VisualStudio2022 C# WPFのプロジェクトテンプレート WinFormsのAPI …

WinUI3プロジェクトをビルドしたexeを直叩きで起動する

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3のテンプレートを使ってビルドし、出来上がったexeをダブルクリックしても、アプリ起動しなかった。 exe単独で起動させたい。 前提 2022/02/27時点で試したこと。 2021/11/1…

NavigationViewを使う

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと Xaml-Controls-Gallery をダウンロードして動かせば、動作も見れるしサンプルコードも手に入るが、自分でも動きを簡単に試したい。 できあがり こういう画面をつくる。 画面左の項…

あるデバイスが今WindowsPCにつながってるかどうかを調べる

C++

tera1707.com やりたいこと デバイスマネージャーのデバイスの一覧の中に、特定のデバイスがあるかどうかを探したい。まずは、デバイスマネージャーに出てくる項目を一覧したい。 やり方 やる前メモ 現状、この辺のデバイスがどういう仕組みで動いてるとか、…

vstest.console.exeで行うUnitTestをアタッチ→デバッグする

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと VisualStudio2022で書いたC#のコードをUnitTestするときに、VS2022の入っているPCでUnitTest実行するときにはテストエクスプローラーを使って実行したり、デバッグもできる。 こんな感じ…

dotnet publishで、MSBuildのパラメータを指定してpublish(配置)する

やりたいこと dotnet publishで「配置」を行うためのバイナリ一式を作りたい。 で、その時に依存dll等をexeの中に抱え込んだ「単一ファイル」として作成したいが、単一ファイルの設定がMSBuildでしか設定できず、dotnet publishのオプションとしては存在して…

csprojに書く設定とdotnet publishに渡すパラメータの実験と比較

tera1707.com やりたいこと VisualStudioでビルドしたものと、dotnet publishでビルドしたものの、どちらを最終成果物として使えばよいか?がわかならなかった。 Microsoftの公式ページを見ても、はっきりわかる情報が見つけられないので、いろいろ試してな…

目次(WPF/xaml/C#/C++関連メモ)

目次 qiita.com zenn.dev ■画面作成(WPF/xaml) スタイル/Template(Style/Template) 考え方と基本的な使い方 xaml画面の構成要素の見た目のいじりかた(Style/Templateの使いどき)あれこれ Styleでできることと書き方 Templateでできることと書き方 実際に使っ…

vstest.console.exeでテストを行うときに、テストするクラスやメソッドを指定(フィルター)する

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと 前回の「vstest.console.exeでUnitTestする」の記事で、コンソール(バッチ)でUnitTestを実行した。 そのときは、UnitTestプロジェクトの中に書いたテストを全部実行していたが、今回は…

vstest.console.exeでUnitTestする(VisualStudio2022版)

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと VisualStudio2022で、UnitTestプロジェクトを作ってテストコード(UnitTest)を書くと、テストエクスプローラーからテストを実行することができるが、そのテストコードをVisualStudioが…

同じTestに複数のパラメータを渡してテスト実行する その2

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと 以前、同じTestメソッドに複数のパラメータを渡してテスト実行する方法を調べた。 そこで使った[DataTestMethod]と[DataRow()]で、テストメソッドに好きなパラメータを渡して、同じコ…

private、internalなメソッドのUnitTest(.NET6版)

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと 以前、.NetFrameworkでのUnitTestをつくるときに、privateやinternalなメソッドを外から呼ぶ方法を調べたが、.NET6で同じことをしようとすると、PrivateObjectクラスが使えなくなって…

クラス自体がinternalなときのUnitTest(.NET6版)

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと .NET6で作ったdllやexeの中のクラスやメソッドをUnitTestするときに、publicなクラスだけではなく、internalなクラスもUnitTestしたい。 で、以前.Net Frameworkでそういうことをした…

Consoleアプリなどのexeの中のメソッドを呼ぶ

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと コンソールアプリの中にあるメソッドを、exeを実行して動かすのではなく、直接メソッドを外から呼んで動かしたい。 やりかた Activator.CreateInstance()を使う。 サンプル まず、こん…

文字列や数値からEnumに変換する

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと Enumで定義した値の名前から、Enumの値に直したいなと思ったときに、 intの値をEnumに直すなら var a = (MyEnum)0; みたいな感じで直せばよいと知っていたが、 enum MyEnum { Gundam, …

可変長のメソッドを作る

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと コンソールアプリで、黒窓になにか表示させるときに書くConsole.WriteLine()は、引数を複数とって、1つ目の引数の文字列の中の{n}を2個目以降の引数に置き換えてくれるような動きをす…

switch式の書き方 チートシート

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと C#の8.0で、switch式という書き方ができるようになったらしい。 実験的に試してみたら、なるほどーとはなるが、実際どういうときに使えるのかがあまりよくわかってなく、ぱっと書き方…

DataContractJsonSerializerクラスで使うjson用クラスをrecordでつくる

C#

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと jsonファイルを読み込むときに、以前調べたDataContractJsonSerializerクラスをよく使うがjsonを読み込んだときにデータを保存するためのクラスをいちいち書くのがめんどくさい。あと…

キーボードのキーを押したことにする

C++

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと Windowsアプリの中から、キーボードのキーを押したことにしたい。 やり方 keybd_event()関数を使う。 下記のコードでは、こんな感じの処理をしている。 Windowsキーを押し下げる Mキー…

Systemセッションから、Userセッションでアプリを起動する②

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと 前回の記事で、システムセッションで動いているWindowsサービスから、ユーザーセッションでexeを起動するということをC++でした。 ただ、notepad.exeなら起動してくれるが、自作の、ト…

Systemセッションから、Userセッションでアプリを起動する①

もくじ 目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog やりたいこと サービスから、なにかのアプリを起動しようと、サービス(C#/.NET6)のコードの中に下記のようなコードを書いたが、なぜか起動してくれなかった。 Process.Start("C:\Windows\System32\n…