Iwao myds

dev.mish.work へ移行しました.

この画面は、簡易表示です

VC

VC 2010 $(IncludePath)

Microsoft.Cpp.Xxxx.user.props の場所
C:\Users\(UserName)\AppData\Local\Microsoft\MSBuild\v4.0
http://msdn.microsoft.com/ja-jp/library/ee855621.aspx

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


VC 6 で GlobalMemoryStatusEx

#if(_MFC_VER >= 0x0700)
  #include	<WinBase.h>
#else

#include	<Windows.h>
#include	<TChar.h>

//  WinBase.h より
typedef struct _MEMORYSTATUSEX {
  DWORD    dwLength;
  DWORD    dwMemoryLoad;
  DWORDLONG  ullTotalPhys;
  DWORDLONG  ullAvailPhys;
  DWORDLONG  ullTotalPageFile;
  DWORDLONG  ullAvailPageFile;
  DWORDLONG  ullTotalVirtual;
  DWORDLONG  ullAvailVirtual;
  DWORDLONG  ullAvailExtendedVirtual;
  } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

typedef	BOOL	(WINAPI *PFnGlobalMemoryStatusEx)	(LPMEMORYSTATUSEX lpBuffer) ;

////
//*******************************************************************************
//	クラス名:Kernel32.DLL ラッパー
//	作成日	:’10/09/16
//*******************************************************************************
class	WrapKernel32	{
public:
      WrapKernel32	() ;
  virtual ~WrapKernel32	() ;
public:
  virtual	BOOL	GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer) ;
protected:
  HMODULE   HLibrary ;
  PFnGlobalMemoryStatusEx  FnGlobalMemoryStatusEx ;
  } ;

////
//*******************************************************************************
//	関数名	:コンストラクタ/デストラクタ
//	作成日	:’10/09/16
//*******************************************************************************
inline
WrapKernel32::WrapKernel32	()
{
  HLibrary = NULL ;
  FnGlobalMemoryStatusEx = NULL ;
  HLibrary = ::LoadLibrary	(TEXT("Kernel32.DLL")) ;
  if (HLibrary == NULL)	{	return ;	}
  FnGlobalMemoryStatusEx = (PFnGlobalMemoryStatusEx) GetProcAddress(HLibrary,("GlobalMemoryStatusEx")) ;
  }

inline
WrapKernel32::~WrapKernel32	()
{
  if (HLibrary != NULL) {
    FreeLibrary(HLibrary) ;
    }
  }

////
//*******************************************************************************
//	関数名	:それぞれの呼び出し
//	作成日	:’10/09/16
//*******************************************************************************
inline
BOOL	WrapKernel32::GlobalMemoryStatusEx	(LPMEMORYSTATUSEX lpBuffer)
{
  if (FnGlobalMemoryStatusEx != NULL)	{
    return	FnGlobalMemoryStatusEx	(lpBuffer) ;
    }
  return	FALSE ;
  }

inline
BOOL	WINAPI	GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer)
{
  if (lpBuffer->dwLength != sizeof(MEMORYSTATUSEX)) {
    #ifdef	_DEBUG
      afxDump << _T("GlobalMemoryStatusEx ... dwLength != ") << sizeof(MEMORYSTATUSEX)
            << _T("  ") << lpBuffer->dwLength << _T("\r\n") ;
    #endif
    }
  WrapKernel32	wk32 ;
  return	wk32.GlobalMemoryStatusEx(lpBuffer) ;
  }

#endif	//	(_MFC_VER >= 0x0700)

WrpKrnl3.hxx

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

「応答なし」になり難くする

//*******************************************************************************
// 関数名 :時間がかかる時に,応答なしにならない様にする
// 作成日 :’07/10/05
//*******************************************************************************
BOOL WaitPeek (void)
{
  MSG msg ;
  ::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE) ;
  return TRUE ;
  }

//*******************************************************************************
// 関数名 :時間がかかる時に他に制御を回す
// 作成日 :’95/12/05
//*******************************************************************************
BOOL Wait (void)
{
  MSG msg ;
  for (int msgCnt=0 ; msgCnt < 1000 ; msgCnt++) {
    if (::PeekMessage(&msg ,NULL,0,0,PM_REMOVE)) {
      if (msg.message == WM_QUIT) {
        return FALSE ;
        }
      ::TranslateMessage(&msg) ;
      ::DispatchMessage(&msg) ;
      continue ;
      }
    break ;
    }
  return TRUE ;
  }


2011/11/02 追加
//*******************************************************************************
// 関数名 :時間がかかった時に,不要なイベントをスキップする
// 作成日 :’11/03/31
//*******************************************************************************
inline
BOOL EatMessage (const HWND wnd=NULL,const UINT skipWM=WM_TIMER)
{
  MSG eatMsg;
  while(::PeekMessage(&eatMsg,wnd,skipWM,skipWM,PM_REMOVE)) ;
  return TRUE ;
  }


HelpWait.hxx

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Shell_NotifyIcon

SDK32: 通知領域にアイコンが登録されないことがある
http://support.microsoft.com/kb/418138/ja

マウスの位置の取得
BOOL ::GetCursorPos(LPPOINT lpPoint) ;

http://cid-535f5973454c1292.office.live.com/self.aspx/.Public/MFC/NotifyI.hxx.txt

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

タスクバーのドキュメント

mk:@MSITStore:X:MSDNShellcc.chm::/platform/Shell/Shell_Int/Taskbar.htm
http://msdn.microsoft.com/ja-jp/library/cc144179(VS.85).aspx

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

hdc が拡張メタファイルのデバイスコンテキスト?

hdc が拡張メタファイルのデバイスコンテキストかどうかを調べるには、GetObjectType 関数
GetDeviceCaps
GetObjectType

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

マルチバイト→UNICODE

「構成プロパティ」-「全般」-「文字セット」を「マルチバイト...」から「UNICODE...」に変更すると,以下のエラーになることがある.
msvcrtd.lib(wcrtexew.obj) : error LNK2019: 未解決の外部シンボル _wWinMain@16 が関数 ___tmainCRTStartup で参照されました。

vcproj をエディタなどで開き,";_MBCS;$(NoInherit)" を削除.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

VC 6 プロファイラを有効に

VC 6 で「プロファイルを行う」を有効にする設定
「プロジェクトの設定」-「リンク」タブ-カテゴリ「一般」のダイアログで,「Alt」+「E」
または,プロジェクトのオプションに "/Profile" を追加.

特定のモジュールに限定
「プロファイル」-「詳細設定」で
/EXCALL /INC ComPro01.obj /inc ComUse02.obj

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

x86 プロジェクトの x64 へのコピー

VC 6 以前から使用しているプロジェクトを,64 ビット用にコピーしてビルドすると以下のエラーになることがある.

1>—— ビルド開始: プロジェクト: Project, 構成: Release x64 ——
1>.x64_R10ProjectA.obj : fatal error LNK1112: モジュールのコンピューターの種類 ‘x64’ は対象コンピューターの種類 ‘X86’ と競合しています。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

「プロジェクトのプロパティページ」の「構成プロパティ」-「リンカ」-「コマンドライン」の「追加オプション」にある "/MACHINE:I386" を削除する.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:


    top

    %d人のブロガーが「いいね」をつけました。