Iwao Dev

気付いたことをメモしています.

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

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

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


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

レジストリエディタで削除できないキーができてしまった.
レジストリエディタ 削除できないキー
[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


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

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

RegDelNull の使い方

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


Microsoft Touch Pack

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


Release 版でのデバッグ

VC 10 で、Release 版構成にデバッグ情報を付加する.

  1. 「ビルド」-「構成マネージャー」で,「新しいプロジェクト構成」を作成.
    「設定のコピー元」を「Release」に
  2. 「プロジェクト」-「プロパティ」で,「リンカ」-「デバッグ」-「デバッグ情報の生成」を「はい」に.
この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:

MFC 10 再起動マネージャ

再起動マネージャのサポートの追加

http://msdn.microsoft.com/ja-jp/library/dd465232(v=VS.100).aspx

CXxxxApp::CXxxxApp()
{
#if (_MFC_VER >= 0x0A00)
     m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS ;
#endif
}

AppCore.cpp  CWinApp::CWinApp(LPCTSTR lpszAppName)
m_nAutosaveInterval = 5 * 60 * 1000; // default autosave interval is 5 minutes (only has effect if autosave flag is set)

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


VC++ 2010 VCReDist_??.exe

VC++ 2010 の VCReDist の場所
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86
または,
VCReDist_x86
VCReDist_x64

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


X02T メモ

留守電解除の設定
「スタート」-「設定」-「個人」-「電話」-「サービス」タブ-「転送電話」内

Wi-Fi 接続中の SoftBank メールの送受信など
一時的に止めないと,Wi-Fiが優先される

設定などで,自動的に起動(Power ON)させることは可能か?
その様な機能はない

SoftBank メールの,「メール振り分け設定」
ドメイン指定は不可
10 件まで

SoftBank メールの「未読」が常に1つ存在する
現状の対応方法としては,ハードリセットが必要 
HKEY_LOCAL_MACHINESoftwareArcsoftArcSoft MMS UAConfigUI の MMSUnreadCount を 0 に
TRE Ver.0.82 を利用(0.90 はインストールできなかった)

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


CCriticalSection と CMutex

それぞれ,500,000 回呼出した時間 (m sec) 

      P4       VirtualPC     Xeon    
CCriticalSection 734 160 94
*1 78 20 15
CMutex 8200 710 1140
*1 950 250 437
Profile          INI 2900 950 920
Reg 2100 570 740

  ElapseTick et_cs ;
  {
     CCriticalSection cs ;
     for (int index=0 ; index<500000 ; index++) {
     //CCriticalSection cs ;
        cs.Lock() ;
        cs.Unlock() ;
        }
     }
  DWORD e_cs = et_cs.GetElapse() ;

  ElapseTick et_me ;
  {
     CMutex mt ;
     for (int index=0 ; index<500000 ; index++) {
       mt.Lock() ;
       mt.Unlock() ;
       }
     }

  DWORD e_me = et_me.GetElapse() ;

  ElapseTick et_pr ;
  {
     Profile profile ;
     for (int index=0 ; index<500000 ; index++) {
       int data = profile.GetInt(_T("Test"),_T("Test"),100) ;
       }
     }
  DWORD e_pr = et_pr.GetElapse() ;

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

  • Categories:


    top

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