Iwao Dev

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

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

2010 / 2月

CommonAppDataFolder にインストールしたい

CommonAppDataFolder 以下に,ファイルをインストールする

  1. 「特別なフォルダの追加」-「カスタムフォルダ」でフォルダを作成.
  2. プロパティの「DefaultLocation」を "[CommonAppDataFolder]" と入力.
    [CommonAppDataFolder][Manufacturer][ProductName] などとしても良い.

System Folder Properties
http://msdn.microsoft.com/en-us/library/aa372057(VS.85).aspx


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


Outlook で配信不能になる

2018/04/06 新しく書き直し


受信者をコードで指定していると Outlook で配信不能になる(OE では問題ない).

配信不能 : Subject
システム管理者
送信日時 2010/02/19(金) 21:20
宛先   **********


このメールは、受信者全員または一部に届きませんでした。
件名: Subject
送信日時: 2010/02/19 21:20
以下の受信者にメールを配信できません: 
‘user@*******.com’ 2010/02/19 21:20
この受信者へ配信できる電子メール アカウントはありません。


受信者のメールアドレスを設定する時,_T("smtp:") を付加する

// DOCMAPI.CPP  CDocument::OnFileSendMail
//*******************************************************************************
// 関数名 :ファイルの送信
// 作成日 :’06/06/23
//*******************************************************************************

BOOL SendMail::Send (void) const
{
  if (!IsSupport()) { return FALSE ; }
  CheckSizeAlert() ;
  // MultiByte の必要があるようなので,UNICODE の時のバッファをここに登録する
  LateDelete ld ;
  // 添付ファイルの準備
   int fileCount = 0 ;
   CArray<MapiFileDesc,MapiFileDesc> fileDescA ;
   int index = 0 ;
   for (index=0 ; index<PathNames.GetSize() ; index++) {
      CString pathName = PathNames[index] ;
      if (::FileIsNothing (pathName)) { continue ; }
      if (::FileIsDirectory(pathName)) { continue ; }
      MapiFileDesc fileDesc ;
      memset(&fileDesc,0,sizeof(MapiFileDesc)) ;
      fileDesc.nPosition = (ULONG)-1 ;
      #ifdef _UNICODE
        fileDesc.lpszPathName = SendMail__ChangeMultiByte(PathNames[index],&ld) ;
        fileDesc.lpszFileName = SendMail__ChangeMultiByte(FileNames[index],&ld) ;
      #else
        fileDesc.lpszPathName = LPSTR(LPCTSTR(PathNames[index])) ;
        fileDesc.lpszFileName = LPSTR(LPCTSTR(FileNames[index])) ;
      #endif
      fileDescA.Add(fileDesc) ;
      fileCount++ ;
      }
    // 受信者の準備
    int recipCount = 0 ;
    CArray<MapiRecipDesc,MapiRecipDesc> recipDescA ;
    CStringArray recipName ;
    CStringArray recipAddr ;
    for (index=0 ; index<Recipient.GetSize() ; index++) {
        recipName.SetAtGrow(index,Recipient[index]) ;
        recipAddr.SetAtGrow(index,Recipient[index]) ;
        if (IsAddressAddSMTP()) {
            recipAddr.SetAtGrow(index,_T("smtp:")+Recipient[index]) ;
            }
        }
    for (index=0 ; index<Recipient.GetSize() ; index++) {
      MapiRecipDesc recipDesc ;
      memset(&recipDesc,0,sizeof(MapiRecipDesc)) ;
      recipDesc.ulRecipClass = MAPI_TO ;
      #ifdef _UNICODE
        recipDesc.lpszName = SendMail__ChangeMultiByte(recipName[index],&ld) ;
        recipDesc.lpszAddress = SendMail__ChangeMultiByte(recipAddr[index],&ld) ;
      #else
        recipDesc.lpszName = (LPSTR)((LPCTSTR)(recipName[index])) ;
        recipDesc.lpszAddress = (LPSTR)((LPCTSTR)(recipAddr[index])) ;
      #endif
      recipDescA.Add(recipDesc) ;
      recipCount++ ;
      }
    MapiMessage message ;
    memset(&message,0,sizeof(message)) ;
    message.nFileCount = fileCount ;
    message.lpFiles = fileDescA.GetData() ;
    message.nRecipCount = recipCount ;
    message.lpRecips = recipDescA.GetData() ;
    #ifdef _UNICODE
       message.lpszSubject = SendMail__ChangeMultiByte(GetSubject(), &ld) ;
       message.lpszNoteText = SendMail__ChangeMultiByte(GetNoteText(), &ld) ;
    #else
       message.lpszSubject = LPSTR(LPCTSTR(Subject)) ;
       message.lpszNoteText = LPSTR(LPCTSTR(NoteText)) ;
    #endif
    CWnd* mainWnd = AfxGetMainWnd() ;
    #if(_MFC_VER >= 0x0700)
       ULONG_PTR hWnd = (ULONG_PTR)mainWnd->GetSafeHwnd() ;
    #else
       ULONG hWnd = (ULONG) mainWnd->GetSafeHwnd() ;
    #endif
    int nError = pSendMail(0, hWnd,&message, MAPI_LOGON_UI|MAPI_DIALOG, 0);
    if (nError != SUCCESS_SUCCESS &&
        nError != MAPI_USER_ABORT &&
        nError != MAPI_E_LOGIN_FAILURE) {
        AfxMessageBox(AFX_IDP_FAILED_MAPI_SEND) ;
        Copy() ;
        }
     return TRUE ;
     }


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

  • Categories:

