Skip to content

Instantly share code, notes, and snippets.

View Benshi's full-sized avatar

OHSAWA Masashi Benshi

  • Toukei Computer, Co.,Ltd.
  • TOKYO, Japan
  • 13:34 (UTC +09:00)
  • X @Benshi_Orator
View GitHub Profile
@Benshi
Benshi / @GDI+ を使ったJPEGファイルの作成.md
Last active November 24, 2023 07:19
[VB6] GDI+ を使ったJPEGファイルの作成
  • VB6 で、Jpeg ファイルを作成するサンプルです。少し手直しすれば Excel VBA などでも使えるはず。
  • 初版は VB初心者友の会 の、今は無き "テーマ掲示板2" に投稿したサンプルです。(2004/10/01)
  • 同じものを私の blog にも掲載していたのですが、yaplog! が 2020/01/31 にサービス終了を迎えて置き場が無くなっていたので、今回、GitHub Gist に再掲載してみました。
@Benshi
Benshi / @クライアント証明書の判定.md
Last active September 27, 2023 03:41
[C#] クライアント証明書の判定

certmgr.msc の「個人」にある証明書を列挙するには X509Certificate2Collection クラス を使う。
さらにそこから、個々の証明書の『目的』を得る実験的サンプル。

「クライアント認証」用の証明書を列挙するため、 X509KeyUsageExtension クラス を得るようにする。

Certificate Extensions は、X509Certificate2 オブジェクトに対して、 cert.Extensions[Oid] で得られる。
標準目的となる "Key Usage" の Oid は "2.5.29.15" で、
"Extended Key Usage" (EKU) の Oid は "2.5.29.37"

@Benshi
Benshi / 旧暦.md
Last active July 31, 2023 05:37
平成改元時の旧暦表記
  • 改元レジストリ:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras

平成改元は 1989/01/08 (平成元年1月8日)で、
その前日は 1989/01/07 (昭和64年1月7日)

旧暦の 1989/01/07 は昭和63年11月30日で、
旧暦の 1989/02/05 は平成元年1月1日。

では、1989/07/08~1989/12/05 (旧暦では 12月1日~12月29日)は、
旧暦では昭和63年なのか、それとも平成0年なのか?

@Benshi
Benshi / @wankuma102182.md
Last active July 18, 2023 01:04
csc.exe によるコンパイル例

csc.exe によるコンパイル例

No102182 (XP さん) 2023/07/17(Mon) 13:54:23

分類:[C#]

c#をやって見ようかと思いとりあえず インターネット上にあるソースコード をcsc.exeでコンパイルしたのですが、「エントリポイントにMainメソッドが含まれていない」と出ます
投げやりですがまず動作させてみたいのでどこに
何を書けば良いのか教えてください。

パソコン WindowsXP
言語 c#2.0

@Benshi
Benshi / Example.cmd
Last active July 18, 2023 00:36
Wankuma No102182
@CD /D %~dp0
@SET CSC=%WINDIR%\Microsoft.NET\Framework\v2.0.50727\csc.exe
@REM --- .NET Fraemwork 2.0 ---
%CSC% /t:winexe /out:FormTimer.exe /m:Sample.FormTimer *.cs
REM --- .NET Compact Fraemwork 2.0 ---
REM IF "%PROCESSOR_ARCHITECTURE%" EQU "x86" (
REM SET FAP="%ProgramFiles%\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE"
REM ) ELSE (
@Benshi
Benshi / @wankuma101896.md
Last active March 25, 2024 12:28
[C#]Edge で開かれているタブを閉じる

Visual Studio 2019 + C# で、Edge で開かれているタブを閉じるサンプル

元ネタ

  • No101896: Edgeで開かれているタブを指定の条件で閉じる
    at 2023/05/11(Thu) 17:10:21
    by 新米SE

メモ

  • (.NET Managed ではなく) COM 版の UIAutomationClient を用いたサンプルです。
  • error CS1752 が発生する場合は、ソリューション エクスプローラーで [参照]-[UIAutomationClient] を選択し、プロパティ一覧の中から 相互運用型の埋め込み を False にしてコンパイルしてください。
@Benshi
Benshi / Program.vb
Last active March 15, 2023 12:50
[C#] .NET 6 で、GetActiveObject を使って VS/Access/Word/Excel/PowerPoint で開いているドキュメントのパスを得る
// this code for .NET 6
using System;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
if (OperatingSystem.IsWindows())
{
// VS2022=17.0, VS2019=16.0, VS2017=15.0, VS2015=14.0, VS2013=12.0, VS2012=11.0, VS2010=10.0, VS2008=9.0, VS2005=8.0, VS2003=7.1, VS2002=7
foreach (var v in new []{ "", ".17.0", ".16.0", ".15.0", ".14.0", ".12.0", "11.0", ".10.0", ".9.0"})
{
@Benshi
Benshi / Program.cs
Created March 14, 2023 16:12
[C#] .NET 6 で、現在開いている Word/Excel/PowerPoint を列挙する
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using Word = Microsoft.Office.Interop.Word;
using Excel = Microsoft.Office.Interop.Excel;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
if (!OperatingSystem.IsWindows()) { throw new PlatformNotSupportedException(); }
@Benshi
Benshi / TreeViewEx.vb
Created January 25, 2023 08:58
[VB][WinForms] TreeView に Scroll イベントを追加する
Option Strict On
Imports System.ComponentModel
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
'<DefaultEvent(NameOf(TreeViewEx.Scroll))>
<DefaultEvent("Scroll")>
Public Class TreeViewEx
Inherits TreeView
@Benshi
Benshi / UserForm1.frm
Last active January 2, 2023 20:51
[VBA] UIAutomation の階層を列挙する
Option Explicit
'
' Excel VBA 向けのサンプル
' 下記の参照設定が必要です
' Microsoft Scripting Runtime (scrrun.dll)
' UIAutomationClient (UIAutomationCore.dll)
'
' UserForm1 に、下記のコントロールが必要です
' CommandButton1
' OptionButton1 , OptionButton2 , OptionButton3