C#

C#でPC起動してからの経過時間を取得

C#

System.Environment.TickCount ネタ元 https://dobon.net/vb/dotnet/system/tickcount.html

C#にてIEで特定のURLになっているウインドウを根こそぎ閉じる

C#

SHDocVw.ShellWindows shell = new SHDocVw.ShellWindows(); foreach (SHDocVw.WebBrowser IE2 in shell) { if (-1 != IE2.LocationURL.IndexOf("127.0.0.1") ){ IE2.Quit(); } } ネタ元 https://office-casual.biz/csharp-internet-tab-get/

C#でタイマにより一定時間間隔で処理を行う

C#

// formstimer.cs using System; using System.Windows.Forms; public class FormsTimerTest { static void Main() { FormsTimerTest ftt = new FormsTimerTest(); ftt.Run(); } public void Run() { Timer timer = new Timer(); timer.Tick += new EventHan…

C#のProgressBarバーのスタイルを変更する

C#

StyleプロパティにProgressBarStyle列挙体の値を指定します。 Blocks 分割されたブロックの数を増加させていくことで進行状況を示す Continuous バーのサイズを滑らかに連続的に増加させていくことで進行状況を示す Marquee ProgressBar の上を絶え間なくブ…

C#でリソースの追加方法

C#

リソースデザイナを表示するには、メニューの「プロジェクト」-「プロパティ」でプロジェクトデザイナを表示し、「リソース」タブを選択します ネタ元 https://dobon.net/vb/dotnet/programing/vsresource.html#section2

C#のフォームで×ボタンがクリックされても終了させない

C#

リソースエディタでFormClosingイベントを追加する private void Proto_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; } ネタ元 https://www.tetsuyanbo.net/tetsuyanblog/23478

C#のフォームでアイコン、ボタン類を非表示

C#

ControlBox = false; ネタ元 https://symfoware.blog.fc2.com/blog-entry-2203.html

SHDocVw.InternetExplorer COMを用いてIE (InternetExplorer)を自動制御で html取得

C#

