小さい実行ファイルでファイルを操作

Windows 環境で、なるべく小さい実行ファイルサイズで、ちょっとしたファイル操作を行いたいと思い、C 標準ライブラリを中心に、パスの取得やフォルダの作成、ファイルサイズの取得、データの書き込みといったあたりを調べました。

ちょっとしたデータ操作により、jpg ファイルや png ファイル、mp4 動画ファイルなどを簡易的に暗号化するようなコードも追加してみましたので、ご参考になれば。

C 言語で超シンプルなファイル操作」に書いています。

C/C++ クラスを dll として提供する

Visual C++ で作成した独自のクラスを dll で提供すれば、そのソースコードを外部に公開することを防げるのではないでしょうか?

自分で使う場合でも、いちいち多くのヘッダーやソースファイルをプロジェクトに追加するのも面倒な上、うっかりそこで編集してしまうと整合性も取れなくなりますね。

まあ、どういう理由であれ、実行フォルダにたくさんの .dll を置く必要がでてくるのは良くありませんが、できる、ということは重要ではないでしょうか。

C/C++ クラスを dll として提供する」で検討しています。

C/C++ クラスを lib として提供する

Visual C++ で作成した独自のクラスを lib で提供すれば、そのソースコードを外部に公開することを防げるのではないでしょうか?

自分で使う場合でも、いちいち多くのヘッダーやソースファイルをプロジェクトに追加するのも面倒な上、うっかりそこで編集してしまうと整合性も取れなくなりますね。

まあ、どういう理由であれ、うまくいけば将来的な可能性が高まりそうです。

C/C++ クラスを lib として提供する」で検討しています。

JS 版 32/64 ビット EXE/DLL チェッカー

Windows プログラム(実行ファイル、拡張子 exe)およびダイナミック・リンク・ライブラリ(拡張子 dll)が、32 ビットなのか、64 ビットなのかを判定するユーティリティを、だいぶ前に「32/64 ビット EXE/DLL チェッカー」として公開しました。

この場合、チェックされているとはいえ、ユーティリティプログラムをダウンロードして実行するというのは、面倒ですし、一般的には危険ですので、本文中でも詳しく書いていますが、そのもののダウンロードはあまりおすすめしていませんでした。

今回、JavaScript 版をリリースしましたので、ダウンロードすることなく、ウェブ上で、exe や dll のビット数を判断できることになりました。このほうが明らかに便利な上、JavaScript コードの解説もありますので、少なくとも安全性は高いと言えます。

JS 版 32/64 ビット EXE/DLL チェッカー」をご覧ください。

フォトやペイント3Dを起動できない

Windows 10 Home のノート PC で、いつものように紙の資料をスキャンして保存し、 確認のためスキャンした画像を確認しようと、JPEG ファイルをダブルクリックしたところ、 「もう少しお待ちください」と表示され、フォトアプリが起動されてなくなっていました。

画像ファイルに問題はなく、ペイントでは開けますが、フォトと同じように、ペイント3Dも起動できなくなっていました。

状況を調べ、解決した様子を書いていますので、「フォトやペイント3Dを起動できない」をご覧ください。

 

32/64 ビット EXE/DLL チェッカー

Windows 用デスクトッププログラムを開発していると、それが 32 ビットであるか、64 ビットであるかは、多くの場合は気にする必要がありません。

ただ、32 ビットのプログラムからは 32 ビットの DLL しか呼び出すことはできません。プログラムを 64 ビットで作成しても、32 ビットの DLL は呼び出せません。

実行ファイルや DLL が、32 ビットで作成されたものか、64 ビットで作成されたものかを判定する方法を調べ、ユーティリティを作成しましたので、詳しく書いています。

また、自分が 32 ビット OS で動作中なのか、64 ビット OS で動作中なのかを判断する方法についても検討しています。

詳しくは「32/64 ビット EXE/DLL チェッカー」をご覧ください。

クリップボードにテキストや画像を入れる

Windows ソフト開発です。

欲しくなる頻度が低く、その手順を忘れてしまいがちな、プレーンテキストをクリップボードに入れる方法と、画像データをクリップボードに入れる方法をまとめています。

画像データがクリップボードにあるかどうかを調べ、それを CImage クラスに(実際はビット列と同じですが)取り出すのは、多少面倒でした。

クリップボードにテキストや画像を入れる」に、コードを記載しています。

Task Host Window がシャットダウンを妨げる

ある時、Windows 10 をシャットダウンするとき、Task Host Window が終了せず、強制シャットダウンせざるを得なくなりました。
Windows の設定により、この状況を回避し、正常にシャットダウンできるようになりましたので、その方法を書いています。

Task Host Window がシャットダウンを妨げる」をご覧ください。

実行ファイルや DLL が 32 ビットか 64 ビットかを調べるツールを公開

Windows 7 のサポート終了が近づき、Windows 10 対応も最終盤を迎えています。

プログラムを調べたり、環境を作成したりしていると、実行ファイル(.exe)や dll が 32 ビットでビルドされたものなのか、64 ビットでビルドされたものなのか、わからなくなることがあり、判定ツールを作成しました。

32/64 ビット EXE/DLL チェッカー」のページに、判定方法とツールのダウンロード・リンク、ついでに自分が 64 ビット OS で動作中かを判定する関数を公開しています。

Win10 64bit VS2015 で Android App のビルドを行えるようにする

新しい Windows 10 Pro 64bit に、Visual Studio 2015 をインストールし、クロスプラットフォーム開発で Android ネイティブアプリをビルドするための環境を作成する手順を、まとめなおしました。

初期状態では Visual Studio から Android SDK Manager すら起動できませんでした。Java の JDK をインストールし、パスを設定し、Android SDK Manager が起動できるようにして、SDK の更新までを行っています。

Android App ビルド環境の構築(Win10/VS2015/Java 編)」です。

次は Android NDK、Apache Ant、そして Clang を更新するつもりです。