ホーム » 2010 » 5月

月別アーカイブ: 5月 2010

2010年5月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,506 アクセス


MSB6006

ビルドで MSB6006 のエラーが発生するようになってしまった.

—— ビルド開始: プロジェクト: XxxXxXxx, 構成: Release x64 ——
XxxXxXxx.vcxproj -> \XxxXXDocumentsXxxxxxxXXXXXxxXxXxxx64_R10XxxXxXxx.exe
—— ビルド開始: プロジェクト: XxxXxXxx, 構成: Release Win32 ——
XxxXxXxx.vcxproj -> \XxxXXDocumentsXxxxxxxXXXXXxxXxXxxx86_R10XxxXxXxx.exe
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(562,5): error MSB6006: "mt.exe" はコード 31 を伴って終了しました。
========== ビルド: 2 正常終了、1 失敗、0 更新不要、0 スキップ ==========

リビルドしても効果なし.


ファイルサーバも含め再起動をかけたら正しくビルドできるようになった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

explorer コマンドラインオプション

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Visual Style を無効に

ダイアログ上のボタンなどの Visual Style を無効に
BOOL DisableVisualStyle (CWnd* wnd)

//**************************************************************************************************
// ファイル名 :HelpVSty.hxx
// 機能名  :ビジュアルスタイルヘルパ  Visual Style 関数の簡略化
// 作成者  :
// 作成年月日 :’09/07/02
// 変更履歴 :’09/07/02
//**************************************************************************************************
#ifndef _INC_H_HELP_THEME_API
#define _INC_H_HELP_THEME_API
#include <AfxWin.h>

//*******************************************************************************
// 関数名 :SetWindowTheme
// 作成日 :’09/07/02
//*******************************************************************************
inline HRESULT Hlp_SetWindowTheme (HWND hwnd,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList)
{
 HMODULE hDll = ::LoadLibrary(_T("UxTheme.dll")) ;
 if (hDll == NULL)    { return !S_OK ;  }
 HRESULT (WINAPI *pfSetWindowTheme)(HWND,LPCWSTR,LPCWSTR) = NULL ;
 (FARPROC&)pfSetWindowTheme = ::GetProcAddress(hDll,("SetWindowTheme")) ;
 HRESULT res = !S_OK ;
 if (pfSetWindowTheme != NULL) {
  res = pfSetWindowTheme(hwnd,pszSubAppName,pszSubIdList) ;
  }
 ::FreeLibrary(hDll) ;
 return res ;
 }

//*******************************************************************************
// 関数名 :Visual Style を OFF に
// 作成日 :’09/07/02
//*******************************************************************************
inline BOOL DisableVisualStyle (CWnd* wnd)
{
 if (wnd == NULL)     { return FALSE ; }
 if (wnd->m_hWnd == NULL)   { return FALSE ; }
#ifdef __ATLBASE_H__
 { // コモンコントロールのバージョンをチェック
  DWORD ccMajor = 0 ;
  DWORD ccMinor = 0 ;
  AtlGetCommCtrlVersion(&ccMajor,&ccMinor) ;
  if (ccMajor < 6)    { return TRUE ; }
  }
#endif
 HRESULT res = !S_OK ;
   res = ::Hlp_SetWindowTheme(wnd->GetSafeHwnd(), L" ", L" ") ;
 return (res == S_OK) ;
 }
#endif

HelpVSty.hxx
HelpVSty.hxx

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

CStatic をはみ出さない様に

ダイアログ上の CStatic をはみ出さない様に描画する

CDC::IntersectClipRect 

   ...
   CClientDC dc(&m_Image) ;
   CRect  rect ;
   m_Image.GetClientRect(rect) ;
   dc.IntersectClipRect(rect) ;
   ...
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

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

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

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

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

コンボボックスの高さ指定

//*******************************************************************************
//	関数名	:コンボボックスの高さを,親ウィンドウの下に合わせる
//	作成日	:’09/07/01
//*******************************************************************************
#ifndef CBM_FIRST       // C:Program Files (x86)Microsoft SDKsWindowsv7.0AIncludeCommCtrl.h
#define CBM_FIRST               0x1700       // Combobox control messages
#define CB_SETMINVISIBLE        (CBM_FIRST + 1)
#define CB_GETMINVISIBLE        (CBM_FIRST + 2)
#define CB_SETCUEBANNER         (CBM_FIRST + 3)
#define CB_GETCUEBANNER         (CBM_FIRST + 4)
#endif

