2007年10月13日土曜日

N先輩より電話

キャンプの水タンクを借りるということで明日来るとのこと。
水タンクだけってを何に使うのかな?

wgetのダウンロード

玄箱のwgetで、Visual Studio 2008β版をダウンロードさせていたのだけれど、なんか正常に終わっている模様。
今日は、玄箱のwgetで、Windows Server2008 RC0をダウンロードを開始させました。残り時間予想は15時間30分ですが、バックグラウンドで走らせておきます。
さっそく、Visual Studioの方、DVDに焼こうかな?

昨日の飲み会~麻雀~

昨日は職場の歓送迎会でした。
当部長は出張のためなぜかとなりの部長が出席。やっぱりスポンサーをお願いしたのだろうか?終わりがけに当部長が社長を連れて参加。やっぱりスポンサーとして?最後に客先に出向を始めた方(今回の主役の一人)が参加したところで飲み会お開き。
その後、徹マン。その前の飲みの影響で途中3回トイレでリバース。~8:30まで。トータル-178は精神的に痛い。もちろん持ち合わせがなく。借りですませ終了。

・・・どんなに誘いがあろうと職場での麻雀は2度としない。

2007年10月12日金曜日

一応Kernel書き換えの結果表示かな?


10月7日や、10月11日の記事で扱っていた入力ボタン表示のツールですが、無料のアンチウイルスソフトでは検出できないといいましたが、一応こんなメッセージが出ます。
で、カーネル書き換えは検知出来てるのかな?ただ、これだと悪いとは判断できないので、よいということになるのかな?ひょっとして、スパイソフト検知の物をいれないと判断できないのかもしれない。

今日のハマリ

Windows2003にASP.Net2.0のWebアプリを動かすことができない。
IISは導入したし、ASP.Net2.0をいれたとのこと。他の同僚が、ASP.Net2.0を入れた後にIISを入れると、「aspnet_regiis -i」をやらないといけないらしい、というわけでやったのですが、IIS管理画面からhtmlファイルの参照では、ちゃんとブラウザで内容が表示されるのに、aspxは、ページが表示できませんというメッセージが。アプリケーションプールも設定しているのに。
で、結局はIISの設定が原因。Webサイトで、aspを有効にする、aspxを有効にする。とすればよいみたい。でもデフォルトで無効ってのは、XP使いには戸惑いが大きすぎる。

