Windows 環境で、なるべく小さい実行ファイルサイズで、ちょっとしたファイル操作を行いたいと思い、C 標準ライブラリを中心に、パスの取得やフォルダの作成、ファイルサイズの取得、データの書き込みといったあたりを調べました。
ちょっとしたデータ操作により、jpg ファイルや png ファイル、mp4 動画ファイルなどを簡易的に暗号化するようなコードも追加してみましたので、ご参考になれば。
「C 言語で超シンプルなファイル操作」に書いています。
Windows 環境で、なるべく小さい実行ファイルサイズで、ちょっとしたファイル操作を行いたいと思い、C 標準ライブラリを中心に、パスの取得やフォルダの作成、ファイルサイズの取得、データの書き込みといったあたりを調べました。
ちょっとしたデータ操作により、jpg ファイルや png ファイル、mp4 動画ファイルなどを簡易的に暗号化するようなコードも追加してみましたので、ご参考になれば。
「C 言語で超シンプルなファイル操作」に書いています。
Visual C++ で作成した独自のクラスを dll で提供すれば、そのソースコードを外部に公開することを防げるのではないでしょうか?
自分で使う場合でも、いちいち多くのヘッダーやソースファイルをプロジェクトに追加するのも面倒な上、うっかりそこで編集してしまうと整合性も取れなくなりますね。
まあ、どういう理由であれ、実行フォルダにたくさんの .dll を置く必要がでてくるのは良くありませんが、できる、ということは重要ではないでしょうか。
「C/C++ クラスを dll として提供する」で検討しています。
Visual C++ で作成した独自のクラスを lib で提供すれば、そのソースコードを外部に公開することを防げるのではないでしょうか?
自分で使う場合でも、いちいち多くのヘッダーやソースファイルをプロジェクトに追加するのも面倒な上、うっかりそこで編集してしまうと整合性も取れなくなりますね。
まあ、どういう理由であれ、うまくいけば将来的な可能性が高まりそうです。
「C/C++ クラスを lib として提供する」で検討しています。
Windows プログラム(実行ファイル、拡張子 exe)およびダイナミック・リンク・ライブラリ(拡張子 dll)が、32 ビットなのか、64 ビットなのかを判定するユーティリティを、だいぶ前に「32/64 ビット EXE/DLL チェッカー」として公開しました。
この場合、チェックされているとはいえ、ユーティリティプログラムをダウンロードして実行するというのは、面倒ですし、一般的には危険ですので、本文中でも詳しく書いていますが、そのもののダウンロードはあまりおすすめしていませんでした。
今回、JavaScript 版をリリースしましたので、ダウンロードすることなく、ウェブ上で、exe や dll のビット数を判断できることになりました。このほうが明らかに便利な上、JavaScript コードの解説もありますので、少なくとも安全性は高いと言えます。
「JS 版 32/64 ビット EXE/DLL チェッカー」をご覧ください。
Windows 10 Home のノート PC で、いつものように紙の資料をスキャンして保存し、 確認のためスキャンした画像を確認しようと、JPEG ファイルをダブルクリックしたところ、 「もう少しお待ちください」と表示され、フォトアプリが起動されてなくなっていました。
画像ファイルに問題はなく、ペイントでは開けますが、フォトと同じように、ペイント3Dも起動できなくなっていました。
状況を調べ、解決した様子を書いていますので、「フォトやペイント3Dを起動できない」をご覧ください。
Windows 用デスクトッププログラムを開発していると、それが 32 ビットであるか、64 ビットであるかは、多くの場合は気にする必要がありません。
ただ、32 ビットのプログラムからは 32 ビットの DLL しか呼び出すことはできません。プログラムを 64 ビットで作成しても、32 ビットの DLL は呼び出せません。
実行ファイルや DLL が、32 ビットで作成されたものか、64 ビットで作成されたものかを判定する方法を調べ、ユーティリティを作成しましたので、詳しく書いています。
また、自分が 32 ビット OS で動作中なのか、64 ビット OS で動作中なのかを判断する方法についても検討しています。
詳しくは「32/64 ビット EXE/DLL チェッカー」をご覧ください。
Windows ソフト開発です。
欲しくなる頻度が低く、その手順を忘れてしまいがちな、プレーンテキストをクリップボードに入れる方法と、画像データをクリップボードに入れる方法をまとめています。
画像データがクリップボードにあるかどうかを調べ、それを CImage クラスに(実際はビット列と同じですが)取り出すのは、多少面倒でした。
「クリップボードにテキストや画像を入れる」に、コードを記載しています。
ある時、Windows 10 をシャットダウンするとき、Task Host Window が終了せず、強制シャットダウンせざるを得なくなりました。
Windows の設定により、この状況を回避し、正常にシャットダウンできるようになりましたので、その方法を書いています。
「Task Host Window がシャットダウンを妨げる」をご覧ください。
Windows 7 のサポート終了が近づき、Windows 10 対応も最終盤を迎えています。
プログラムを調べたり、環境を作成したりしていると、実行ファイル(.exe)や dll が 32 ビットでビルドされたものなのか、64 ビットでビルドされたものなのか、わからなくなることがあり、判定ツールを作成しました。
「32/64 ビット EXE/DLL チェッカー」のページに、判定方法とツールのダウンロード・リンク、ついでに自分が 64 ビット OS で動作中かを判定する関数を公開しています。
新しい 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 を更新するつもりです。