top of page
カテゴリ
タグ
アーカイブ


C#でOS標準搭載のAPIを呼び出してみる
こんにちは、レイです。 早いもので入社してもうすぐ一年が経ちます。まだまだ慣れないことが多いですが、先輩方に教えてもらいながら日々業務に取り組んでいます。 先日、とある案件で Web カメラの映像を画面に表示するソフトを WPF で作る機会がありました。 今まではこういうとき OpenCV などの外部ライブラリを使っていたのですが、Windows 標準のカメラアプリでも同じことができるわけだし、外部ライブラリを追加せずにできないかなと調べたところ、WinRT という OS 標準機能を呼べば良さそうだったので試してみました。 1. .csproj を書き換える プロジェクト作成後、.csproj をメモ帳で開いて <TargetFramework> を次のように修正します。 WinRTが搭載されはじめたバージョンを明記することで、Windows.* の API がそのまま using できるようになります。ただし、ここで指定したバージョンより古い OS では動かなくなるので注意してください。 2. 画面(XAML) Image を 1 つ置きます。

レイ
17 時間前


インターンシップ リアクションボードの試作
株式会社アーチのトミーです。弊社では数年前からインターンシップを実施しています。 今夏のインターンシップでは、自分が担当講師の一人として課題の進め方、プログラムの内容を教えさせていただきます。課題は以下の3つの中から1つを選択し、体験していただけます。 「高精度計測のロジックを構築する!C#とPLCによる『反射神経測定システム』の開発」 【IoT入門】ビジュアルプログラミングで操る!「Raspberry Pi × IoT制御」 【システム構築】街の安全を守るロジック!「USB-IOで作る信号機制御」 今回のブログでは課題の1つである 【開発実録:C#とPLCを連携させた「反射神経測定システム」の構築プロセス】 の試作を行いましたので、その内容を紹介します。 課題の目的 PLCのI/O活用 PLC内レジスタの理解 ラダープログラムの作成 高精度タイマーの使用 PC・PLC間のデータ通信 実際に測定した時の動画 開発環境 Visual Studio 2026 (C#) GX Works3 (PLC) 使用するPLC 機種:FX5U-32MR/ES

トミー
7月17日


C#×RS-232C通信の振り返りと非同期処理について
はじめに こんにちは!【さん】です。 今回ブログを書くにあたり、数年前に開発した計測機器の検査ソフトのコードを読み返し、その時のことを備忘録として残そうと思います。 入社間もない頃、「RS-232C(シリアル通信)」という、弊社では最近触れる機会が少なくなった通信規格と格闘していました 。 改めて当時を振り返ると、泥臭く安定化させた「過去の実装」と、今だからこそ見える「これからの課題」が浮き彫りになってきました。 過去の自分が行った「通信安定化」の工夫 RS-232Cは、モダンな通信規格に比べると非常にシンプルですが、その分「データの受け取り方」に一工夫必要です。 私が実装の中で特に意識した、安定化のためのポイントを紹介します。 1. 受信完了まで「粘り強く待つ」リトライ構造 シリアル通信では、一度の読み込みで全てのデータが取得できるとは限りません。 そのため、受信バッファが空だったとしてもすぐに処理を諦めず、わずかな待機時間を設けて再確認する構造にしました 。 2. 徹底したバッファ管理 シリアル通信のバッファには、ノイズや前回通信の読み残しが

さん
5月26日


WPFのFluentテーマでCheckBoxの幅が固定されてしまう問題と、その独自カスタマイズによる解決方法
こんにちは、株式会社アーチのT.Tです。 WPF (Windows Presentation Foundation) でモダンなUIを構築する際、.NETが提供する Fluentテーマ (PresentationFramework.Fluent) は、手軽に洗練された見た目を取り入れられるため非常に便利です。私自身、最近のプロジェクトでこのテーマを採用する機会が増えており、その恩恵を大いに受けています。 しかし実務で使い込んでいくと、その便利さの反面「かゆいところに手が届かない」といった細かなレイアウトの壁にぶつかることも少なくありません。例えば、「デフォルトの CheckBox の幅が固定されていて、思うように配置できない」と悩んだことはありませんか? 今回は、私の実体験から得た知見をもとに、この問題の背景と、GitHubで公開されている公式ソースコードを活用して独自にカスタマイズし、スマートに解決する方法について解説します。 CheckBoxの変更前、変更後のイメージ 1. 問題の背景:CheckBoxの幅が固定されてしまう WPFのFlue

T.T
4月14日


C#でプロセスごとのCPU使用率を算出してみる
はじめまして、この記事を書いているレイです。 入社してもう少しで半年になる一番社歴の浅いメンバーです。まだまだ未熟ではありますが日々新しい技術や知識を吸収しながら業務に取り組んでいます。今回は業務の中で気づいたことについて書いていきます。 先日、あるプロセスのCPU使用率が時間の経過とともに上昇し、パソコンの動作が重くなるという問題に遭遇しました。調査する中で、タスクマネージャーに表示されるCPU使用率は「一定時間の間に、そのプロセスがどれだけCPUを占有していたか」という割合から計算されていることを知りました。 OSやタスクマネージャーが「使用率」を算出する仕組みは一見複雑そうに見えますが、単純な時間の計算で求められているのであれば、自作のプログラムでも近い値を再現できるのではないでしょうか。今回は、その仕組みをもとに実際に検証してみます。 差分からもとめる C#では Processクラス の GetProcesses()メソッド を使うと、実行されているすべてのプロセスのリソース使用状況を取得できます。 今回はこの中の TotalProces

レイ
3月10日
最新記事






bottom of page