Windowsプログラミング

icon 項目のみ表示/展開表示の切り替え

アルゴリズム

Vitual C++ 2008/2013によるWin32/Win64 APIレベルのプログラム 基礎

各ページに点在していたAPIの使い方をVisual C++ 2008/2013ベースで以下のページに逐次整理しております。
Win32/Win64 APIベースのプログラム(Visual C++) 2019/01/12

Vitual C++ 2008/2013によるAPIレベルのプログラム(32/64bit)

Visual C++ 2008 Standard/Express,2013 Expressを対象としています。添付している実行ファイルはXPでの実行を考慮してVisual C++ 2008の32bit実行ファイル又はVisual C++ 2013でXP互換でコンパイルしています。

Windows Media SDK

WMAファイルのアルバムアートが変更できない・削除できない時の対処方法(Windows7 + Windows Media Player 12) H26.05.08
ドラッグ&ドロップされた複数のWMAファイルの画像を削除するGUIプログラム(32/64bit) H26.05.07
ドラッグ&ドロップされた複数のWMAファイルの画像を変更するGUIプログラム(32/64bit) H26.05.07
ドラッグ&ドロップされたWMAファイルのタイトル等・画像の表示・変更・保存をするGUIプログラム(32/64bit) H26.05.07
CSVファイルを元に複数のWMAファイルのタイトル等を一括変換するGUIプログラム(32/64bit) H26.05.07
複数のWMAファイルアーティスト名・タイトルをCSVファイルに出力するGUIプログラム(32/64bit) H26.05.18
ドラッグ&ドロップされたWMAファイルの画像を表示および保存する。(32/64bit) H26.05.07
WMAファイルアーティスト名・タイトルの一括編集GUIプログラム(32/64bit) H26.05.07
WMAファイルアーティスト名・タイトル等の編集GUIプログラム(32/64bit) H26.05.07
複数のWMAファイルアーティスト名・タイトル変更GUIプログラム(32/64bit) H26.05.07

GDI+

コマンドプロンプト上でjpegファイルをクリッピング(多角形,楕円,曲線)して保存するプログラム(GDI+)(32/64bit)2016/07/27
コマンドプロンプト上でjpegファイルをトリムして保存するプログラム(GDI+)(32/64bit)2016/07/26
マンデルブロ C++ Version 2.3 32bit 計算部はアセンブラ(FPU,SSE,SSE2,AVX)2020/11/01
jpgファイルを拡大縮小表示・スライドショー(32/64bit) H26.06.07
jpgファイルを拡大縮小表示(32/64bit) H26.06.07
GDI+によりjpgファイルをメモリ上に描画しウィンドウに転送するプログラム(32/64bit) H26.06.06
メモリ上に読み込まれたjpgファイルのイメージをGDI+でウィンドウに表示する標準的なソース(32/64bit) 2016/07/23
複数のJpegファイルのサイズを変更するGUIプログラム(32/64bit) H26.05.07

一般

Windows10高DPIに対応

アクティブウィンドウのスクリーンショットを一定間隔で保存する 2018/11/27
複数のjpgファイルを精密にトリムするプログラム 2018/11/27
複数のjpgファイルを左右に分割するプログラム 2018/11/27
CPUの物理CPU数・ソケット数等を取得cpuidview(32/64bit) 2020/11/01
WMIを使用してディスプレイサイズ,接続方法を取得(Windows 10高DPI対応) H30.11.16
テキストファイルをHTMLのpreタグに対応した書式に変換するGUIプログラム(32/64bit) H30.11.16
pingテスト及びmacアドレス・ホスト名・ベンダー名の取得2 GUI版(32/64bit) H30.11.16

その他