参照設定で、タイプライブラリ Microsoft Internet Controls (SHDocVw.DLL) Microsoft HTML Object Library (MSHTML.DLL) を追加しておく。 var IE = new SHDocVw.InternetExplorer(); IE.Visible = true; IE.Navigate(get_uri); while (IE.Busy == true || …

C#でIEを操作

C#

「C#でIEを自動制御しよう (目次)」を参考にしよう 参考サイト http://blog.clockahead.com/search/label/IE

C#でログイン必要なサイトにログインしてデータ取ってくる

C#

以下のページを元にがんばれ! 参考ページ http://c-loft.com/blog/?p=637 https://dobon.net/vb/dotnet/internet/webrequestsavefile.html

C#でループの最初だけ特別な処理を行う

C#

LINQってのを使う。 「LINQ は foreach のパワーアップ版」と考えるといいらしい var data = new[] { 0, 1, 2, 3, 4, 5, 6, 7 }; // LINQ if (data.Any()) { var first = data.First(); Console.WriteLine("最初にやる処理 {0}", first); foreach (var i in …

C# nameof 演算子で引数名などを文字列として取得できる

C#

// "引数名は args です" と出力される Console.WriteLine($"引数名は {nameof(args)} です"); ネタ元 http://fernweh.jp/b/csharp-nameof-operator/

C#でConfigurationManagerクラスを使うには参照から追加の必要あり

C#

usingにSystem.Configurationを追加するだけではダメで、プロジェクトの参照から追加する必要がある。参照追加方法 「ソリューションエクスプローラー」→「参照」右クリック→「参照の追加」アセンブリ:フレームワーク内にある「System.Configuration」にチ…

C# Log4Net を利用してログを記録する

C#

設定はプロジェクトファイルのApp.config に組み込む方法のほうが好きかな。 ネタ元 http://blog.hiros-dot.net/?p=5461 https://qiita.com/rohinomiya/items/2b86c4e8d5afd5c2fb39

C# パス文字列からファイル名部分を取り出す

C#

string filename = Path.GetFileName(sourceFilePath); ネタ元 http://www.atmarkit.co.jp/ait/articles/0405/28/news083.html

C# 呼び出し元のファイル名、行数、関数名を取得

C#

ログ出し用に使えますね。.Net4.5から用っぽい public void Debug(string mess, [System.Runtime.CompilerServices.CallerMemberName] string memberName = "", [System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath = "", [System.Runt…

C#でlog4netの設定方法

C#

設定ファイルを別途置かないやり方。AssemblyInfo.cs に追記 // read Log4Net Configuration file [assembly: log4net.Config.XmlConfigurator(Watch = true)]App.Configに以下追記 <configuration> ... <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> ... </configuration>

C#のフォームのタイトルを変更する

C#

フォームのクラスで これだけ this.Text = "新しいタイトル"; ネタ元 https://www.itlab51.com/?p=2526

C#のフォームでフォームが始めて表示されるイベントはForm.Shown Event

C#

デザイナーを使用してイベント ハンドラーを作成できるよ ネタ元 https://msdn.microsoft.com/ja-jp/library/zwwsdtbk(v=vs.110).aspx https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.form.shown?redirectedfrom=MSDN&view=netframework…

C#で関数ポインタっぽいことしたかったらデリゲート

C#

ネタ元 http://eno0514.hatenadiary.jp/entry/20150820/1440012050

C#で時間のかかる処理でプログレスバー表示させてキャンセル受け付ける処理実装

C#

Progress という名前のフォームを作って、 プログレスバー(progressBar1) と キャンセルボタン(button1)を貼り付ける。 コードは以下のように。 処理するのは文字列返す関数としている。Progress.cs // SetTitle() / SetFunction() で処理設定して ShowDialo…

SeleniumでEdgeを利用(Seleniumのコンソールを隠す版)

C#

NuGetでSelenium.SupportとSelenium.WebDriverをインストールして 実行ファイルと同じフォルダにMicrosoftWebDriver.exeがある前提。 MicrosoftWebDriver.exeはこちらからDL。 var service = EdgeDriverService.CreateDefaultService(); service.HideCommand…

C# で AES暗号 (共通鍵暗号) を 利用 する 方法 256bit

C#

using System; using System.Security.Cryptography; public void CreateKey1(out string iv, out string key) { var BLOCK_SIZE = 128; // 128bit 固定 var KEY_SIZE = 256; // 128/192/256bit から選択 // AES暗号サービスを生成 var csp = new AesCryptoS…

C#で文字列のSHA-256を求める

C#

byte[] input = Encoding.ASCII.GetBytes("hogehogehoge"); SHA256 sha = new SHA256CryptoServiceProvider(); byte[] hash_sha256 = sha.ComputeHash(input); ネタ元 https://www.ipentec.com/document/csharp-get-sha256-string

C# httpclientでOAuth 2.0 認証(クライアントクレデンシャルグラント) アクセストークンもらう

C#

string client_id = "hogehoge"; // 提供される情報 string client_secret = "hogehoge_secret"; // HttpClient http_client = new HttpClient(); HttpRequestMessage request = new HttpRequestMessage(); request.Method = HttpMethod.Post; request.Reque…

C# フォルダを作成する

C#

// フォルダ (ディレクトリ) を作成する System.IO.Directory.CreateDirectory(@"C:\Hoge\Foo\") // 作成先の DirectoryInfo を取得することも可能 System.IO.DirectoryInfo hDirInfo; hDirInfo = System.IO.Directory.CreateDirectory(@"C:\Hoge\Bar\"); ネ…

C# フォルダの存在を確認する

C#

// フォルダ (ディレクトリ) が存在しているかどうか確認する if (System.IO.Directory.Exists(@"C:\Hoge\")) { MessageBox.Show("ディレクトリは存在します"); } else { MessageBox.Show("ディレクトリは存在しません"); } ネタ元 http://jeanne.wankuma.co…

CsvHelper で C# CSVの読み込み

C#

CsvHelperというモジュールがあるらしい。使ってみようかな ネタ元 https://webbibouroku.com/Blog/Article/csvhelper-read

C# 正規表現でファイル名の中から数字4桁取得

C#

aaa_2017_8411.csvというファイル名で、2つ目の数字4文字が欲しいサンプル System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(item, @"\d{4}"); string code = mc[1].Value; ネタ元 https://dobon.net/vb/…

あるフォルダ以下にあるファイルをすべて取得する

C#

using System.IO; ... string[] files = Directory.GetFiles( search_path, "*.csv", SearchOption.AllDirectories); ネタ元 https://dobon.net/vb/dotnet/file/getfiles.html でもDirectory.EnumerateFilesのほうが高速でいいらしいよ。 ネタ元 http://dev.…