中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

windows

【windows10】SetForegroundWindowでアクティブにならない対策を考える

1.概要 2.現象 3.原因と対策 1.概要 SetForegroundWindowとは?Win32 APIであり、指定されたウィンドウを最前面に表示させる関数になります。 この関数はたまに使用しており、動作的にも問題なかったのですが 最近急にこの関数の動作が不安定になるといった…

【C#.net】関数からの戻り値を複数取得したい・・・Tuple型を使う

1.概要 2.参照渡しを使う方法 3.Tuple型を使う方法 4.使ってみた感想 1.概要 例えば下記のようなファイルを削除する関数があります。 private bool FileDelete(string filePass) { try { System.IO.File.Delete(filePass); return true; } catch (Exception …

【FlashDevelop】AdobeAIRアプリケーションの開発環境を構築する

1.AdobeAirとは 2.FlashDevelopとは 3.インストールする 4.日本語化する 5.プロジェクトを作成する 6.Apache Flex SDKをインストールする 7.プロジェクトにSDKを設定する 1.AdobeAirとは Adobe AIRは異種OS上で共通に動作するランタイム環境です・・・【Flas…

【C#.net】ZipArchiveクラスを使ってzipファイルの解凍処理を行う

1.概要 2.準備をする 3.スクリプト 4.解凍処理の流れ 5.実行結果 1.概要 アプリケーションでZipファイルの解凍処理を行う場合 サードパーティ製のものを使うという選択肢が一般的だったかと思います。 フリーのライブラリである【SharpZipLib】を使ったこと…

【Unity】UnityWebRequestを使って画像ファイルをダウンロードし保存する

1.概要 2.スクリプト 3.使い方 4.結果 1.概要 Unity5.4から正式にリリースされた【UnityWebRequest】を使って web上にある画像ファイルをダウンロードして ローカルに保存してみます。動作確認を行ったUnityのバージョンは【2019.2.13f1】になります。 2.ス…

【C#.net】フォーム間でのデータの受け渡し方法のサンプル

1.概要 2.親Formから子Formにデータを渡す 実行結果 3.子フォームの操作結果を取得する 実行結果 4.親子間でデータをやり取りする 実行結果 1.概要 Formアプリケーションを作成する際に 複数のFormを扱う場面があるかと思います。 そんな時に使えるForm間の…

【Unity】ScrollViewの使い方、スクリプトからテキスト一覧表示の設定をする

1.概要 2.プロジェクトに追加する 3.ScrollViewの設定をする ①表示範囲 ②スクロール範囲の指定 ③横スクロールバーを無効にする ④コンテンツの配置について考える 【Content Size Fitter】 【Vertical Layout Group】 4.スクリプト 5.結果 1.概要 UI設計にお…

【Adobe Air】ランタイムの自動アップデートを無効にする

1.概要 2.Adobe AIR 設定マネージャ 3.レジストリで無効にする方法 4.結論 1.概要 windows上でAdobe Airアプリを動作させる場合 ランタイムが必要になります。 このランタイムですが自動でアップデートを促すウィンドウが表示され 正直うっとうしいです。※AI…

【C#.net】RS232Cで【制御文字(STX、ETX)】を送るにはどうしたらいいのか?

1.概要 2.16進コードをbyte型配列にする 3.byte型配列を送る 4.スクリプト 5.結果 1.概要 RS232C通信を行う時、文字列であれば【serialPort1.Write】または【serialPort1.WriteLine】に 送信したい文字列を突っ込めば、送信することは出来ますが 送信したい…

【windows10】-テキスト、アプリ、その他の項目のサイズを変更する-を100%固定にしたい

1.概要 2.テキスト、アプリ、その他の項目のサイズを変更するとは? 3.100%固定にするためには? ①【Win8DpiScaling】 ②【LogPixels】 4.ディスプレイの接続がない時の解像度は? 1.概要 ディスプレイのサイズ(32型など)や解像度(FHD:1920×1080など)によっ…

【C#.net】アクティブウィンドウの状態を切り替え、監視制御を行う。

1.概要 運用上、常にアクティブ状態である必要があるアプリケーションウィンドウがあります。 これが何かしらの原因で、フォーカスが失われアクティブ状態から抜けてしまうことがあります。 例えば、エラーポップアップなどがこれにあたるのではないでしょう…

【C#.net】FtpWebRequestクラスを使ってFTPS接続でファイルをダウンロードする

1.条件 2.証明書の確認を無視する 3.スクリプト 4.動作確認 1.条件 下記の条件で検証を行いました。 ①サーバーはLinux ②パッシブモードでの接続 ③制御コネクションのポート番号は【61234】 ④自己署名証明書のため証明書の内容確認は行わないとにかく暗号化通…

【visual studio】Setup ProjectでProgramDataにファイルを配置する方法

1.概要 2.インストーラーの作成 3.ProgramDataにデータを配置する設定をする 4.結果 1.概要 visual studioで作成したアプリケーションを配布する際に 【InstallSield】や【InnoSetup】など様々なものがありますが 今回はvisual studio 2012まで標準であった…

【C#.net】文字列で指定したクラスのインスタンスを作成し、値を設定する

1.概要 2.文字列からTypeの取得 3.Typeからインスタンスを作成する。 4.値を設定する 5.やりたかったこと 1.概要 同じような機能を持った関数が乱立するようなコードは コードが長くなる原因となるため可読性が悪くなってしまい バグの温床になりかねません…

【C#.net】SerialPortクラスを使ってRS232C通信を行う

1.概要 2.SerialPortクラスを使う 3.使用可能なポートを取得する 4.ポートの設定を行う 5.スクリプト 6.実行する 1.概要 最近のPCには標準で搭載されていないことが多くなってきましたが 外部デバイスの制御にはRS232C通信がまだ根強く残っており アプリケー…

Windowsイベントログ(evtx)をCAB形式に圧縮して取得する

1.概要 2.イベントログのパス 3.CAB形式とは 4.CAB形式への圧縮方法 5.単純に圧縮してみる 6.ちゃんと圧縮する 1.概要 WindowsPCに不具合があった時などは とりあえずイベントログを見ることで解決につながることもあります。 ですが、すぐそこにあるPCであ…

【C#.net】スクリプトからUACを無効にする

1.概要 2.方法 3.確認 4.スクリプト 5.結果 1.概要 windows用のフォームアプリを作成した時に UACが有効だと、アプリケーションの動作上よろしくないことが多いかと思います。 ここではアプリケーションからUACを無効にしてしまおう という考えでコードを記…

【C#.net VB.net】windowsのタスクバーを非表示にする

1.概要 2.スクリプト 1.概要 アプリケーションの仕様上、タスクバーが非常に邪魔な時がありました。 その為、表示、非表示の制御を行うようにしました。 制御はWIN32APIから行います。 2.スクリプト Public Declare Auto Function FindWindow Lib "USER32.DL…

【VB.net】と【C#.net】のコードの比較について

1.概要 2.比較 関数の終了 型変換 イベントの追加 DLL関数呼び出し DLL関数呼び出し(Declare) ArrayList→string[]変換 My.Computer.FileSystemクラスをC#で使う 1.概要 【VB.net】から【C#.net】へ移行して欲しいという依頼が少なからずあります。 これに対…

【c#.net】HttpClientクラスを使ってJsonデータをPOSTする

1.概要 2.Jsonデータ 3.コード 4.結果 1.概要 .netアプリケーションからJsonデータをPOSTしてみます。 今回は.net Framework4.5から追加された【HttpClient】クラスを使います。webサーバーはPOSTされたJsonデータを そのまま返してくるという動作になってい…

【C#.net】Newtonsoft.Jsonを使ってjsonファイルを扱う

1.概要 2.インストールする 3.シリアライズする 4.デシリアライズする 1.概要 .netアプリケーションでjsonファイルを扱うことがあります。 そんな時に便利なのが【Newtonsoft.Json】になります。Jsonとは JavaScript Object Notationの略で、テキストベース…

【Visual Studio】「アンセーフコードは/unsafeでコンパイルした場合のみ有効です」エラーへの対応

C#.netでポインターを扱う場合、unsafeキーワードを用いる必要があります。 ただこのunsafeキーワードは【Visual Studio】の設定を変更しないと コンパイルエラーが出てしまうので、これを下記のとおり設定変更してあげる必要があります。設定方法は簡単で …

C#.netでwebBrowserを作成してみる。【chromium】

1.概要 2.インストールする 3.【Any CPU】でも使えるようにする 4.スクリプト 開発環境:visual studio2015 開発言語:C#.net 1.概要 以前の記事で【WebBrowserコントロール】を使って ブラウザを組み込んだアプリケーションを作成してみました。 ですが、デ…

【c#.net】タスクトレイに常駐するアプリケーションの設定をする

1.概要 2.コントロールの追加 3.【NotifyIcon】の設定 4.【CntextMenuStrip】の設定 5.アプリケーションの動作 6アプリケーションの設定 7.スクリプト 8.結果 開発環境:visual studio2015 開発言語:C#.net 1.概要 タスクトレイに常駐しているアプリケーシ…

【InnoSetup】でスクリプトからカスタム設定をする

1.概要 2.設定 インストール時にbatファイルを実行する ProgramData下にファイルをコピーする インストール完了後にreadmeを表示する サイレントインストール スタートアップにショートカットを作成する 1.概要 前回の記事でウィザードをとおして、インスト…

【InnoSetup】の使い方を理解し設定する-インストーラー作成-

1.概要 アプリケーションが完成したら配布方法を考える必要があります。 実行ファイル単体で動作するようなものならば そのまま圧縮して配布しても問題ないかもしれませんが 必要なファイルを指定のフォルダへ配置したい等 規模が大きくなるにつれてアプリケ…

【vb.net】windowsアプリケーションからGmailでメールを送信する

1.概要 2.スクリプト 3.結果 1.概要 アプリケーションを作成する際に 簡易的に状態通知を行いたい時があります。 メールサーバーを構築してもいいですが、 そこまでする必要性があるのか?と思うときもあります。 そんな時にGmailを使って状態通知が出来れば…

c#.netでファイルをダウンロードするにはWebClientクラスを使うのがいいのか?

1.概要 2.検証内容 ①バイナリ型式でダウンロードする。 ②非同期処理(デッドロックしないようにする) ③ダウンロード完了時にイベントを発生させる ④ダウンロードのタイムアウト時間を設ける 開発環境;visual studio 2015 開発言語:c#.net 1.概要 WEB上にあ…

UACが邪魔だったから、挙動確認してみるのと、レジストリから無効にしてみる

1.概要 2.【UAC】を無効にする方法 3.【UAC】の動作 4.該当するレジストリ 5.常に管理者で実行する 環境:Windows10 1.概要 デスクトップアプリケーションを作成していると 【UAC】が邪魔をして、想定していた結果が得られない、なんてことがあります。 そ…

c#.netでWMIを利用してPCの起動時間を取得する

開発環境:visual studio2015 開発言語:c#.net現在動作しているPCが本当に想定された時間に起動したものなのか? これを知りたい時がありました。 理由としては、もしかして想定外の再起動処理をしてないか? または、停電によるインフラ側の不具合があるの…