でも、まだDBにアクセスできない(マスタ(DB)を見て、接続するDBを決定し、その接続文字列を生成しているのですが、このDB接続文字列がおかしなことになってる。

明日は解決するかな?

なんてこったい

ダウンロードできていたと思っていたWindows Server 2008 RC0 DataCenter Amd64版が、うまくいっていない。DVDを用いたブートでインストール開始はされるのだけれど、途中E:....が破損しているって。そういえば、ダウンロードサイズが2.6GByteって表示されていたのに、実際は2.2GByteしかダウンロードされていなかったっけ。DVDに焼けた(トラック情報が取得できていた)のでダウンロードが正常終了したとおもったんだけどなぁ。
こちらもダウンロードし直し? 2.6GByteかぁ。まずは、VS2008Betaのダウンロード終了があと15時間ぐらいだから、、、ダウンロード開始はやっぱり明日(今日?)の帰宅後となる模様。いつになったらWindows2008とVS2008を試せるんだろうか?本当はSQLServer2008も試したいのだけれどこちらは日本語版いつ出るのかな?

2007年10月11日木曜日

uploadサービス試してみました。

10/7の入力キー表示のexeについて、UPLOADサービスを使ってみました。
exeのみ
ソースのみどちらもVC#と、Kenedyのdllが必要です。
さて、ちゃんとダウンロードできるようになっているでしょうか?

今日もVSダウンロード失敗

失敗4回目は、早朝。PCのリブート時のBeep音は夢ではなかったらしい。
失敗5回目、FireFoxではダウンロード完了と出ているが、2.2Gと約60%ぐらい。当然CDに焼こうにもトラック情報が足りないと。結局、玄箱を立ち上げてwgetすることに、明日には今度こそダウンロードが完了しているかな?

今日、明日と職場の同僚が教育出張

他の人から、「今日は17:30帰りですか?」とか「生き生きしている。」など、ひどい言われよう。まぁそうなんだけど。

2007年10月10日水曜日

今日の買い物2つ

アマゾンに注文を出していたIOデータの1G DDRメモリ8800円のものが今日届きました。
とりあえず動いたのだけれど、今日名古屋ソフマップでみたメモリは(ノーブランドバルク品だけど)1Gで4200円だった。ちゃんと店にいってから値段を確認すべきだった。
で、ソフマップでは、USB接続用のMemoriStickカードリーダ。380円。隣にUSB接続用SDカードリーダが200円だったが今居るのはMemoryStickの方、、、だったはずだけど家に帰ってみるとあるはずの1GのMSのカードが見当たらない。なんだかな~。

Visual Studio 2008 Beta版ダウンロード失敗

家のネット環境では、50KByte/Secしか出ないので、3.6GByteあるVS2008Betaを落とすのに時間がかかる。例によって、ダウンロードをしたまま寝たり、会社に行ったりしているわけですが、どういうわけか、Windowsが再起動していたり、全部ダウンロードしていないのに完了になったりして、ダウンロード失敗が連続3回。あすもVisualStudio2008Betaをダウンロードをします。

あ~あ、速くならないかなぁ?

2007年10月9日火曜日

自転車に噛まれる


私の自転車のペダル部分。チェーンがむき出しです。
で、今日またスーツがかまれ、こんな感じになってます。自転車は3か月ぐらい前に買ったのだけれど、すでに噛まれるのが3回目。もう一回自転車を買い換えようかな?

ybbメール、自分宛が届かなくなったのはいつから?

通常メールの簡単な疎通確認に、自分宛にメールを出して届くかどうか確認しているのですが、今回自分宛に、...@ybb.ne.jpに出して見ても、メールが届かない。エラーメールも届かないので正常かどうかもわからない。これは、メーラの設定がおかしいかもと言うわけで、yahooのwebメールでメールを出してみると、届かない。。。なんで~?いつから~?昔は届いていたのに。これで合ってるの?

2007年10月8日月曜日

asp.netの復習

repeaterはおろか、GridViewの使い方まで忘れてる。小さなプログラムでも作って思いださねば。

メモリ購入

12時間ぐらいかけてWindows Server 2008 RC0 DataCenterをダウンロードしてみました。
amd64版なので2.7GBと書いてあったけど、ie6のダウンロードでは2.2GBぐらいで保存処理が走りダウンロードが終わってしまった。ダウンロード最中も%表示が-50%とか150%とかわけわからない表示になってたのも不思議。もともと2.2GBのサイズだったのだろうということにして、最低環境を見てみたら、512MByte以上とのこと、うちのPCは、512Byteでうち64Mbyteをグラフィックに充てているためスペック不足が発覚。RC0の評価版のためにメモリを買うっていうのも何か変な感じがするが、とりあえず1Gメモリ9000円でアマゾンで購入。続いて、Visual Studio 2008 Bata版をダウンロードしているが、今日中には終わらないだろうな。SQL Server 2008CTPは、日本語版がでるまで様子見かな?

ヤフーが遅くなったのはなぜ?


ヤフー8MのADSL回線(収容局まで直距離1Km以内)を使っていますが、最近動画がよく止まるとかダウンロードに時間がかかるようになったので、ブロードバンドスピードテストをやってみました。
結果:下り400Kbps,上り450Kbps
5年ほど前回線開通したときには、下り4Mbps以上出ていたので、10分の1になっちゃったのかな?
そもそもADSLなのに上りの方が速いってどういうこと?

ルータを外してモデムとPCを直結して確認したけどほとんど変わらず。
これは、光買い替えサインだろうか?

でも、光の契約書を見てると軒並み同時PC数5って出てきてる。
みんな、この契約をのんでるのかな?
ネットワーク機器からみればPCとは、インターネット回線接続端子があるテレビ、PSP,DS,Wii,PS2,PS3,ルータ全て含まれるはずだから、PSPとDSとWiiとPS3とインターネット接続線を繋いでいるテレビとPC(1台)を繋げただけで、契約違反になるような気がするのだが。。。そもそも、プロバイダはインターネット家電など新技術を基盤から潰そうとしていることに罪悪感がないのだろうか?

というわけで、ieでダウンロードに5.5KB/s,残り12時間と出てもまだADSLでがんばります。

インデックスサービスの範囲縮小化

Windows Vista Home Premiumに「Visual Web Developer 2005 Express」と「Visual C# 2005 Express」と「IIS」などなどを入れていったら、HDDのLEDが約1秒に一回点滅するようになってしまった。なぜかはわからないが、タスクマネージャ→リソースモニタで調べたらHDD書き込みが多そうなのはSystemIndexerのよう。とりあえず、復活しなくなるまで何度もSystemIndexerのプロセスを殺したあとコントロール パネル→システムとメンテナンス→インデックスのオプションで対象のチェックを全てはずした後再起動。HDDのLEDが光る頻度は少し減ったかな?

ie7の停止ボタン

ie7って進む、戻るのボタンはあるのに停止ボタンがないなんて。。。というわけで読み込みを停止させるショートカット「Esc」は必修です。

Vistaでhlpファイルをみるツール??

以下の手順でやると、「このWindowsで適用できません」となり、インストール方法も分からなくなっちゃった。

http://www.microsoft.com/downloads/details.aspx?FamilyID=6ebcfad9-d3f5-4365-8070-334cd175d4bb&displaylang=ja&Hash=Kqt37zAjj5dkalaMyxgwqMbBh1M3GcmhrGEAOB25YCj9EoPRpHe%2fC0YC2KngLl%2flM0G4Sgd94si75N2SwgZu5w%3d%3d
で入手

Windows Vista Home PremiumでIISを入れる方法


http://technet2.microsoft.com/windowsserver/en/library/86026b03-18b0-4c42-9884-5af83226e2bd1033.mspx?mfr=true
のページから、以下のバッチファイルを作成。
保存し、起動する。(30分ぐらいと結構時間がかかる。HDDがまわりっぱなしになるがそのまま放置。)

----
setiis.bat
----
start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-Security;IIS-BasicAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

2007年10月7日日曜日

OS再インストールの後にいれるもの


以下の優先度で導入。大体10まであればOK。結論、PCはOffice付きを買おう。

1.Officeツール(Word/Excel or OpenOffice)
2.テキストエディタ(sakura)
3.lha解凍ソフト(Lhacca)
4.telnetツール(TeraTermPro)
5.ftpクライアント(FFFTP)
6.アンチウィルスソフト(AVG)
7.スクリーンショット支援ツール(capwr)
8.印刷イメージpdfファイル出力ツール(PrimoPDF)
9.ファイル比較ソフト(WinMerge)
10.ファイル分割ソフト(DIV2)
11.仮想CD/DVDドライブ(DaemonTool)
12.CD/DVDのisoイメージ抽出(DVD Decrypter/付属の物があればそちらを優先)
13.Google Desktop
14.画像一括印刷ツール(Liner)
15.scpクライアント(Winscp)
16.Windows開発ツール(Visual Studio 2005 Express(WebDevelop,VC#))
17.データベース(SQL Server 2005 Express SP2)
18.ie以外のインターネットブラウザ(FireFox)
19.パケットモニタリングツール(ethereal)
20.サーバ仮想化ツール&Unix関連(VMWareServer,Linux/BSD)
21.java開発環境(JDK)
22.フォトレタッチソフト(GIMP)
23.LanPC検索、メンテナンス(NetEnum)
24.Active Perl
25.Windows Power Shell

入力キー表示


「劇あれ」っていうディスプレイ録画ソフトがあるっぽい。ということは、NHKのテレビみたいなパソコン操作説明に使えるのではないかな?と思ってよく見てみたのですが、キーボードやマウスボタン入力は画面に表示しないみたい。
じゃあ、ということでネットで探してみても入力キーやマウスをフックして画面表示するものはなかなか見当たらない。(まんまキーロガーや、PC操作リプレイや、リアルタイム入力履歴表示のソフトはあったけど、履歴表示ではなく単純に入力操作をリアルタイムに表示するだけのフリーソフトがみつからない。)
まあ、自分のぐぐ力を嘆いても仕方がないので、フリーっぽいライブラリからちゃちゃっと作ってみました。

やった手順は、こんな感じ。
1.Visual C# 2005 Express Edition をダウンロード&インストール
マイクロソフトのページから3時間かけてダウンロードしてインストール。

2.フック用のライブラリ入手。
 http://www.codeproject.com/csharp/globalsystemhook.asp
の、ページから、サイトにユーザ登録した後、
http://www.codeproject.com/csharp/GlobalSystemHook/SystemHooksCompiledOnly.zipをダウンロード。(ソース版の方は、Visual Studio2003 っぽいし、Visual C++がいるようなので落としてもコンパイルできない。)

3.Windowsアプリでプログラム作成。(末尾に貼り付けてるけど、この他には、参照設定でKennedy.ManagedHooks.dllを参照設定してます。とくに複雑なことはやってません。)

4.実行モジュール格納先フォルダにKennedy.ManagedHooks.dll,Kennedy.ManagedHooks.xml,SystemHookCore.dllの3ファイルをコピーして、実行モジュールを起動。

でとりあえず希望の物ができたみたい。(2重起動が防止されていなかったり、左のシフトON→右のシフトON→左のシフトOFFで、シフトが押していないという表示になってしまいますが、特に問題ないかな?)
キャプチャはこんな感じ。本当はAlt+PrintScreenを押してキャプチャしてるので、「Alt PrintScreen」と表示されているのだけれど、PrintScreenを表示前にキャプチャしているようです。

最後に、
5.「劇あれ」でデスクトップ録画→mpgファイルに保存。で完了。

で録画したものをみたら、大体5秒間隔に画面が変わるみたい。

・・・全然だめじゃん。おいらのPC遅すぎ。

そういえば、昔々業務で、マウスボタンをフックするプログラムを書いたのだけれどその時は、リリース後、AntiVirusソフトに「Virusの疑い」をかけられて大騒ぎになったことがあったなぁ。

今回はどうかな?Anti Virusソフトで実行モジュールのフォルダをスキャンしてみると。。。あれ?キーロガーと判断してくれない。

このdllってカーネル書き換えする類のものなのかも?

アルファベットを見ていると眠くなってしまうため、説明ページをちゃんと読めないのでよくわかりませんが。




----
Form1.cs
----
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using Kennedy.ManagedHooks;

namespace WindowsApplication1
{
public partial class PressedButtonDisplay : Form
{
private MouseHook mouseHook = null;
private KeyboardHook keyboardHook = null;
private List<keys> keyList = null;
private List<mouseevents> mouseButtonList= null;

public PressedButtonDisplay()
{
InitializeComponent();

mouseHook = new MouseHook();
mouseHook.MouseEvent += new MouseHook.MouseEventHandlermouseHook_MouseEvent);
keyboardHook = new KeyboardHook();
keyboardHook.KeyboardEvent += new KeyboardHook.KeyboardEventHandler(keyboardHook_KeyboardEvent);
keyList = new List<keys>();
mouseButtonList = new List<mouseevents>();

}

private void Form1_Load(object sender, EventArgs e)
{


mouseHook.InstallHook();
keyboardHook.InstallHook();

SetDesktopLocation(Screen.PrimaryScreen.WorkingArea.Width - Width, Screen.PrimaryScreen.WorkingArea.Height - Height);
}

private void mouseHook_MouseEvent(MouseEvents mEvent, Point point)
{
switch(mEvent)
{
case MouseEvents.LeftButtonDown:
case MouseEvents.RightButtonDown:
case MouseEvents.MouseWheel:
if (!mouseButtonList.Contains(mEvent)) mouseButtonList.Add(mEvent);
break;
case MouseEvents.RightButtonUp:
mouseButtonList.Remove(MouseEvents.RightButtonDown);
break;
case MouseEvents.LeftButtonUp:
mouseButtonList.Remove(MouseEvents.LeftButtonDown);
break;
case MouseEvents.Move:
mouseButtonList.Remove(MouseEvents.MouseWheel);
break;
default:
mouseButtonList.Clear();
break;
}
string afterText = "";
foreach (MouseEvents itme in mouseButtonList) afterText += itme.ToString().Replace("Down", "") + " ";
if (DisplayMouseButton.Text != afterText) DisplayMouseButton.Text = afterText;
}
private void keyboardHook_KeyboardEvent(KeyboardEvents kEvent, Keys key)
{
switch (kEvent)
{
case KeyboardEvents.KeyDown:
case KeyboardEvents.SystemKeyDown:
if (!keyList.Contains(key)) keyList.Add(key);
break;
case KeyboardEvents.KeyUp:
case KeyboardEvents.SystemKeyUp:
keyList.Remove(key);
break;
default:
keyList.Clear();
break;
}
string afterText = "";
foreach (Keys itk in keyList) afterText += itk.ToString() + " ";
if (DisplayInputKey.Text != afterText) DisplayInputKey.Text = afterText;
}
}
}



---
Form1.desiner.cs
----
namespace WindowsApplication1
{
partial class PressedButtonDisplay
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (mouseHook != null)
{
mouseHook.Dispose();
mouseHook = null;
}
if (keyboardHook != null)
{
keyboardHook.Dispose();
keyboardHook = null;
}
}
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows フォーム デザイナで生成されたコード

private void InitializeComponent()
{
this.DisplayMouseButton = new System.Windows.Forms.Label();
this.DisplayInputKey = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// DisplayMouseButton
//
this.DisplayMouseButton.AutoSize = true;
this.DisplayMouseButton.Font = new System.Drawing.Font("MS UI Gothic", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
this.DisplayMouseButton.Location = new System.Drawing.Point(12, 66);
this.DisplayMouseButton.Name = "DisplayMouseButton";
this.DisplayMouseButton.Size = new System.Drawing.Size(430, 48);
this.DisplayMouseButton.TabIndex = 0;
this.DisplayMouseButton.Text = "DisplayMouseButton";
//
// DisplayInputKey
//
this.DisplayInputKey.AutoSize = true;
this.DisplayInputKey.Font = new System.Drawing.Font("MS UI Gothic", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
this.DisplayInputKey.Location = new System.Drawing.Point(12, 9);
this.DisplayInputKey.Name = "DisplayInputKey";
this.DisplayInputKey.Size = new System.Drawing.Size(340, 48);
this.DisplayInputKey.TabIndex = 0;
this.DisplayInputKey.Text = "DisplayInputKey";
//
// PressedButtonDisplay
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(484, 123);
this.Controls.Add(this.DisplayInputKey);
this.Controls.Add(this.DisplayMouseButton);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "PressedButtonDisplay";
this.Opacity = 0.5;
this.Text = "PressedButtonDisplay";
this.TopMost = true;
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();

}

#endregion

private System.Windows.Forms.Label DisplayMouseButton;
private System.Windows.Forms.Label DisplayInputKey;
}
}

初投稿

初投稿テスト