再生デバイスの一覧とボリュームの取得2018/12/24
マスタボリュームのミュートの状態を取得・変更2018/12/24
マスタボリュームの音量の変更2018/12/19
Windows 10のバージョン番号をRtlGetVersionのビルド番号から取得する2018/11/10
Windows 10のバージョン番号をレジストリから取得する 2018/11/10
WMIを使用してディスプレイ名と製造者名を取得 2018/11/10
WMIを使用してディスプレイの接続方法を取得 2018/11/10
WMIを使用してディスプレイサイズ,接続方法を取得 2018/11/10
WMIを使用してディスプレイのデバイス名を取得 2018/11/10
COMポートの一覧を表示・プロパティの変更及びポートの選択をする(ダイアログボックス版) 2017/09/11
コマンドプロンプト上でインターネット上のファイルの有無、サイズ、日時を取得する(32/64bit) 2016/07/24
コマンドプロンプトでショートカットを作成する(32/64bit) 2016/07/24
コマンドプロンプトを子ウィンドウ化する H27.12.15
VirtualBox仮想マシン名の一覧を取得 H27.12.10
スタートメニューからVisual C++のコマンドプロンプトを抽出し指定したコマンドを実行する H27.04.19
メールの一覧を取得(USER/PASS認証) H27.03.10
メールの一覧を取得(APOP認証) H27.03.10
キー名・エントリー名を指定してレジストリを読出しデータ値を標準出力に表示するH27.01.01
キー名を指定してレジストリを読出しサブキー・エントリー・データを標準出力に一覧表示するH27.01.01
メールの送信テスト(CRAM_MD5認証) H26.11.30
メールの送信テスト(PLAIN認証) H26.11.30
Base64エンコード・デコード H26.11.30
CPUの物理CPU数・ソケット数等を取得cpuid4(32/64bit) H26.11.26
HMAC_MD5ハッシュを計算(Cryptography API) H26.11.25
MD5ハッシュを計算(Cryptography API) H26.11.24
MD5ハッシュを計算 H26.11.24
UNLHA32.DLLを使用した基本的な圧縮・解凍のサンプルプログラム(32bit) H27.10.24
マンデルブロ C++ Version 2.1 32bit 計算部はアセンブラ(FPU,SSE,SSE2,AVX) H26.10.22
CPUの物理CPU数・ソケット数等を取得(32/64bit) H26.10.18
カレントスレッドのCPUを固定してプログラムを実行(32/64bit) H26.10.11
スレッドを作成しCPUを固定して実行(32/64bit) H26.10.11
全CPUの使用率を100%にする(32/64bit) H26.10.11
任意のCPUにスレッドを割り付ける(32/64bit) H26.10.11
CPUがサポートしているSIMD(MMX,SSE,SSE2,SSE3,SSE3,AVX,AVX2)とWindowsのサポート状況を表示(32/64bit) 2017/05/21
インターネット上のファイルの有無、サイズ、日時を取得する(32/64bit) 2016/07/24
Windowsのバージョンを表示(VerifyVersionInfo版) H26.09.03
WindowsとIEのバージョンを表示(Windowsはエディション,ビルド番号表示対応) H26.08.27
ショートカットのリンク先を一括変換する(32/64bit) H26.08.27
COMを使用してショートカットのリンク先を取得する(32/64bit) H26.08.24
COMを使用してショートカットを作成する(32/64bit) 2016/07/24
システムクロック(時計の速度)を調整するプログラム(32/64bit) H26.07.23
pingテスト及びmacアドレス・ホスト名の取得(32/64bit) H26.07.21
MIDIによる簡単な音の発生(32/64bit) H26.07.18
インタネットからのファイルの取得(BASIC認証サポート)(32/64bit) H26.07.13
CopyFileExを使用した状況表示付きフォルダー・ファイルコピー(32/64bit) H26.06.22
CopyFileExを使用した状況表示付きファイルコピー(32/64bit) H26.06.17
フォルダー内のフォルダ・ファイル名に含まれる全角文字列を半角に変換するGUIプログラム(32/64bit) H26.05.07
ファイルのドラッグ&ドラップのサンプルプログラム(32/64bit)H26.05.07
RtlGetVersion APIによりWindowsバージョンを取得(Windows 10に対応)H27.03.26
RtlGetVersion APIによりWindowsバージョン及びOS名を取得(Windows 10に対応)H27.03.26

MSHTML

MSHTMLを使用してクラス名又はidが一致するdivタグを抽出しその中に含まれるリンク先の日時を取得(divは入れ子対応 32/64bit) H26.09.17
MSHTMLを使用してクラス名d2のdivタグの中身を取得(32/64bit) H26.09.07
MSHTMLを使用してbodyタグ内のソースを得る(32/64bit) H26.08.15
MSHTMLを使用してaタグを取得(32/64bit) H26.08.15
MSHTMLを使用して特定のidのaタグを取得(32/64bit) H26.08.15
MSHTMLを使用して特定のidのtabelを取得(32/64bit) H26.08.15

OpenCV 2.3.1/2.4.10

OpenCVを使用してjpgファイルを表示する H27.01.18
OpenCVを使用してjpgファイルの顔認識をする H27.01.18
OpenCVを使用してカメラの撮影画像をキャプチャする H27.01.18
OpenCVを使用してカメラの撮影画像をキャプチャし保存する H27.01.18
OpenCVを使用してカメラの撮影画像をキャプチャしjpgファイルに保存する H27.01.18
OpenCVを使用して2つのjpgファイルを1つのウィンドウの中に横に並べて表示する H27.01.18
OpenCVを使用して2つのカメラの動画をキャプチャして横に並べて表示 H27.01.18
OpenCVを使用してjpgファイル(画像の横幅は4の倍数に限定)を読み込みGDIで表示する H27.01.18
OpenCVを使用してjpgファイル(画像の横幅は4の倍数に限定されない)を読み込みGDIで表示する H27.01.18
OpenCVを使用してjpgファイル(画像の横幅は4の倍数に限定されない)を読み込みGDIで表示しさらにMat型に変換する H27.01.18