BOOL	FitDropHeight	(CComboBox* ctrl,CWnd* parent)
{
  if (ctrl == NULL)              			{	return	FALSE ;	}
  if (ctrl->m_hWnd == NULL) {	return	FALSE ;	}
  CRect	tRect ;
  ctrl->GetWindowRect (&tRect) ;
  parent->ScreenToClient(&tRect) ;
  CRect	pRect ;
  parent->GetClientRect(&pRect) ;
  tRect.bottom= pRect.bottom ;
  ctrl->MoveWindow(&tRect) ;
  	 // ここから上は,Visual Style が無効な exe の時に動作する
  {	 // ここから下は,Visual Style が有効な場合に必要	MoveWindow では変更されない?
    int	minV = tRect.Height()/ctrl->GetItemHeight(0) ;
    if (minV >= 3)	{	minV-= 2 ;	}
    if (minV <= 0)	{	minV = 1 ;	}
    ctrl->SendMessage(CB_SETMINVISIBLE,minV) ;
    }
  return	TRUE ;
  }

CB_SETCUEBANNER
CComboBox::SetCueBanner

Windows Vista コントロールの拡張


Windows Vista コモン コントロールの作成要件


サポートされなくなった ANSI API

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

DDX/DDV の順番を…

順番をいじってしまうと,入力中の最大チェックが働かなかったり,値の修正ができない様になってしまう.

 DDX_Text     (pDX, IDC_TEXT_1 , m_Text1);
 DDV_MaxChars (pDX,    m_TEXT1 , 25);
 DDX_Text     (pDX, IDC_TEXT_2 , m_Text2);
 DDV_MaxChars (pDX,    m_TEXT2 , 25);
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

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

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

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

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

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC ファイルハンドラの登録で MSB3075

ビルド時に以下のエラーとなる.


—— ビルド開始: プロジェクト: ???Handlers, 構成: Debug Win32 ——
???Handlers.vcxproj -> C:\Users\???\Documents\Visual Studio 2010\Projects\???\Debug\???Handlers.dll
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(732,5): warning MSB3075: コマンド “regsvr32 /s “C:\Users\???\Documents\Visual Studio 2010\Projects\???\Debug\???Handlers.dll”” はコード 5 で終了しました。このコマンドを実行するための十分な権限があるか確認してください。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(744,5): error MSB8011: 出力の登録に失敗しました。ユーザーごとのリダイレクトを有効にするか、引き上げられたアクセス許可を使用して、コマンド プロンプトからコンポーネントを登録してください。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


VS 2010 を「管理者として実行」して起動する.
または,「管理者として実行」した「コマンドプロンプト」での「RegSvr32」.
 
通常の「コマンドプロンプト」では以下のエラーとなる.
[Window Title]
RegSvr32
[Content]
モジュール “C:\Users\???\Documents\Visual Studio 2010\Projects\???\Debug\???Handlers.dll” は読み込まれましたが、DllRegisterServer への呼び出しはエラー コード 0x80070005 により失敗しました。
この問題の詳細については、エラー コードを検索語として入力してオンラインで検索してください。
run as administrator

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

レジストリ キーのオープンエラー

レジストリエディタで削除できないキーができてしまった.
レジストリエディタ 削除できないキー
[Window Title]
キーのオープン エラー
[Content]
・・・・….・・・・・・・・・&#29;笶,cF &#30;潺&#21;&#3;&#24;ィ&#22;&#3;$<1S を開けません。
エラーによりこのキーを開けません。
詳細: 指定されたファイルが見つかりません。
[OK]


原因は,AfxGetApp()->m_pszProfileName をいじっていた関係で,
OpenMP を利用した時のバグでごみが設定された.


対応には,RegDelNull.exe を利用.
http://technet.microsoft.com/ja-jp/sysinternals/default.aspx
http://technet.microsoft.com/ja-jp/sysinternals/bb545027.aspx
http://technet.microsoft.com/ja-jp/sysinternals/bb897448(en-us).aspx
https://docs.microsoft.com/ja-jp/sysinternals/downloads/regdelnull


RegDelNull の使い方
削除したいキー名は "HKEY_CURRENT_USER\Software\???\???\_"
環境は,Windows 7

  1. コマンドプロンプトを管理者として実行
  2. C:\Windows\system32> C:\Users\…\Regdelnull\RegDelNull.exe hkcu\Software\???\???\_
  3. 削除するか聞いてくるので,必要に応じて y

RegDelNull の使い方


2021/11
レジストリエディタ 削除中にエラーが発生しました

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Microsoft Touch Pack

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.