VC
実装方法としては、 ・ディレクトリの中のファイルをコピーする処理を作成する方法 ・シェル関数を用いる方法 の2つの実現実装方法があります。API版 BOOL CopyDirectory( LPCTSTR lpExistingDirectoryName, LPCTSTR lpNewDirectoryName ) { // 入力値チェ…
Windows API の GetUserName関数 を使えばいいようです。 //現在のユーザ名取得 TCHAR user[1024]; DWORD dwUserSize; // 取得したユーザ名の文字列の長さ if ( ! GetUserName(user,&dwUserSize) ){ return -1; } MessageBox(NULL,user,_T("ユーザ名"),MB_OK…
名前変えないと、結局前作ったハンドルが返ってくる。サイズも変わってない。プロセスを落とすまでそうなるらしい。 ひょっとして、同じ名前(今回の場合は、"MAPFILE")で 異なるサイズのオブジェクトを作成しようとしたりしていませんか?ネタ元 http://hp…
BOOL MoveFile( LPCTSTR lpszOld, LPCTSTR lpszNew ) LPCTSTR lpszOld; // 移動/リネームするファイルのアドレス LPCTSTR lpszNew; // 移動/リネーム後のファイルのアドレス // 引数の設定 lpszOld = _T("C:\\sample.txt"); lpszNew = _T("C:\\test.txt");…
…って作った後に参照キャプチャ/コピーキャプチャの存在を知った。 意味ない努力したけどメモ代わりに書いておく。 // ラムダ式受け取る側 #include <functional> ... BOOL Choge::CallFunc(std::function<BOOL(void*)> func,void* p_param){ .... //関数コール BOOL result = func(p_</bool(void*)></functional>…
リンカ設定の詳細で データ実行防止(DEP)で「いいえ」を選択する。ネタ元 http://www.mitsubishielectric.co.jp/fa/document/technews/plc/fa-d-0051/fad0051d.pdf
基本的な流れ http://computer.shipweb.jp/soft/dotnettips_wininst.htm DLLをCOM登録するにはプロパティでvsdrfCOMSelfReg指定。 http://www.freeml.com/msi/2028/latest マネージドDLLはvsdrfCOMじゃないとエラーになったよ。そういうもの? 作成されるシ…
うーむ。そうなのか・・・ WindowsVistaだと、管理者権限のないユーザーでログインしてWindowsアプリケーション を起動すると、CreateFileMapping関数がERROR_ACCESS_DENIED(アクセス拒否)で失敗し ます。 管理者権限のないユーザーでログインしていると、…
ネタ元 http://ir9.jp/prog/ayu/win32err.htm
初期サイズを定義する SetAtではなく[]を使う 不得意分野では使わない 単純にすべてを羅列するような使い方の場合はCMapではなく、CArrayなどを検討したほうがいいです。 ネタ元 http://www.mfc-programming.com/2010/etc/mfc248.html
CMap< int, int, MY_STRUCT, MY_STRUCT& > myMap1;この例は MY_STRUCT 値を格納し、 int のキーにアクセスし、参照によって MY_STRUCT のアクセスされた項目を返します。 CMap< CString, LPCTSTR, CPerson, CPerson& > myMap2;この例では CPerson 値を格納し…
MSG msg; if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } }ネタ元 http://www.softist.com/programming/doevents/doevents.htm http://rarara.cafe.coocan.jp/cgi-bin/lng/vc/vclng.cgi?print+20…
[vc][mfc] CFileFind find; if(find.FindFile(tmpFilepath)) { find.FindNextFile(); CTime updateTime; find.GetLastWriteTime(updateTime); find.Close(); } ネタ元 http://oissu2.blog77.fc2.com/blog-entry-28.html
[VC]そのコンピュータで唯一の資源をアクセスするための排他には"Global\\"をつけたグローバルミューテックスにする必要がある。 ミューテックスの名前としてアプリケーション固有の名前を指定する。 その際、その名前の先頭に「Global\」というプレフィック…
[VC][VB][COM]どうも内部はdoubleの値となっているようで、それを渡せればOKみたい。 #include "ATLComTime.h" … DISPPARAMS params; ::memset(¶ms, 0, sizeof(DISPPARAMS)); params.cNamedArgs = 0; params.rgdispidNamedArgs = NULL; params.cArgs = 1…
最初 Win8.1PCにインストールしたので気が付かなかったが、Win7では制限がかかることがあるらしい。 Windows 7にVS2013をインストールしようとして軽くはまる こっちからダウンロードしたやつならWin7PCでも問題なかったよ。http://www.microsoft.com/ja-jp/…
// BSTR to C String BSTR bstrStart; bstrStart = GetBSTR(); TCHAR szFinal[255]; // direct conversion from BSTR to LPCTSTR only works // in Unicode _stprintf(szFinal, _T("%s"), (LPCTSTR)bstrStart); AfxMessageBox(szFinal); _bstr_t bstrInterme…
消えると困るのでコピペ コピペ元 http://satoshi.web5.jp/memo/connect_dll.htm##2 ======================================== VB.NET DLL側のプログラム プロジェクト名は vb_dllでクラスライブラリ作成( vb_dll.dllがビルドされる )プロジェクト → vb_d…
メモ書きです。 BSTRか・・・呼び出し側がSysAllocString()で領域確保 DLLの関数側でセットして返す、なんて使い方。最後には呼び出し側がSysFreeString()する必要あるよ http://msdn.microsoft.com/ja-jp/library/xda6xzx7(v=vs.90).aspx http://www2.wbs.n…
なんかMicrosoft Visual Studio 2013 Professional 日本語版が15,800円とかなんですけど…。 http://www.dlsoft.info/index.php?route=product/product&keyword=visual&product_id=139 お値段の秘密はこちら。 http://www.dlsoft.info/index.php?route=inform…
[vc] const CString strDate = _T("2011/02/01 00:00:00"); COleDateTime oleTime; oleTime.ParseDateTime(strDate);これで oleTime に結果が入る。この COleDateTime は CTime にそのまま代入可能...って書いてあったけど嘘くさい。 ネタ元 http://sphere42…
[VC][開発] よくサンプルで CoInitializeとCoUninitializeで処理を挟んだサンプルがあるが、プロセスの最初と最後に呼ぶだけでいいらしい。特にマルチスレッドの場合は要注意なのだそうだ。 ネタ元 プログラム終了時にCOMが消えずにメモリリークする
こんな感じで工夫失いと消せない。 #ifndef _DEBUG #define OutputDebugStringA(x) ((void)0) #define OutputDebugStringW(x) ((void)0) #endif ネタ元 http://blogs.konuma.org/blog/2010/06/outputdebugstri/
こんな感じ if ((GetKeyState(VK_CONTROL) & 0x8000)) { TRACE("ctrlキー押下!\r\n"); } else { TRACE("ctrlキー押下しない!\r\n"); }ネタ元 http://www.softist.com/programming/keystate/keystate.htm
[vc] 32bitアプリケーション(プロセス)の仮想メモリ使用量は、通常2GBだけど/LARGEADDRESSAWARE オプションで 32bitOS上では、LARGEADDRESSAWAREモードにより、1:3にすることができるため、上限が3GBにできる。 64bitOS上では、LARGEADDRESSAWAREモードに…
[C#][VC][MFC]消えると困るのでコピペ MFC/C# – C#で作成したクラスライブラリをMFCで利用する 基本 COMを利用してMFCからC#のクラスを利用する C#側 [準備] 1.プロジェクトプロパティ>ビルド 「COM相互運用機能の登録」にチェックを入れる ※自分でregasmを…
[vc]アイコンファイル(*.ico)をつくって、もとあるやつに上書きするiconは256x256,48x48,16x16で32bitのPNGの絵を@icon変換とかでicoファイルにする。フリーのicoはhttp://icones.pro/とかでも拾えるよ ネタ元 http://sorceryforce.com/visualstudio/execute…
[VC]検索するとサイトが死んでいるがキャッシュで生きてるページがあったのでメモ スプラッシュウィンドウを表示してプログラムを起動する (VC++) 実行モジュール (サンプル設定ファイル等付き) (Bootup.zip) (978 KB) ソース (Bootup.project.zip) (231 KB)
[VC]普通にデバッグモードで実行すれば、こんな定義しなくても勝手にメモリリーク教えてくれるような・・・。おれの知らないところでだれかがなにか細工してくれているのかな? フラグ 説明 _CRTDBG_ALLOC_MEM_DF デバッグ用のヒープメモリが使われるように…
MFC WinInet クラスを使用する場合 CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded"); // URL-encoded form variables - // name = "John Doe", userid = "hithere", other = "P&Q" CString strFormData = _T("name=John+Doe&us…