Iwao Dev

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

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

2011 / 11月

UNICODE

UNICODE 文字関係へのリンク


リコー ホーム > フォント > 過去のメルマガ > 
   第7号 JIS第3・第4水準
   その中の 実際の文字種–>PDF
    JIS第3水準漢字
    JIS第3水準非漢字
    JIS第4水準漢字
 
CodeZine
   サロゲートペア入門
 
Microsoft JIS X 0213:2004 / Unicode 実装ガイド (PDF)
 
図書館員のコンピュータ基礎講座
   文字コード
      日本の文字コード
         
   参考資料 > 文字コード
 


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


RegRead でのエラー

RegRead メソッド

—————————
Windows Script Host
—————————
スクリプト: D:\Temp\MJobSel\Release.060\Script\20111114.wsf
行: 92
文字: 3_
エラー: レジストリ キー “HKCU\Software\U–U–\M—\M—\FilePat_\User_Data” のルートが無効です。
コード: 80070002
ソース: WshShell.RegRead
—————————
OK
—————————

—————————
Windows Script Host
—————————
スクリプト: D:\Temp\MJobSel\Release.060\Script\20111114.wsf
行: 92
文字: 3
エラー: レジストリ キー “HKCU\Software\U–U–\M—\M—\FilePath\User_Dat_” を開いて読み取ることができません。
コード: 80070002
ソース: WshShell.RegRead
—————————
OK
—————————


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


セットアッププロジェクト

カスタム動作の追加
 「ソリューションエクスプローラ」で「右クリック」-「表示」-「カスタム動作」
 起動ポイントは, /Install /Commit /Rollback /Uninstall

カスタム動作の作成

MsgBox.exe では期待した動作となる.
動作として exe の終了を待つ様で,MakeCMF.exe の様な起動したままにするような動作には向かない.
試しに,MakeCMF.exe /Commit とすると,終了まで待ち,終了時にエラーとなる.
その後,/Rollback が働き,インストールがキャンセルされる.


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


Envy100 その後

以前,MN128-SOHO-IB3 + MN-WLC54g でうまく接続できないでいたが,ATerm WR8500N では簡単に接続できた.
その代り? psc2550 がうまくつながらなくなり,有線に.


普通の印刷などはできるようになったが,Print Apps などは設定できてなかった.

HP カスタマー・ケア
 └─ HP ENVY 100 オールインワンプリンター – D410a
     └─ セットアップとインストールePrint & モバイル機器
         └─ プリンターのアップデート


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


Shell.Tile…

以前,デスクトップ上のウィンドウを操作したいことがあった.


ToggleDT.scf
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop


TileVert.vbs
Set objShell = CreateObject(“Shell.Application”)
objShell.TileVertically


TileHorz.vbs
Set objShell = CreateObject(“Shell.Application”)
objShell.TileHorizontally


CascadeW.vbs
Set objShell = CreateObject(“Shell.Application”)
objShell.CascadeWindows


//**************************************************************************************************
// ファイル名 :CtrlDskT.cxx
// 機能名 :デスクトップの制御
// 作成者 :
// 作成年月日 :’07/08/08
// 変更履歴 :
//**************************************************************************************************
//
#include <Afx.h>

#include "DelFileE.hxx"
#include "CharMFC.hxx"
#include "ShellExc.hxx"
#include "HelpAPI.hxx"
#include "CtrlDskT.hxx"

////
//*******************************************************************************
// 関数名 :デスクトップの表示
// 作成日 :’07/08/08
//*******************************************************************************
// http://support.microsoft.com/kb/190355/ja
// クイック起動バーに [デスクトップの表示] アイコンを再登録する方法
BOOL ControlDesktop::ToggleDesktop (void)
{
  CString td_scf = ::GetTempPath()+_T("Command.tmp\\") + _T("ToggleDT.scf") ;
  if (::FileIsNothing(td_scf)) {
  // "デスクトップの表示.scf" の生成
    ::CreateEmptyFile(td_scf) ;
    CString tdCmd ;
    tdCmd += _T("[Shell]\r\n") ;
    tdCmd += _T("Command=2\r\n") ;
    tdCmd += _T("IconFile=explorer.exe,3\r\n") ;
    tdCmd += _T("[Taskbar]\r\n") ;
    tdCmd += _T("Command=ToggleDesktop\r\n") ;
    ::SaveText(td_scf,tdCmd) ;
    }
  ShellExec se ;
  se.SetFile(td_scf) ;
  se.Execute() ;
  { // 終了時に削除するように登録
    static DelFileE dfe ;
    dfe.Add(td_scf) ;
    }
  return TRUE ;
  }

////
//*******************************************************************************
// 関数名 :重ねて表示,上下に並べて表示,左右に並べて表示
// 作成日 :’07/08/08
//*******************************************************************************
// http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jul05/hey0726.mspx
// Hey, Scripting Guy! デスクトップ上にウィンドウを並べて表示する方法はありますか
#define CD_AW_CascadeW 0
#define CD_AW_TileHorz 1
#define CD_AW_TileVert 2

