モバゲーの広告メール(メルマガ)の配信を停止(解除)したい

モバゲーからくる広告メール(メルマガ?)が鬱陶しいので
停止したくなって調査してみた。
これが、調べてもメール配信停止が見つからない・・・
どうもメルマガ配信停止するためには退会するしかないようです。たぶん。
あきらめて退会方法を探すもこれまた見つからない。

こちらにちょっと載っていた。

具体的な手順は

  1. http://mbga.jp/ を開く
  2. 「会員の入り口」を選択
  3. 下のほうにある「お問い合わせ」を選択
  4. 「会員登録・変更手続きについて」を選択
  5. 下のほうにある「Q.退会したいのですが。」が選択
  6. 退会する」を選択
  7. 下のほうにある「退会する」を選択
  8. 会員ページにログイン「OK」を選択
  9. 退会理由から好きなものを選択、ご意見欄には適当に改善してもらいたい部分等書き込む
  10. 「確認」を選択
  11. 退会確認「退会する」を選択
  12. 退会完了

という手順になる(2008/7/31現在)

お問い合わせの中のFAQからしか退会手続きが取れないのはどうかと・・
しかも何回も退会するのか念を押して聞いてくるのがちょっと・・

Synergy r897

594 :名無しさん@お腹いっぱい。 :sage :2008/06/17(火) 23:45:34 id:n0VkNJ9t0
玉にスクロールが効かなくなることあるな
589の奴サーバーにも使うと今度は矢印が反応しなくなって戻ってこれなくなる
タスクマネージャ呼び出すショートカットで何とか脱出できるが。

とのことなので、パッチが悪いのか、元のr897自体の問題なのか見極めるために
r897そのままをビルドしました。
こちらに-> SynergyInstaller_r897.exe

1.3.2 (正確にはr897)をビルド

Synergyの開発は止まっているものだと思っていたが、
svnリポジトリの方では1.3.2があったり、日本語キー関係のパッチも当たっていたりと着々と進んでいるようでした。
とりあえず現状最終のr897にいろいろパッチを当ててビルドしてみました。

  • 無変換,変換、半角/全角,ひらがな・カタカナキーに対応
  • 英語キーボードでAlt+~で漢字変換のON/OFFが出来ないのを修正
  • ALT をつかんだままになる問題に対処
    • ローレベルフックの処理をスルーしているので副作用としてショートカットキーが使えないかも?(未確認)
  • 日本語リソースはまだ当ててません
  • Vistaでも動きました(一応インストーラーもシールドアイコン付に)
    • Vistaではサービスで動かないようです。

こちらにおきました-> SynergyInstaller.exe
 ↑ページが削除されてしまったので置きなおしました。

具体的な変更箇所

Index: lib/synergy/KeyTypes.h
===================================================================
--- lib/synergy/KeyTypes.h (リビジョン 897)
+++ lib/synergy/KeyTypes.h (変更後)
@@ -104,9 +104,10 @@
 static const KeyID		kKeySysReq		= 0xEF15;
 static const KeyID		kKeyEscape		= 0xEF1B;
+static const KeyID		kKeyMuhenkan		= 0xEF22;	/* Cancel Conversion */
 static const KeyID		kKeyHenkan		= 0xEF23;	/* Start/Stop Conversion */
 static const KeyID		kKeyHangulKana	= 0xEF26;	/* Hangul, Kana */
 static const KeyID		kKeyHiraganaKatakana = 0xEF27;	/* Hiragana/Katakana toggle */
 static const KeyID		kKeyZenkaku		= 0xEF2A;	/* Zenkaku/Hankaku */
-static const KeyID		kKeyHanjaKanzi	= 0xEF2A;	/* Hanja, Kanzi */
+static const KeyID		kKeyHanjaKanzi	= 0x0060;	/* Hanja, Kanzi */
 static const KeyID		kKeyDelete		= 0xEFFF;	/* Delete, rubout */
 
