C/C++
32bitアプリで大きい画像ファイルを何枚も、newしたメモリに読み込んでたら、bad_allocで落ちました。 newなのでヒープ領域に展開するのだけど、ヒープ領域が足りなくなったのだろう。という結論に。ヒープの詳しい説明や活用は以下参考。 https://msdn.micr…
突如「C++でExcelを操作するアプリを作れ!」ということになったので、 作ってみた。 なんとなくもったいないから残しておく!! . C#とかVBでやろうとすると非常に簡単なのだけど、C++だと、COM周りが色々めんどくさいです。 MSに「MFC または #import を使…
HTTP通信で大きいサイズのファイルを分割してPOSTする方法。 普通にPOSTする分には問題なかったのだけど、 送信したいファイルの内容を一度メモリに展開してから送る!ってやってたら、 700MBくらいですっ飛んだので、修正。 巨大サイズのファイルを扱う時っ…
こっからの続き。 piyomanilife.hatenablog.com AzureRMS環境構築後、APIを使用してRMSのアプリを作成するメモです。 適当に暗号化するアプリを作るよ!! ちなみに、Azure RMSとか新し目の技術を使っておきながら、作るアプリケーションはC++でMFCです。\(…
AzureRMSを利用する機会があったので、メモ。個人でAzureRMSを使う人なんているのか不明だけど、使ってみると本当に面白い技術だな。と。 (というか、個人でActiveDirectory使うのってどんな場面だろう。。。) 普段クラウドも使わないし、サーバーだってまま…
InstallShieldにて、OSによってインストールするドライバを変える処理をInstall Script内で行っていました。 10対応で、10のみ新しいドライバをインストールする!ってなった時になんだかうまく動かなかったのでメモ。 Install Scriptはこんな感じ /////////…
MFCアプリで、引数呼びしたのをダイアログの方に渡したかった。 -------AppDlg.cpp-----------------------//(色々略)CAppDlg::CAppDlg(const CString FilePath, CWnd* pParent /*=NULL*/) : CDialogEx(IDD_APP_DIALOG, pParent) , m_FilePath(_T("")){ m_hI…
ビット操作用のメモ。 FLAG1=0x1 FLAG2=0x2 FLAG3=0x4 FLAG4=0x8フラグ状態はStatus・フラグ立て(1を立てる) Status |= FLAG1;・フラグ落とし(1をおとす) Status &= ~FLAG1;・フラグ確認(1があるか確認) if(Status & FLAG1)
レジストリキーの削除について レジストリキーの消し方(というか関数)は3パターン ・RegDeleteKey ・RegDereteKeyEx ・SHDeleteKey それぞれの違いについてちょっと分かったこと。・RegDeleteKey MSDNにも書いてあるように、サブキーもレジストリエントリも…
.regファイルの中にほしい情報("{”から始まるGUID)がないかサーチするのに以下を使用。 そしたら.regが(BOM付き)Unicode16でうまく読み込んでくれなかったよ。 BOM付きとか誰が作るのよ・・・・。 ※一行ずつ読んで、”{”から始まる文字列を取得。 →Guidか調査…
VS2015でとあるアプリを作成してた時、 最初のチェックでOSがXP以外をはじく処理が必要でした。 気にせずいつも通りGetVersionExを使用したら、警告が。。。 1>hoge.cpp(57): warning C4996: 'GetVersionExW': が古い形式として宣言されました。 1> c:\progr…