BOOL ControlDesktop::CascadeWindows (void) { return
ArrangeWindows(CD_AW_CascadeW) ; }
BOOL ControlDesktop::TileHorizontally(void) { return
ArrangeWindows(CD_AW_TileHorz) ; }
BOOL ControlDesktop::TileVertically (void) { return
ArrangeWindows(CD_AW_TileVert) ; }

BOOL ControlDesktop::ArrangeWindows (const long type)
{
  CString cw_vbs = ::GetTempPath()+_T("Command.tmp\\") + _T("CascadeW.vbs") ;
  CString th_vbs = ::GetTempPath()+_T("Command.tmp\\") + _T("TileHorz.vbs") ;
  CString tv_vbs = ::GetTempPath()+_T("Command.tmp\\") + _T("TileVert.vbs") ;
  CString cmdvbs ;
  CString cmdExc ;
  switch (type) {
    case CD_AW_CascadeW : cmdvbs = cw_vbs ; cmdExc = _T("objShell.CascadeWindows \r\n") ; break ;
    case CD_AW_TileHorz : cmdvbs = th_vbs ; cmdExc = _T("objShell.TileHorizontally \r\n") ; break ;
    case CD_AW_TileVert : cmdvbs = tv_vbs ; cmdExc = _T("objShell.TileVertically \r\n") ; break ;
    default : cmdvbs = cw_vbs ; cmdExc = _T("objShell.CascadeWindows \r\n") ; break ;
    }
  if (::FileIsNothing(cmdvbs)) {
    ::CreateEmptyFile(cmdvbs) ;
    CString awCmd ;
    awCmd += _T("Set objShell = CreateObject(\"Shell.Application\")\r\n") ;
    awCmd += cmdExc ;
      // objShell.TileHorizontally
      // objShell.TileVertically
      // objShell.CascadeWindows
    ::SaveText(cmdvbs,awCmd) ;
    }
  ShellExec se ;
  se.SetFile(cmdvbs) ;
  se.SetShowCmd(SW_HIDE) ;
  se.Execute() ;
  { // 終了時に削除するように登録
    static DelFileE dfe ;
    dfe.Add(cmdvbs) ;
    }
  return TRUE ;
  }

デスクトップ上にウィンドウを並べて表示する方法はありますか
Shell.TileHorizontally method


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


Copy SrcFolder\*.txt DstFolder

あるフォルダの複数ファイルのコピーと移動.
 Files_Copy_or_Move を直接利用するのではなく,FolderCopyFiles , FolderMoveFiles を利用します.
//*******************************************************************************
// 関数名 :あるフォルダ直下のファイルのコピーと移動
// 作成日 :’11/11/04
//*******************************************************************************
BOOL Files_Copy_or_Move (LPCTSTR src_Name,LPCTSTR dstPath,const BOOL isDelSrc,const BOOL exist)
{
  CString srcPath = src_Name ;
  CString srcName = _T(“*.*”) ;
  if (CString(srcPath).IsEmpty()) { return FALSE ; }
  if (!::FileIsDirectory(src_Name)) {
    srcPath = ::GetFileDir (src_Name) ;
    srcName = ::GetFileName (src_Name) ;
    }
  if (srcPath == dstPath) { return FALSE ; }
  if (::FileIsNothing(srcPath)) { return FALSE ; } // 元のフォルダが存在しない
  if (::FileIsNothing(dstPath)) {
    if (!::CreateFolder(dstPath)) { return FALSE ; }
    }
  {
    CStringArray srcFiles ;
    ::FolderEnumFiles(srcPath,&srcFiles,srcName) ;
    for (int index=0 ; index<srcFiles.GetSize() ; index++) {
      CString srcFPath = srcFiles[index] ;
      CString srcFName = ::GetFileName(srcFPath) ;
      CString newFName = ::FolderAddLastSP(dstPath) + srcFName ;
      if (!::CopyFile(srcFPath,newFName,exist)) {
        continue ;
        }
      if (isDelSrc) { // 元のファイルは削除? (移動の場合?)
        CFile::Remove(srcFPath) ;
        }
      }
    }
  return TRUE ;
  }

inline BOOL FolderCopyFiles (LPCTSTR srcName, LPCTSTR dstPath, const BOOL exist)
{ return Files_Copy_or_Move ( srcName, dstPath, FALSE, exist) ; }
inline BOOL FolderMoveFiles (LPCTSTR srcName, LPCTSTR dstPath, const BOOL exist=FALSE)
{ return Files_Copy_or_Move ( srcName, dstPath, TRUE, exist) ; }


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


GetLastError と FormatMessage

以前,以下を作成していた(Error.hxx )
inline CString Error::FormatMessage(const DWORD error)
{
  CString message ;
  LPVOID lpMessageBuffer = NULL ;
  if (::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
      NULL,error,MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
      (LPTSTR)&lpMessageBuffer,0,NULL)) {
    message = LPTSTR(lpMessageBuffer) ;
    ::LocalFree(lpMessageBuffer) ;
    }
  return message ;
  }


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



    top

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