Index: lib/platform/CSynergyHook.cpp
===================================================================
--- lib/platform/CSynergyHook.cpp (リビジョン 897)
+++ lib/platform/CSynergyHook.cpp (変更後)
@@ -202,4 +202,6 @@
 doKeyboardHookHandler(WPARAM wParam, LPARAM lParam)
 {
+	if( g_mode != kHOOK_RELAY_EVENTS )
+		return false;
 	// check for special events indicating if we should start or stop
 	// passing events through and not report them to the server.  this
@@ -652,26 +654,28 @@
 keyboardLLHook(int code, WPARAM wParam, LPARAM lParam)
 {
-	if (code >= 0) {
-		// decode the message
-		KBDLLHOOKSTRUCT* info = reinterpret_cast<KBDLLHOOKSTRUCT*>(lParam);
-		WPARAM wParam = info->vkCode;
-		LPARAM lParam = 1;							// repeat code
-		lParam      |= (info->scanCode << 16);		// scan code
-		if (info->flags & LLKHF_EXTENDED) {
-			lParam  |= (1lu << 24);					// extended key
-		}
-		if (info->flags & LLKHF_ALTDOWN) {
-			lParam  |= (1lu << 29);					// context code
-		}
-		if (info->flags & LLKHF_UP) {
-			lParam  |= (1lu << 31);					// transition
-		}
-		// FIXME -- bit 30 should be set if key was already down but
-		// we don't know that info.  as a result we'll never generate
-		// key repeat events.
-
-		// handle the message
-		if (keyboardHookHandler(wParam, lParam)) {
-			return 1;
+	if( g_mode == kHOOK_RELAY_EVENTS ) {
+		if (code >= 0) {
+			// decode the message
+			KBDLLHOOKSTRUCT* info = reinterpret_cast<KBDLLHOOKSTRUCT*>(lParam);
+			WPARAM wParam = info->vkCode;
+			LPARAM lParam = 1;							// repeat code
+			lParam      |= (info->scanCode << 16);		// scan code
+			if (info->flags & LLKHF_EXTENDED) {
+				lParam  |= (1lu << 24);					// extended key
+			}
+			if (info->flags & LLKHF_ALTDOWN) {
+				lParam  |= (1lu << 29);					// context code
+			}
+			if (info->flags & LLKHF_UP) {
+				lParam  |= (1lu << 31);					// transition
+			}
+			// FIXME -- bit 30 should be set if key was already down but
+			// we don't know that info.  as a result we'll never generate
+			// key repeat events.
+
+			// handle the message
+			if (keyboardHookHandler(wParam, lParam)) {
+				return 1;
+			}
 		}
 	}
Index: lib/platform/CMSWindowsKeyState.cpp
===================================================================
--- lib/platform/CMSWindowsKeyState.cpp (リビジョン 897)
+++ lib/platform/CMSWindowsKeyState.cpp (変更後)
@@ -65,5 +65,5 @@
 	/* 0x01b */ { kKeyEscape },		// VK_ESCAPE
 	/* 0x01c */ { kKeyHenkan },		// VK_CONVERT		
-	/* 0x01d */ { kKeyNone },		// VK_NONCONVERT	
+	/* 0x01d */ { kKeyMuhenkan },		// VK_NONCONVERT	
 	/* 0x01e */ { kKeyNone },		// VK_ACCEPT		
 	/* 0x01f */ { kKeyNone },		// VK_MODECHANGE	
@@ -1151,4 +1151,9 @@
 					// found in table
 					switch (m_buttonToVK[i]) {
+					case VK_KANJI:
+					case VK_OEM_AUTO:
+					case VK_OEM_ENLW:
+						item.m_id       = kKeyZenkaku;
+						break;
 					case VK_TAB:
 						// add kKeyLeftTab, too

1.3.1 ALTが押されたままになる問題の対応 (サーバではローレベルフックをスルーするように)

早速ソース公開頂きありがとうございます。 >Takenoriさん http://www.kaede-software.com/2008/01/synergy_1.html
暇を見て私も試してみようかと思います。
とりあえずその該当部分の変更箇所をメモ・・

--- synergy-1.3.1/lib/platform/CSynergyHook.cpp	Wed Mar 08 20:07:18 2006
+++ synergy_src_20080204/lib/platform/CSynergyHook.cpp	Sun Jan 20 19:11:38 2008
@@ -187,6 +187,10 @@
 bool
 doKeyboardHookHandler(WPARAM wParam, LPARAM lParam)
 {
+	// クライアントスクリーン上でない時はすべてスルー
+	if( g_mode != kHOOK_RELAY_EVENTS )
+		return false;
+
 	// check for special events indicating if we should start or stop
 	// passing events through and not report them to the server.  this
 	// is used to allow the server to synthesize events locally but
@@ -638,27 +642,29 @@
 keyboardLLHook(int code, WPARAM wParam, LPARAM lParam)
 {
 	if (code >= 0) {
-		// decode the message
-		KBDLLHOOKSTRUCT* info = reinterpret_cast<KBDLLHOOKSTRUCT*>(lParam);
-		WPARAM wParam = info->vkCode;
-		LPARAM lParam = 1;							// repeat code
-		lParam      |= (info->scanCode << 16);		// scan code
-		if (info->flags & LLKHF_EXTENDED) {
-			lParam  |= (1lu << 24);					// extended key
-		}
-		if (info->flags & LLKHF_ALTDOWN) {
-			lParam  |= (1lu << 29);					// context code
-		}
-		if (info->flags & LLKHF_UP) {
-			lParam  |= (1lu << 31);					// transition
-		}
-		// FIXME -- bit 30 should be set if key was already down but
-		// we don't know that info.  as a result we'll never generate
-		// key repeat events.
-
-		// handle the message
-		if (keyboardHookHandler(wParam, lParam)) {
-			return 1;
+		if( g_mode == kHOOK_RELAY_EVENTS ) {
+			// decode the message
+			KBDLLHOOKSTRUCT* info = reinterpret_cast<KBDLLHOOKSTRUCT*>(lParam);
+			WPARAM wParam = info->vkCode;
+			LPARAM lParam = 1;							// repeat code
+			lParam      |= (info->scanCode << 16);		// scan code
+			if (info->flags & LLKHF_EXTENDED) {
+				lParam  |= (1lu << 24);					// extended key
+			}
+			if (info->flags & LLKHF_ALTDOWN) {
+				lParam  |= (1lu << 29);					// context code
+			}
+			if (info->flags & LLKHF_UP) {
+				lParam  |= (1lu << 31);					// transition
+			}
+			// FIXME -- bit 30 should be set if key was already down but
+			// we don't know that info.  as a result we'll never generate
+			// key repeat events.
+
+			// handle the message
+			if (keyboardHookHandler(wParam, lParam)) {
+				return 1;
+			}
 		}
 	}

とりあえずVistaに対応させたい・・・

IME関係の設定

"カーソル上の文字色は文字の背景色にする。
"IME が無効なとき Green
"IME が有効なとき Purple
"にする。
if has('multi_byte_ime')
hi Cursor guifg=bg guibg=Green gui=NONE
hi CursorIM guifg=NONE guibg=Purple gui=NONE
" 挿入モード・検索モードでのデフォルトのIME状態設定
set iminsert=0 imsearch=0
" 挿入モードでのIME状態を記憶させない場合、次行のコメントを解除
"inoremap :set iminsert=0
endif

WinXP/Vistaからネットワーク共有(ファイルサーバ)にあるファイルを右クリックしたときに固まる/重い

WinXP/Vistaから他のWindowsのネットワーク共有等に接続した場合に、応答が非常に遅いことがある。
うちの環境では、ネットワーク共有の中にあるファイルやフォルダを右クリックしたときに一定時間エクスプローラーの応答がなく、しばらくすると復帰して普通に使えるようになる。というような現象が何度となく起こる。
XPのfirewallログを見ると右クリック時にTCP80へアクセスして、そのパケットをfirewallがドロップするため、そこでタイムアウトになるまでエクスプローラーの反応がなくなる事がわかりますた。
んで、TCP80に何をアクセスしにいってるかnetcatを使ってみてみました。

OPTIONS / HTTP/1.1
translate: f
User-Agent: Microsoft-WebDAV-MiniRedir/5.1.2600
Host: hoge
Content-Length: 0
Connection: Keep-Alive

こんなものが出てました。
まぁ、まえからWebDAV怪しいとは思ってましたが・・・調べたらやっぱりそうだった。。
しっかしなんで右クリックメニューの際にWebDAVアクセスするのかは謎
WebClientというサービスが起動してるとWebDAV見に行くとの事で
単純にWebClientサーービスを停止すればOKでした。

  • 手順
    1. スタートメニューのマイコンピュータを右クリックのメニューから管理を選択
    2. サービスとアプリケーション → サービスを選択
    3. 一覧からWebClientをダブルクリック
    4. スタートアップの種類を手動に切り替え、停止ボタンを押す。

エクスプローラーでWebDAVって、日本語ファイル名が扱えるようにとか大変そうだし・・使うことなさそうだ。