VC
最新版にしてると、なにかのアップデートで勝手に対象が変わり、ATL周りでコンパイルエラーになることがある。 その場合はWindows SDKバージョンを前のにして固定すれば治る
#include <windows.h> #include <tchar.h> #import <shdocvw.dll> #import <mshtml.tlb> int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { HRESULT hr = ::CoInitialize(NULL); //COMを使うときのお約束 if (FAILED(hr)) { return -1; } NewIE(); //新</mshtml.tlb></shdocvw.dll></tchar.h></windows.h>…
long attr = GetFileAttributes(pFilename); if(attr != -1){ // ファイルがないと-1 if (FILE_ATTRIBUTE_READONLY == (attr & FILE_ATTRIBUTE_READONLY)) { CString mess; mess.Format("ファイルの書き込みに失敗しました。読み込み専用になっている可能性…
bool is_safe_char(UCHAR c) { return isalnum(c) || c == '.' || c == '-' || c == '_' || c == '*'; } char* encode_char_to_hex(char c, char* dist) { dist[0] = '%'; dist[1] = "0123456789ABCDEF"[(c & 0xF0) >> 4]; dist[2] = "0123456789ABCDEF"[c &…
普通に読むとsjis前提になっちゃう。UTF-8 CString line; FILE *fp; _tfopen_s(&fp,_T("C:\\utf8.txt"), _T("r, ccs=UTF-8")) CStdioFile file(fp); while (file.ReadString(line)) { AfxMessageBox(line); } file.Close(); ネタ元 https://faithandbrave.ha…
定義 #include <Windows.h> #pragma comment( lib, "shell32.lib" )実行 ShellExecute(NULL, L"open", L"cmd.exe", L"/c C:/work/bat/test.bat", L"", SW_HIDE); ネタ元 https://www.lisz-works.com/entry/2016/11/16/224520</windows.h>
わかりにくいね ネタ元 http://wisdom.sakura.ne.jp/system/winapi/win32/win32.html
BOOL CHogeChildDialog::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { switch (pMsg->wParam) { case VK_RETURN: return FALSE; // 親にゆだねる case VK_ESCAPE: return FALSE; // 親にゆだねる default: break; } } return CDial…
bool OpenUrl(LPCTSTR lpszUrl) { HINSTANCE hInst = ShellExecute(NULL,"open",lpszUrl,NULL,NULL,SW_SHOWNORMAL); if(hInst < (HINSTANCE)32){ // 32未満は起動に失敗 return false; } retuen true; } ネタ元 http://www.ikuyama.net/ryo/mfc/mfc04.html
プログラム データベース ファイルでは、'filename'、;/DEBUG:fastlink のリンカーによって生成されたコンパイラできませんこのような PDB ファイルを更新; か削除してください、/Fd を使用して、別の PDB ファイル名を指定するには というのがでたら、 プロ…
プロジェクトをアップグレードすると vcxproj ファイルに本来記述されるべき UseDebugLibraries 属性が記述されないため、vcxproj ファイルをテキストエディタで開いて</Project>の前に以下を追加 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</usedebuglibraries></propertygroup>
visualstudio 2019にプロジェクトをアップデートしたら出た。プロパティみたら もともとユニコード対応プロジェクトじゃなかったのに 文字セットの項目がUnicode になってたので 「マルチバイト文字セットを使用する」に変えたら治った。 ネタ元 https://sup…
int dispx = GetSystemMetrics( SM_CXVIRTUALSCREEN); int dispy = GetSystemMetrics( SM_CYVIRTUALSCREEN); ネタ元 http://d.hatena.ne.jp/yu-hr/20100312/1268419472 https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getsystemm…
MFCでは正規表現のライブラリ無いけど標準のほうを使えば使える。C++11で名前空間がtr1からstdになってるらしいので新しい環境ならそれに置き換えてね #include <iostream> #include <string> #include <regex> ... std::tr1::regex regPattern(strPattern); std::tr1::match_results<const char *> </const></regex></string></iostream>…
GetTempPath()使う TCHAR tmpDir[MAX_PATH]; GetTempPath(MAX_PATH, tmpDir); ネタ元 https://msdn.microsoft.com/ja-jp/library/cc429354.aspx?f=255&MSPPError=-2147217396
リソースエディタでラジオボタンを配置する グループにしたいラジオボタンのうち、最初のタブオーダーのラジオボタンだけ「Group」をTrueにします。他はデフォルトのままでOK DDX変数を追加しましょう。グループの最初のラジオボタンを右クリックし、「変数…
・メニュー バーで [ファイル]、[新規]、[プロジェクト] の順にクリックします。 ・[新しいプロジェクト] ダイアログ ボックスの左ウィンドウで、[インストールされたテンプレート]、[Visual C++] を展開し、[Win32] をクリックします。 ・中央のウィンドウ…
Visual Studio でプリコンパイル済みヘッダーを有効にすると、 stdafx.h を最初にインクルードしないといけないのですが、 ソースファイルに書きたくない(書けない)場合の対処方法。ネタ元 http://srz-zumix.blogspot.jp/2012/10/visual-studio.html
#include <cpprest/http_client.h> #include <cpprest/filestream.h> こうなった時はパスが通ってないだけ。 プロジェクトプロパティ - >構成プロパティ - > C / C ++ - >一般 - >追加インクルードディレクトリでこちらのパスを含める必要があります:C:\ YourProject \ packages \ cpprestsdk.v140.winde</cpprest/filestream.h></cpprest/http_client.h>…
コマンドプロンプトでは使えません。VisualStudio コマンドプロンプトから使います。 dumpbin /exports HelloWorld.dll ネタ元 http://replication.hatenablog.com/entry/2014/05/02/101020
けっこうめんどい。 ネタ元 http://fa11enprince.hatenablog.com/entry/2014/06/20/015808
int Web_Downloader(char *Server_Host_Address, char *FileLocation, char *Referer , char *SaveDirectory , char *SaveName ) { //返り値一覧 // //-106:ERR_INTERNET_DISCONNECTED インターネットに接続されていない。 //-403:"403 Forbidden" サーバー…
char* szShiftJis = "雨にも負けず、風にも負けず。"; char bufUTF8[MAX_PATH]; char bufShiftJis[MAX_PATH]; void ShiftJisToUTF8() { wchar_t bufUnicode[MAX_PATH]; // まずUniocdeに変換する // サイズを計算する int iLenUnicode = MultiByteToWideChar…
WebBrowserコントロールを利用した場合、デフォルトの状態ではWebBrowserコントロールはInternet Explorer 7。 バージョンを変更するにはレジストリをイジる必要がある。場所は \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureContr…
ファイルの日付が未来のが混じってるはず。探してみて。ネタ元 https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/c9b528b8-8993-4ba3-9735-b9caff936e12?forum=vcgeneralja
// HWND→CWnd* CWnd* pCWnd = CWnd::FromHandle( hwnd ); // CWnd*→HWND HWND hwnd = pCWnd->GetSafeHwnd();ネタ元 http://d.hatena.ne.jp/octech/20070224/1172312355
宣言するだけ CWaitCursor wc;関数やスコープ抜けるところで元に戻る 簡単。ネタ元 http://park1.wakwak.com/~ima/visualcpp_tips0006.html
ShellExecute(NULL,_T("open"),_T("実行したいexeのフルパス"),NULL,NULL,SW_SHOW);ネタ元 http://technologicaladvance.blog.fc2.com/blog-entry-61.html
消えると困るのでコピペ コピペ元 http://www2.wbs.ne.jp/~kanegon/doc/bstr.txt BSTR 覚え書き 2002.2.19 kanegon create 2002.2.23 kanegon update BSTR は見かけ上(Windowsヘッダ上)、LPOLESTR と等しい。 typedef WCHAR OLECHAR; // ※ typedef OLECHAR _…
MFCとATLを共用するにはコツがいる。 ネタ元 Visual C の ATL プロジェクトに MFC サポートを追加する方法 MFC プロジェクトへの ATL サポートの追加 ATL プロジェクトでの MFC のサポート