WD Cloud を使ってみて…
いろいろなサイズのファイルのバックアップを取っていて,
VHD など大きなファイルのコピーで,ローカルの外付け HDD (USB 2 接続)より速そう.
それで簡単に計測してみた.
3 GB のファイルをコピー.
C , D は内蔵 HD .H は USB 2 接続.S は WSS .W は WD Cloud .
秒 | MB/s | |
---|---|---|
C->C | 583 | 5 |
C->D | 573 | 5 |
C->H | 384 | 8 |
C->S | 381 | 8 |
C->W | 389 | 8 |
H->C | 161 | 19 |
H->D | 111 | 29 |
H->S | 109 | 29 |
H->W | 110 | 29 |
S->D | 46 | 70 |
S->H | 133 | 30 |
W->D | 60 | 55 |
W->H | 134 | 30 |
動作を見ていると,内蔵 HDD からの読込で最初のうちは速いがある所を過ぎると 5 MB/s 程度に落ちてしまう.
NAS から内蔵 HDD の時も同様.ファイルサイズが 500 MB 程度なら速いと思う.
上と同じ条件のすべてでは計測はしてないが,10 秒以内.
2015/10/29
ソースなどをバックアップしていて,
時々,コピーが完了する前に何もなかったかの様に終わってしまう.
プロジェクトのバックアップの時は,1 プロジェクトだけコピーして終わっていた.
熱のせい?少し間を置くとコピーできる.すぐだと操作を間違えたかの様.
WD Cloud 追加
スマートフォンと PC のバックアップに使えそうだったので購入.
ユーザーマニュアルを見ながら進めていて,
セットアップアシスタントでの設定の最後の方でエラー?に.
メールアドレスの入力で何か間違えたみたい?
もう一度やり直そうとしても,「このドライブは既にセットアップ済みです」となる.
そのすぐ下のリンクをクリックしてもパスワードが入らず進められない.
結局は,「デバイスの設定に移動」で //wdcloud にアクセスする様になるが,この時のパスワードが違っていた.
「ユーザー」はいつものでパスワードもいつものを入れたつもりが,うまく登録されていなくて空の状態だった.
「ファイルに移動」の方は,上にも書いたが設定されてなかった.
ここでの入力は,メールアドレスとパスワードで,Web 経由の WD Cloud へのアクセスになるみたい.
最初から wdcloud にアクセスする方がわかりやすい様に感じた.
107SH と iPod touch に「WD Cloud モバイルアプリ」をインストール.
Android 版では思った様にバックアップできたが,iOS 版ではバックアップがうまくされてない.
Win 10 IE , Edge
Win 10 の IE や Edge からの User agent を調べていて,
Edge は “Edge/12.10240” が後ろの方にあるのでこれで判断できる.
他に AppleWebKit Chrome Safari などが前にあるので,Edge と限定するためにはコードの変更(判断順の変更)が必要.
IE では “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Trident/8.0; .NET4.0C; .NET4.0E)” となっている.
イントラネット環境で IE 11 とするには,「互換表示設定」の変更が必要.
Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko
MSDN ユーザー エージェント文字列の変更
Win 10 での デスクトップ AP の実行で,
ドロップダウン付のツールバーの表示がおかしくなる現象は,まだ残っているみたい.
ただ,以前の様に簡単には現象を再現できない.
Win 10 Pro 10240 にインストールできない
2015/09/11
IIS をアンインストールして,インストール(「Windows の機能の有効化または無効化」)してみたがダメ.
手作業で環境を作成しようとして…
オートメーションの部分が起動できない.
幾つかのいつもの設定は行ってたが,ちょっと忘れていて,
exe などを置いていたフォルダのアクセス権を正しく設定してなかった.
他に今回の固有の環境であるが,レジストリから登録情報を削除する必要もあった.
うまく動作したのは VC 8 Static MFC だったが VC 12 DLL にすると,またうまく動作しない?
VC 12 Static にしてもダメで VC 8 Static に戻したのに,今度はうまくない.
Win 10 を再起動してうまく通った.
うまく動作しなくなった後,タスクマネージャから終了できないものがありそれが影響するのか?
もう一回 VC 12 でビルドしたものにチャレンジ.
VC 12 Static MFC は通った.
VC 12 DLL MFC でも通り,結局原因は掴めず.
今回の事とは直接関係ないが,エクスプローラが何度か落ちた.
OS 自体の問題なのか,作成した シェルエクステンション の問題なのかは不明.
タスクトレイのチップが 64 …
XP 環境で,タスクトレイのチップが 64 文字で切れてしまっている.
VC8.exe は 64 で切られることはないが,VC 9 以降だとうまくない?
Win 7 環境での動作は問題ない.
まだ詳しく調べられてないが,とりあえずメモ.
2015/09/08
どうも _WIN32_WINNT によるみたい.
Win | UNICODE | MBCS | NOTIFYICONDATA | |
VC 6 | 400 | 152 | 88 | szTip[64] |
VC 7 | 501 | 936 | 488 | dwInfoFlag |
VC 8 | 502 | 936 | 488 | |
VC 9 | 600 | 956 | 508 | hBallonIcon |
VC10 | 601 | 956 | 508 | |
VC11 | 601 | 956 | 508 | |
VC12 | 601 | 956 |
Win は _WIN32_WINNT .
cbSize を NOTYFYICONDATA_V3_SIZE と指定すれば良いのか?
今回は,意図せず 64 文字で切れていたことを避けたかっただけなので,次の様に変更.
NOTIFYICONDATA nid ; ::ZeroMemory(&nid,sizeof(NOTIFYICONDATA)) ;
long maxLenTip = countof(nid.szTip)-1 ;
#if (_MSC_VER >= 1500) // VC 9 ~
if (::GetWindowsVersion() < 6) {
maxLenTip = 64-1 ;
}
#endif
if (::GetWindowsVersion() > maxLenTip) {
…
}
NotifyIcon クラスの使用
ダイアログまたは相当のクラスのヘッダに,NotifyIcon の変数を確保.
タスクトレイにアイコンを表示したい時は,NotifyIcon::Add または Mod を呼出す.
タスクトレイのアイコンを消したい時は,NotifyIcon::Del .
アニメーションの場合,NotifyIcon::StartAnimate とタイマで NotifyIcon::AnimateIcon .
アニメーションアイコンの登録は,NotifyIcon::AddIconA .登録されてない場合は,exe のアイコンと表示なしのトグル.
CAppDlg::OnInitDailog で StartAnimate ,CAppDlg::OnTimer で AnimateIcon だけで,exe アイコンが点滅する.
チップの設定は,NotifyIcon::SetTip .
最小化されたときに表示
void CXxxxDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
::FitWindow(this,&m_Image,0) ;
if (nType == SIZE_MINIMIZED) {
ShowWindow(SW_HIDE) ;
NotifyI.Mod() ;
}
}
ヘッダとソースへの MESSAGE MAP の追加
afx_msg LRESULT OnTrayCallback (WPARAM wParam,LPARAM lParam);
ON_MESSAGE (WM_TRAY_CALLBACK, OnTrayCallback)
マウスのクリックによる動作
LRESULT CXxxxDlg::OnTrayCallback (WPARAM wParam,LPARAM lParam)
{
UINT uID = (UINT)wParam;
UINT uMouseMsg = (UINT)lParam;
if (uMouseMsg == WM_LBUTTONDOWN) {
AfxGetMainWnd()->ShowWindow(SW_SHOW) ;
AfxGetMainWnd()->ShowWindow(SW_SHOWNORMAL) ;
}
if (uMouseMsg == WM_RBUTTONUP) {
CPoint curPos ; ::GetCursorPos(&curPos) ;
PopupMenu (NULL,IDR_POP_MENU,curPos,ID_XXXX) ;
}
return 0 ;
}
WM_TRAY_CALLBACK は,NotifyI.hxx に定義済.
2015/09/03
メニュー表示後,デスクトップなどのクリックでメニューが消えなかったので検索すると,
SetForegroundWindow を呼べば良いとのこと.
if (uMouseMsg == WM_RBUTTONUP) {
CPoint curPos ; ::GetCursorPos(&curPos) ;
SetForegroundWindow() ;
PopupMenu (NULL,IDR_POP_MENU,curPos,ID_XXXX) ;
}