クリップボードへのテキストの転送

//  WinMFC.hxx
//*******************************************************************************
// 関数名 :クリップボードへのテキストの転送
// 作成日 :’01/07/13
// 変更日 :’07/12/14 UNICODE テキスト対応
//*******************************************************************************
inline
BOOL SetClipboardText (LPCTSTR text)
{
 CString   str = text ;
 GLOBALHANDLE hGMemText = 0 ;
 {
  hGMemText = ::GlobalAlloc(GHND,(DWORD)(str.GetLength()+1)*sizeof(TCHAR)) ;
  LPSTR  lpText = (LPSTR)::GlobalLock(hGMemText) ;
  memmove(lpText,str,str.GetLength()*sizeof(TCHAR)) ;
  ::GlobalUnlock(hGMemText) ;
  }
 {
  BOOL ret = ::OpenClipboard(NULL) ;
  if (ret == FALSE) {
   ::GlobalFree(hGMemText) ;
   ::MessageBeep(0) ;
   ::MessageBox(NULL,_T("ERROR: Cannot access the Clipboard!"),AfxGetAppName(),MB_OK|MB_ICONEXCLAMATION) ;
   return FALSE ;
   }
  else {
   ::EmptyClipboard() ;
   #ifdef _UNICODE
   ::SetClipboardData(CF_UNICODETEXT, hGMemText) ;
   #else
   ::SetClipboardData(CF_TEXT,   hGMemText) ;
   #endif
   ::CloseClipboard() ;
   }
  }
 return TRUE ;
 }
 

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

  • Categories:

VC6 , VC8 リモートデバッグ

VC6
mk:@MSITStore:J:MSDNvccore.chm::/html/_core_setting_up_the_remote_debug_monitor.htm
http://support.microsoft.com/kb/241848/ja
以下のファイルをターゲット PC にコピー

1998-07-06 00:00 24,651 MSVCMON.EXE
2004-02-27 00:00 106,566 DM.DLL
2000-07-15 00:00 184,320 MSDIS110.DLL
2008-04-14 11:25 413,696 MSVCP60.DLL
2004-02-17 00:00 278,581 MSVCRT.DLL
2000-07-15 00:00  28,746 TLN0T.DLL

VC7
ms-help://MS.VSCC/MS.MSDNVS.1041/vsdebug/html/vctskInstallingRemoteDebugMonitor.htm
http://msdn.microsoft.com/ja-jp/library/aa291492(VS.71).aspx
C:\Program Files\Microsoft Visual Studio .NET\Common7\Packages\Debugger\
 msvcmon.exe
 msvcr70.dll
 NatDbgTLNet.dll
 NatDbgDM.dll
デバッグを開始できません.
プログラム ” を開始できません。
現在のユーザーのコンテキストで実行中のリモート コンピュータに MSVCMON がありません。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Machine Debug Manager]
"AllowLaunchAsOtherUser"=dword:00000001
うまく起動できない


VC8
http://msdn.microsoft.com/ja-jp/library/ey7ec813.aspx
http://msdn.microsoft.com/ja-jp/library/ey7ec813(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/bt727f1t(VS.80).aspx
 MSVSMon.exe
 DbgHelp.dll
 MSDbgUI.dll

http://support.microsoft.com/kb/908099/ja


VC9
http://msdn.microsoft.com/ja-jp/library/bt727f1t.aspx
http://msdn.microsoft.com/ja-jp/library/bt727f1t(VS.100).aspx
 MSVSMon.exe


リモートデバッグ


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

  • Categories:

VC7 マルチバイト→UNICODE

マルチバイト→UNICODE で以下のエラーになることがある.
libcmtd.lib(wwincrt0.obj) : error LNK2019: 未解決の外部シンボル _wWinMain@16 が関数 _wWinMainCRTStartup で参照されました。

*.vcproj をエディタで開き,"$(NoInherit)" を削除


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

  • Categories:

アドレス帳の移行

V601T から X02T へのアドレス帳(連絡先)の移行手順

  1. V601T でメモリカードに「データ一括転送」.
  2. メモリカード内の VCF を PC に取り込み(コピー).
  3. VCF を WinXP 環境で開く(ダブルクリック).
    アドレス帳(wab.exe)の機能を利用.
  4. アドレス帳の「エクスポート」機能で CSV に.
  5. CSV を Outlook 2007 でインポート.
  6. ActiveSync で同期.

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


メモリカードにアクセスできない

エクスプローラーに Storage Card が表示されなくなった.
「スタート」-「設定」-「システム」-「メモリ」にも表示されない.
メモリにインストールした Skype が起動できない.

電源を入れなおして,正しく認識できるようになったみたい.

但し,電源投入時の「ファイル ‘kstartup’ を開けません…」のメッセージは直らず
http://iwaoalles.wordpress.com/2010/02/10/起動時-kstartup-exe-がない/


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



    top

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