C#
Ⅰ. はじめに Ⅱ. やり方(Google.Protobufを使う方法) 1. NuGetから Google.Protobuf をインストールする 2. protoファイルを作成する 3. protoc.exe をダウンロードする 4. protoファイルからC#のクラスを自動生成する 5. サンプルプログラムを書く 実行結…
Ⅰ. はじめに タイトルの通り「C#でLuaを使う方法(NLuaの使い方)」です。 Ⅱ. やり方 1. NuGetからNLuaをインストールする Install-Package NLua 2. サンプルプログラム humans.lua Humans = { [10001] = {id = 10001, name = 'name001' }, [10002] = {id = …
Ⅰ. はじめに Ⅱ. やり方 1. NuGetからSharpPcapをインストールする 2. サンプルプログラムをコピペする 実行結果 Ⅲ. TCPだけをキャプチャする方法 参考 Ⅰ. はじめに タイトルの通り「C#でWinPcapを使う方法(SharpPcapの使い方)」です。 WinPcapを利用したキ…
Ⅰ. はじめに タイトルの通り「Costura.Fody」の使い方です。 Costura.Fodyはpdbファイルを基に自動的にDLLをEXEに埋め込みます。 ILMergeの代替として利用できます。 Ⅱ. 使い方 1. Costura.Fody をインストールする Install-Package Costura.Fody 2. プロジ…
Ⅰ. はじめに タイトルの通り「C#でYahooAPIのルビ振りを利用する方法」です。 Ⅱ. サンプルプログラム using System; using System.Net.Http; using System.Threading.Tasks; using System.Xml.Linq; static async Task Main(string[] args) { var grade = 1;…
Ⅰ. はじめに Ⅱ. サンプルプログラム MainWindow.xaml MainWindow.xaml.cs Ⅲ. 実行結果 参考 Ⅰ. はじめに タイトルの通り「WPFでGridを使いコントロールの位置を動的に変更する方法」です。 Ⅱ. サンプルプログラム MainWindow.xaml <Grid Name="grid1" ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition Height="1*" MaxHeight="80"/> <RowDefinition Height="3*" /> </rowdefinition></rowdefinition></grid.rowdefinitions></grid>
Ⅰ. はじめに Ⅱ. サンプルプログラム MainWindow.xaml test.php MyRequestHandler.cs 実行結果 参考 Ⅰ. はじめに タイトルの通り「CefSharpでリダイレクトURLを取得する方法」です。CefSharpに関する基本的な情報はこちら http://kagasu.hatenablog.com/entry…
Ⅰ. はじめに Dapperで以下のようなINSERTを実行した場合数秒かかります。 var values = Enumerable.Range(0, 10000).Select(x => new { a = x, b = x }); var count = connection.Execute(@"insert MyTable(ColA, ColB) values (@a, @b)", values); 原因はバ…
Ⅰ. はじめに Ⅱ. サンプルプログラム1 実行結果 Ⅲ. サンプルプログラム2 実行結果 参考 Ⅰ. はじめに タイトルの通り「C#でenumに任意の文字列(string)を設定する方法」です。 Ⅱ. サンプルプログラム1 Install-Package FastEnum Program.cs enum Company { [En…
Ⅰ. はじめに Ⅱ. サンプルプログラム 検索する アプリの詳細情報を取得する APKをダウンロードする 参考 Ⅰ. はじめに タイトルの通り「C#でGooglePlayStoreのAPIを呼び出す方法」です。 Ⅱ. サンプルプログラム 予め以下のパッケージをNuGetからインストールし…
Ⅰ. はじめに Ⅱ. サンプルプログラム .NET標準ライブラリを使う方法 BouncyCastleを使う方法 Ⅲ. 鍵を読み込む方法 1. 秘密鍵、公開鍵を作成する 2. サンプルプログラムを書く 実行結果 Ⅰ. はじめに タイトルの通り「C#でRSAの暗号化と復号を行う方法」です。 …
Ⅰ. はじめに タイトルの通り「C#でローカルIPアドレスを列挙する方法」です。 Ⅱ. サンプルプログラム Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.NetworkInformation; using Syste…
Ⅰ. はじめに タイトルの通り「.NETでYouTube API v3を利用する方法」です。 サンプルとして「任意の単語で検索し、動画IDと動画タイトルを表示する」プログラムを書きます。以下2つの環境で動作確認を取りました。 .NET Framework 4.5 .NET Core 2.0 Ⅱ. やり…
Ⅰ. はじめに Ⅱ. 「C++/CLIを使う」方法 1. C++のプロジェクト設定を開き「共通言語ランタイム サポート (/clr)」に変更する 2. サンプルプログラム 3. 実行結果 Ⅲ. 「C#(DLL)側で関数をエクスポートする」方法 1. サンプルプログラム 2. DllExport.bat をダ…
Ⅰ. はじめに Ⅱ. WinFormsで使う場合 1. NuGetからパッケージをインストールする 2. プラットフォームをx86またはx64に変更する 3. サンプルプログラムを書く 4. 実行結果 Ⅲ. WPFで使う場合 1. NuGetからパッケージをインストールする 2. プラットフォームをx…
2024/01/30追記 Ⅰ. はじめに 1つ目 2つ目 Ⅱ. やり方(1つ目) サンプルプログラム 実行結果 Ⅲ. やり方(2つ目) サンプルプログラム 実行結果 Ⅳ. その他 1つ目について 2つ目について 2024/01/30追記 WMICが廃止されます https://techcommunity.microsoft.co…
Ⅰ. はじめに 無料で利用できる難読化ツール Obfuscar の使い方です。 GitHubでソースコードが公開されています。 https://github.com/lextm/obfuscar Ⅱ. 使い方 1. NuGetから必要なライブラリをインストールします Install-Package Obfuscar 2. プロジェクト…
Ⅰ. はじめに Ⅲ. 16進数文字列→byte[] Ⅳ. byte[] → 16進数文字列 Ⅰ. はじめに タイトルの通り「16進数文字列をbyte[]に変換する方法」です。 Ⅲ. 16進数文字列→byte[] Main.cs static void Main(string[] args) { byte[] bytes = "01 02 03".ToByteArray(); //…
Ⅰ. はじめに タイトルの通り「C# で Redis を使う方法」です。 ライブラリは「StackExchange.Redis」を使います。 Ⅱ. 使い方 NuGetから必要なライブラリをインストールします Install-Package StackExchange.Redis 文字列をセットする var redis = Connectio…
Ⅰ. はじめに タイトルの通り「C# でSMTP サーバを建ててメールを受信する方法」です。 cosullivan/SmtpServer を使います ※画像はWikipediaより Ⅱ. やり方 1. NuGetから必要なライブラリをインストールする Install-Package SmtpServer Install-Package Mime…
Ⅰ. はじめに Ⅱ. やり方(.NET6以上の場合) 1. サンプルプログラム 2. 実行結果 Ⅲ. やり方(HttpToSocks5Proxyを利用する方法) 1. NuGetから HttpToSocks5Proxy をインストールする 2. サンプルプログラム 3. 実行結果 留意点 Ⅳ. やり方(DotNet4.SocksProx…
Ⅰ. はじめに C# 7.1の新機能の1つに「非同期Main」があります。 C# 7までは Main関数で async/await は利用不可でした。 C# 7 まで static void Main(string[] args) => MainAsync().Wait(); static async Task MainAsync() { await Task.Delay(1); Console.…
Ⅰ. はじめに Zlibのマジックナンバーは2バイトです。 「78 DA」「78 01」「78 9C」等がメジャーです。 詳しくはRFC 1950で定義されています。 https://www.ietf.org/rfc/rfc1950.txt Ⅱ. やり方 NuGetパッケージをインストールする Install-Package Iconic.Zl…
Ⅰ. はじめに 通常HttpClientでHTTPヘッダを指定する場合は以下のように書くことが出来ます。 var client = new HttpClient(); client.DefaultRequestHeaders.Add("User-Agent", "hoge"); しかし、User-AgnetやAuthorization等のよく知られたヘッダは自動的に…
Ⅰ. はじめに Ⅱ. 環境 Ⅲ. echo botの作り方 1. 新規アプリケーションを作成する 2. BOTとして設定する 3. Tokenをコピーする 4. OAuthのリンクを作成する 5. 4で作成したURLにアクセスし、BOTを自分のサーバに招待する 6. NuGet から Discord.Net をインスト…
Ⅰ. はじめに System.Drawing は WindowsのGDI+に依存している為、標準の.NET Coreで利用することができません。 解決策として System.Drawing.Common を使う方法を紹介します。 ただし、非推奨です。 Ⅱ. やり方 1. NuGetからインストールする dotnet add pac…
Ⅰ. はじめに OpenCV3 のラッパーである OpenCvSharp の MatchTemplate メソッドを使ってテンプレートマッチを行います。 Ⅱ. サンプル スクリーンショットを取り、メモ帳のアイコンを探すサンプルです。 NuGet から OpenCV3 のラッパーをインストールする。 I…
string CalculateHMACSHA256(byte[] bytes) { using (var hmacsha256 = new HMACSHA256(key)) { var bs = hmacsha256.ComputeHash(bytes); return BitConverter.ToString(bs).ToLower().Replace("-", ""); } } // 出力例 // b248bb2b861e5efe1e5bea3722b19c6…
Ⅰ. はじめに タイトルの通り「C#で bzip2 の圧縮、展開を行う方法」です。 bzip2のマジックナンバーは「BZh」(45 5A 68)です。 Ⅱ. SharpZipLib をインストールする SharpZipLib というライブラリを使います。 1. NuGet から SharpZipLib で検索し、インスト…
Ⅰ. はじめに WebSocket4Net は2017/05/11 時点でベータ段階ですが .NET Standard 対応の WebSocket ライブラリです。 Ⅱ. 使い方 1. 「WebSocket4Net」で検索し、インストールする 2. サンプルプログラム using System; using WebSocket4Net; namespace WebSo…