流れるまにまに。

自分で学んだこととか、誰かに教わったこととか、誰かに教えたこととか。

C/C++

【C/C++】アプリのメモリ不足対策

32bitアプリで大きい画像ファイルを何枚も、newしたメモリに読み込んでたら、bad_allocで落ちました。 newなのでヒープ領域に展開するのだけど、ヒープ領域が足りなくなったのだろう。という結論に。ヒープの詳しい説明や活用は以下参考。 https://msdn.micr…

【C++】COMを使ってExcel操作をするアプリというかクラスというか

突如「C++でExcelを操作するアプリを作れ!」ということになったので、 作ってみた。 なんとなくもったいないから残しておく!! . C#とかVBでやろうとすると非常に簡単なのだけど、C++だと、COM周りが色々めんどくさいです。 MSに「MFC または #import を使…

【C++】HTTP通信で大きいサイズのファイルを分割して送る

HTTP通信で大きいサイズのファイルを分割してPOSTする方法。 普通にPOSTする分には問題なかったのだけど、 送信したいファイルの内容を一度メモリに展開してから送る!ってやってたら、 700MBくらいですっ飛んだので、修正。 巨大サイズのファイルを扱う時っ…

【Azure】AzureRMS APIを使用した暗号アプリを作成する

こっからの続き。 piyomanilife.hatenablog.com AzureRMS環境構築後、APIを使用してRMSのアプリを作成するメモです。 適当に暗号化するアプリを作るよ!! ちなみに、Azure RMSとか新し目の技術を使っておきながら、作るアプリケーションはC++でMFCです。\(…

【Azure】AzureRMS環境を構築する

AzureRMSを利用する機会があったので、メモ。個人でAzureRMSを使う人なんているのか不明だけど、使ってみると本当に面白い技術だな。と。 (というか、個人でActiveDirectory使うのってどんな場面だろう。。。) 普段クラウドも使わないし、サーバーだってまま…

【C++】マニフェストファイルの対応OS記載について【インストーラ】

InstallShieldにて、OSによってインストールするドライバを変える処理をInstall Script内で行っていました。 10対応で、10のみ新しいドライバをインストールする!ってなった時になんだかうまく動かなかったのでメモ。 Install Scriptはこんな感じ /////////…

【C/C++】引数ありコンストラクタの呼び出し

MFCアプリで、引数呼びしたのをダイアログの方に渡したかった。 -------AppDlg.cpp-----------------------//(色々略)CAppDlg::CAppDlg(const CString FilePath, CWnd* pParent /*=NULL*/) : CDialogEx(IDD_APP_DIALOG, pParent) , m_FilePath(_T("")){ m_hI…

【C/C++】ビット演算

ビット操作用のメモ。 FLAG1=0x1 FLAG2=0x2 FLAG3=0x4 FLAG4=0x8フラグ状態はStatus・フラグ立て(1を立てる) Status |= FLAG1;・フラグ落とし(1をおとす) Status &= ~FLAG1;・フラグ確認(1があるか確認) if(Status & FLAG1)

【C/C++】レジストの削除について

レジストリキーの削除について レジストリキーの消し方(というか関数)は3パターン ・RegDeleteKey ・RegDereteKeyEx ・SHDeleteKey それぞれの違いについてちょっと分かったこと。・RegDeleteKey MSDNにも書いてあるように、サブキーもレジストリエントリも…

【C/C++】BOM付きUnicode16の判定とファイルの読み込み

.regファイルの中にほしい情報("{”から始まるGUID)がないかサーチするのに以下を使用。 そしたら.regが(BOM付き)Unicode16でうまく読み込んでくれなかったよ。 BOM付きとか誰が作るのよ・・・・。 ※一行ずつ読んで、”{”から始まる文字列を取得。 →Guidか調査…

【C/C++】OSのバージョン取得

VS2015でとあるアプリを作成してた時、 最初のチェックでOSがXP以外をはじく処理が必要でした。 気にせずいつも通りGetVersionExを使用したら、警告が。。。 1>hoge.cpp(57): warning C4996: 'GetVersionExW': が古い形式として宣言されました。 1> c:\progr…