DirectShow

DirectShowを使用してカメラ名をリストボックスに表示しカメラの選択結果を表示する H27.01.18
DirectShowを使用してカメラ名と解像度をリストボックスに表示しカメラと解像度の選択結果を表示する H27.01.18
DirectShowを使用してカメラ名と解像度の一覧を取得する H27.01.18

Winsock

Wake On Lan パケット送信プログラム H27.08.17
FTPプロトコル(パッシブモード) H27.05.17
FTPサーバへパッシブモード接続しLISTコマンドを実行する(Winsock) H27.05.17

OpenSSL

OpenSSL1.0.2aをVisual C++ 2008/2013で使用する H27.04.19
メールの一覧を取得(POP3 over SSL) H27.04.10

Visual C++ 2013とアセンブラの併用

Visual C++ 2013とアセンブラの併用(64bit) H27.06.17

デバイスドライバ

IOポートを操作するデバイスドライバ(32bit)を作成しBEEP音を制御する H27.06.28
IOポートを操作するデバイスドライバ(64bit)を作成しBEEP音を制御する H27.06.28
MSRレジスタを読み込むデバイスドライバ(32bit)を作成しIntel CPUのコア温度を表示する H27.06.28
MSRレジスタを読み込むデバイスドライバ(64bit)を作成しIntel CPUのコア温度を表示する H27.06.28
デバイスドライバをインストール・アンインストールするプログラム H27.06.28
署名がないドライバをインストールする方法 H27.06.28

Wix3でインストーラーを作る

インストーラーの作成(Wix3) H25.03.17サンプルの追加

Visual C++ 2008 Standard Editonによるフォームアプリケーションのプログラム(32/64bit)

Vitual C++ 2008 Standard EditonによるAPIレベルのプログラム(32/64bit) Windows 7対応

Visual C++ 2008 ExpressによるAPIレベルのプログラム

株漬キラーVersion2.2.0.12 H27.02.22読込み部の修正
株漬キラーVersion2.2.0.11 H27.01.09Vectorで公開
CPUID表示プログラム H26.10.20Celeron G1620を追加
株漬キラーVersion2.2.0.11 H26.12.30読込み部の修正等
株漬キラーVersion2.2.0.10 H26.07.23バージョン表記の修正
株漬キラーの不都合等の情報 H26.06.30
株漬キラーVersion2.210α H26.06.27  H26年6月25日より読み込みができないのでプログラムを修正
株漬キラーVersion2.209 H26.06.17  正式リリース
株漬キラーVersion2.209α H26.05.24  H26年5月中旬より読み込みができないのでプログラムを修正
株漬キラーVersion2.208 H25.07.21  Windows 7 32/64bitに対応

Visual C++ 2005 ExpressによるAPIレベルのプログラム

基礎

簡単なC++ソース集(API) H27.09.13

アプリケーション

指定したurlからファイルを取得する(ANSI版、Unicodeではコンパイルできない) H18.9.9
指定したurlからファイルを取得する(fgetsの様に行単位で取得)(ANSI版、Unicodeではコンパイルできない) H18.9.10
GDI+を使用しjpg画像ピクセルサイズによりフォルダーに分類するH19.11.23
GDI+を使用しjpg画像ピクセルサイズにより縦長と横長画像を分類する H19.11.23
CPUID表示プログラム(ANSI版、Unicodeではコンパイルできない) H19.11.23
jpgファイルスライドショーVersion 0.100 H19.08.01 マルチモニターの全画面表示、モニター数に応じて同時に複数のjpgファイルを表示できるようにした。
マルチシャットダウンタイマーVersion 1.000 H19.09.30シャットダウンする時間を複数指定できるタイマー
Visual C++ 2005 Express Platform SDK設定プログラム Version 1.00 H19.11.24
各社の決算情報をYahoo!ファイナンスより取得する(VisualC++ 2005) H19.04.16 Yahoo!側のページの構成が変わったので呼び出せなくなった。
ロータリーエンジン駆動アナログ時計web内のページの位置を移動

Visual C++ Versiosn 5

BORLAND C++

Windowsプログラム全般

Excel VBA

Excelの指定した文字列のテキストボックス(図形)を削除する(VBA)H26.11.15
Excelの図形を全部削除する(VBA)H26.11.15
Excel半角カタカナを全角カタカナへ変換する(VBA,ユーザー定義関数)H25.05.12
Excel(ユーザーフォームなど)H15.12.24

その他