2016年11月15日火曜日
無線LAN繋がらなくなる障害の一つとして
本社事務所に設置している同じ型の2つの無線アクセスポイントの一つが不定期に繋がりづらくなり、しまいにはネットワーク障害が起こっていた。
対策として
全PCのIP固定化
SSIDの再設定
チャンネル設定
モバイルテザリングの排除
ローミングの廃止
時刻設定
対策という対策をしてもこればかりは不定期に障害が発生していた。
そのアクセスポイントから接続されたPCへPINGが通らない。
アクセスポイントを再起動すると正常に動作する。
途方に暮れていたある日、ふとその障害が動力系コンセントの付近に設置していると思い、その付近に関係ないと思われる場所のコンセントから電源を供給してみた。
そうすると最低でも週1で発生していた障害が10日たった現在、まったく発生していない。
動力系はプリンターである。
レーザープリンター、ドットインパクトプリンターと接続されている同じタップから供給していた。
その付近にはFAX複合機も2台ある。
もしかすると、タイミングが悪い場合に瞬間的に電圧が足りない場合を考える必要があるのか?
たまに瞬電(瞬断)が起こる時が目に見えて判るチャンスではないかと思う。
その時に確認してみようと思う。
それにしても現在、平和な状況が訪れている。そうであって願いたい
対策として
全PCのIP固定化
SSIDの再設定
チャンネル設定
モバイルテザリングの排除
ローミングの廃止
時刻設定
対策という対策をしてもこればかりは不定期に障害が発生していた。
そのアクセスポイントから接続されたPCへPINGが通らない。
アクセスポイントを再起動すると正常に動作する。
途方に暮れていたある日、ふとその障害が動力系コンセントの付近に設置していると思い、その付近に関係ないと思われる場所のコンセントから電源を供給してみた。
そうすると最低でも週1で発生していた障害が10日たった現在、まったく発生していない。
動力系はプリンターである。
レーザープリンター、ドットインパクトプリンターと接続されている同じタップから供給していた。
その付近にはFAX複合機も2台ある。
もしかすると、タイミングが悪い場合に瞬間的に電圧が足りない場合を考える必要があるのか?
たまに瞬電(瞬断)が起こる時が目に見えて判るチャンスではないかと思う。
その時に確認してみようと思う。
それにしても現在、平和な状況が訪れている。そうであって願いたい
2016年7月4日月曜日
無線LANが切れる、繋がらないの不具合
無線LANを快適に運用するには
いろいろ悩みました。
理想としては以下の条件がよろしいかと
無線親機が1台
使用範囲見通し10~15m以内
固定IP運用
セキュリティオプションがあればKey更新間隔 0
接続端末5台以内(同時)
これで問題があるのであれば親機に問題があると思います。
それ以外の条件としてここからが問題を複雑にしています
■無線親機が複数
チャンネルは出来るだけ離す
SSIDは同じしない
設置場所は近くにしない(接続台数が相当数ある場合と考えられます)
■リピーターを使用
リピーターを使用する場合リピーター近辺で接続してしまうと
親機とリピーターのSSIDを取り合うらしく接続が意味なく切断される
親機の届かない範囲のリピータだけの電波が届く場所で使用することが条件となる
なので移動式の媒体はSSIDの取り合いで無線LANの接続が切れる場合がある
(電波が弱くなっても使えるギリギリまで接続を離さないので近い同じSSIDであってもそれと接続しないし、タイミングによっては同じSSIDでも親機が違うと無線接続のキーが一致しない現象も発生するようで接続できているように見えてもインターネットが出来ないといったおかしな状態になる)
そこでリピーターの性能で使用方法を考えなければならない
受ける電波は親機のSSIDでリピーターの先は違うSSIDが設定出来る機種か?
これができれば違うSSIDを設定する。パスワードは一緒でも構わない
出来ない場合(MZK-EX300N2など)は使用する場所と接続する端末の位置を考えること
電波設定が重複しやすい場所は必ずインターネットが不安定になります。
(親機のSSIDを受けて、リピーターから出す電波が親機と同じ設定であれば、その周辺で使用する端末は両方の電波設定の影響をモロにうけて混乱が始まります)
その場合は無線親機、リピーター、端末を再起動
しかし一旦は正常になってもしばらくすると不安定になるので解決にはならない
ローミングをしたい場合は受信側の性能に関わってきます
あまりお勧めはしません。KeyEnceハンディあたりはその部分が良くできていると思います。
同じSSIDでチャンネルを変更して配置しても接続が出来なくなる不具合がありません。
電波干渉の配慮は大事ですがPCの無線LANよりははるかに接続が安定します
以上の条件を踏まえるとSSIDは一緒にしない
チャンネルは出来るだけ離す
SSIDが複数の場合は使用する端末は全てのSSIDを登録する(自動接続設定をしておけば移動出来るようになる)
同じSSIDが複数ある場合の運用は素人には相当難しいということがわかった
これをやめてからは問題がほとんど起きなくなった
ちなみに2.4GHZは電子レンジ使用時は諦めること
いろいろ悩みました。
理想としては以下の条件がよろしいかと
無線親機が1台
使用範囲見通し10~15m以内
固定IP運用
セキュリティオプションがあればKey更新間隔 0
接続端末5台以内(同時)
これで問題があるのであれば親機に問題があると思います。
それ以外の条件としてここからが問題を複雑にしています
■無線親機が複数
チャンネルは出来るだけ離す
SSIDは同じしない
設置場所は近くにしない(接続台数が相当数ある場合と考えられます)
■リピーターを使用
リピーターを使用する場合リピーター近辺で接続してしまうと
親機とリピーターのSSIDを取り合うらしく接続が意味なく切断される
親機の届かない範囲のリピータだけの電波が届く場所で使用することが条件となる
なので移動式の媒体はSSIDの取り合いで無線LANの接続が切れる場合がある
(電波が弱くなっても使えるギリギリまで接続を離さないので近い同じSSIDであってもそれと接続しないし、タイミングによっては同じSSIDでも親機が違うと無線接続のキーが一致しない現象も発生するようで接続できているように見えてもインターネットが出来ないといったおかしな状態になる)
そこでリピーターの性能で使用方法を考えなければならない
受ける電波は親機のSSIDでリピーターの先は違うSSIDが設定出来る機種か?
これができれば違うSSIDを設定する。パスワードは一緒でも構わない
出来ない場合(MZK-EX300N2など)は使用する場所と接続する端末の位置を考えること
電波設定が重複しやすい場所は必ずインターネットが不安定になります。
(親機のSSIDを受けて、リピーターから出す電波が親機と同じ設定であれば、その周辺で使用する端末は両方の電波設定の影響をモロにうけて混乱が始まります)
その場合は無線親機、リピーター、端末を再起動
しかし一旦は正常になってもしばらくすると不安定になるので解決にはならない
ローミングをしたい場合は受信側の性能に関わってきます
あまりお勧めはしません。KeyEnceハンディあたりはその部分が良くできていると思います。
同じSSIDでチャンネルを変更して配置しても接続が出来なくなる不具合がありません。
電波干渉の配慮は大事ですがPCの無線LANよりははるかに接続が安定します
以上の条件を踏まえるとSSIDは一緒にしない
チャンネルは出来るだけ離す
SSIDが複数の場合は使用する端末は全てのSSIDを登録する(自動接続設定をしておけば移動出来るようになる)
同じSSIDが複数ある場合の運用は素人には相当難しいということがわかった
これをやめてからは問題がほとんど起きなくなった
ちなみに2.4GHZは電子レンジ使用時は諦めること
2016年3月14日月曜日
ACCESS2013ランタイムのバーコード表示
バーコード表示するプログラムはバージョンによっては表示出来ないことがあったが、ランタイム上で表示出来ない場合、バーコードに対応するDLLが不足している場合がある
不足しているDLL
MSBARCODE.DLL
開発出来る端末からコピーして同じ場所に貼りつけると表示されるようになるが端末が多い場合は最初からセットしたほうがよさそうだ
C:\Program Files (x86)\Microsoft Office\Office15
通常はこの場所(64bit)の場合
製品版では気にする必要がないが、他にも同じようなことがあるのだろうか
不足しているDLL
MSBARCODE.DLL
開発出来る端末からコピーして同じ場所に貼りつけると表示されるようになるが端末が多い場合は最初からセットしたほうがよさそうだ
C:\Program Files (x86)\Microsoft Office\Office15
通常はこの場所(64bit)の場合
製品版では気にする必要がないが、他にも同じようなことがあるのだろうか
2016年2月12日金曜日
リモートデスクトップログアウト時にデスクトップを表示
windows8.1
リモートデスクトップを閉じた際に、サーバ側の PC がログオン画面のままになるのを回避する場合以下のコマンドが有効
tscon.exe RDP-Tcp#0 /dest:console
batファイルとして作成して、りモートデスクトップ終了時に管理者で実行するとログオフしリモートされたPCはデスクトップを表示するはずであった。
しかし、何度もは入ったり出たりすると#0の部分が#1,#2と変わってしまうので作動しなくなる結果に。
それで動的にヒットするまで処理を回したらどうだということで以下のコマンドを走らせてみた
for /L %%e in (1,1,100) do tscon.exe RDP-Tcp#%%e /dest:console
とりあえず1~100まで処理をすれと
そうすることで安定してログアウトが可能になった。
100を超えるくらい出たり入ったりするならばパラメータを変更すれば良い
あまり美しくは無いがまずは良しとしよう
リモートデスクトップを閉じた際に、サーバ側の PC がログオン画面のままになるのを回避する場合以下のコマンドが有効
tscon.exe RDP-Tcp#0 /dest:console
batファイルとして作成して、りモートデスクトップ終了時に管理者で実行するとログオフしリモートされたPCはデスクトップを表示するはずであった。
しかし、何度もは入ったり出たりすると#0の部分が#1,#2と変わってしまうので作動しなくなる結果に。
それで動的にヒットするまで処理を回したらどうだということで以下のコマンドを走らせてみた
for /L %%e in (1,1,100) do tscon.exe RDP-Tcp#%%e /dest:console
とりあえず1~100まで処理をすれと
そうすることで安定してログアウトが可能になった。
100を超えるくらい出たり入ったりするならばパラメータを変更すれば良い
あまり美しくは無いがまずは良しとしよう
2016年2月9日火曜日
タスクスケジューラに登録したバッチファイルが動かない
バッチファイルが動かない!のをなんとかする方法
要するに作業ディレクトリを設定しないといけないようです、上の画像は作業ディレクトリを設定する画面
タスクのプロパティ⇒操作タブ⇒操作の編集⇒開始(オプション)(T)に作業ディレクトリを指定してやれば良いみたいです、このパラメータを入れなかったので「パラメータが不適切」だと怒られたのですね。
この場合だと 開始(オプション)(T) に作業ディレクトリ(実行するプログラムが入っているフォルダ)を指定するので。
d:\wwwroot\awstats\cgi-bin\ と入力してやればOKです。
また別の方法もあるようで、バッチファイルに作業ディレクトリを指定してもよいみたいですのでこの方法で行います。

cd “d:\wwwroot\awstats\cgi-bin”
awstats.pl -config=awstats.conf -update
cd コマンドの 「/D オプションは ドライブ及びディレクトリをパラメータで指定した場所に移動」するものです、「%~dp0 とは実行されているファイルが置かれているカレントディレクトリ」の事です、つまりバッチファイルを実行している場所にドライブとディレクトリを移動すると言う意味だそうで、上記のタスク設定画面に入力するのと同じ事のようです。
要するに作業ディレクトリを設定しないといけないようです、上の画像は作業ディレクトリを設定する画面
タスクのプロパティ⇒操作タブ⇒操作の編集⇒開始(オプション)(T)に作業ディレクトリを指定してやれば良いみたいです、このパラメータを入れなかったので「パラメータが不適切」だと怒られたのですね。
この場合だと 開始(オプション)(T) に作業ディレクトリ(実行するプログラムが入っているフォルダ)を指定するので。
d:\wwwroot\awstats\cgi-bin\ と入力してやればOKです。
また別の方法もあるようで、バッチファイルに作業ディレクトリを指定してもよいみたいですのでこの方法で行います。

バッチファイルに赤文字部分を追加
cd /D %~dp0cd “d:\wwwroot\awstats\cgi-bin”
awstats.pl -config=awstats.conf -update
cd コマンドの 「/D オプションは ドライブ及びディレクトリをパラメータで指定した場所に移動」するものです、「%~dp0 とは実行されているファイルが置かれているカレントディレクトリ」の事です、つまりバッチファイルを実行している場所にドライブとディレクトリを移動すると言う意味だそうで、上記のタスク設定画面に入力するのと同じ事のようです。
2015年1月9日金曜日
KEYENCEハンディでプログラム開発 マイクロソフトACCESSを使う
KEYENCE(キーエンス)ハンディのプログラム開発で
マイクロソフトのACCESSを使用したスキャン検品システムを構築
特殊な開発ツールは全く必要なく出来あがりました。
応用するとエクセルのVBAでもおそらく可能です。
しいて言えば、音の制御はVBを使用するスキルは必要になります。
この環境で運用するにはある程度条件が必要になります
1)1秒間に3~4回以上の速さを求めるスキャニングには適さない
2)リモートデスクトップを使用するので、台数が多くなると管理が難しい
3)BEEP音の制御はVBも同時に制御する必要がある
4)無線LAN設備と配置問題(ローミング設定は比較的容易)
以上の条件を考えるとやはり大規模向けには少し問題があると感じます。
小規模で1)のような速さが必要なければ導入コストが通常の場合と比較にならないくらい格段に下がりますので導入検討の余地は十分にあると思います。
MSACCESS開発をしているところであれば容易に作成可能です
具体的な導入方法はまた後で紹介したいと思います。
マイクロソフトのACCESSを使用したスキャン検品システムを構築
特殊な開発ツールは全く必要なく出来あがりました。
応用するとエクセルのVBAでもおそらく可能です。
しいて言えば、音の制御はVBを使用するスキルは必要になります。
この環境で運用するにはある程度条件が必要になります
1)1秒間に3~4回以上の速さを求めるスキャニングには適さない
2)リモートデスクトップを使用するので、台数が多くなると管理が難しい
3)BEEP音の制御はVBも同時に制御する必要がある
4)無線LAN設備と配置問題(ローミング設定は比較的容易)
以上の条件を考えるとやはり大規模向けには少し問題があると感じます。
小規模で1)のような速さが必要なければ導入コストが通常の場合と比較にならないくらい格段に下がりますので導入検討の余地は十分にあると思います。
MSACCESS開発をしているところであれば容易に作成可能です
具体的な導入方法はまた後で紹介したいと思います。
2014年12月26日金曜日
ACCESSからVB.netへ 文字を送信
ACCESSから起動できないプログラムでVBからは起動できる
そんな場合にACCESSからパラメータとして文字送信をし
VBで受け取りその内容に応じて処理を行う
windows32 APIを利用 SendMessage
送信側 (ACCESS)
Option Compare Database
Option Explicit
'ウィンドウハンドル取得
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'子ウィンドウハンドル取得
Private Declare Function FindWindowExA Lib "user32" _
(ByVal hpar As Long, ByVal hchi As Long, ByVal cnm As String, ByVal cap As String) As Long
'メッセージ送信
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_COPYDATA = &H4A
Private Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As String
End Type
Function strSend()
Dim hWnd As Long
Dim sdtCOPYDATASTRUCT As COPYDATASTRUCT
Dim txtSendData As String
txtSendData = "ABCDEFG"
Dim Ret As Long
'送信データ格納
sdtCOPYDATASTRUCT.dwData = 0
sdtCOPYDATASTRUCT.cbData = LenB(txtSendData) + 1
If Nz(txtSendData, "") = "" Then
sdtCOPYDATASTRUCT.lpData = vbNullChar
Else
sdtCOPYDATASTRUCT.lpData = txtSendData '送信データ
End If
'受信側のウィンドウハンドル取得
hWnd = FindWindow(vbNullString, "フォーム名")
If hWnd <> 0 Then
Call SendMessage(hWnd, WM_COPYDATA, 0, sdtCOPYDATASTRUCT)
End If
End Function
受信側 VB.NET
'COPYDATASTRUCT構造体
Public Structure COPYDATASTRUCT
Public dwData As IntPtr '送信する32ビット値
Public cbData As Int32 'lpDataのバイト数
Public lpData As String '送信するデータへのポインタ(0も可能)
End Structure
Public Const WM_COPYDATA As Int32 = &H4A
Public Const WM_USER As Int32 = &H400
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_USER
'数値が送信されて来た
TextBox1.Text = m.WParam.ToString()
'txtInt2.Text = m.LParam.ToString()
Case WM_COPYDATA
'文字が送信されて来た
Dim mystr As COPYDATASTRUCT = New COPYDATASTRUCT()
Dim mytype As Type = mystr.GetType()
mystr = CType(m.GetLParam(mytype), COPYDATASTRUCT)
TextBox1.Text = mystr.lpData
End Select
MyBase.WndProc(m)
End Sub
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
’TextChangedイベントトラップを使って処理を実行
MessageBox.Show(Me.TextBox1.Text)
Me.TextBox1.Text = " "
End Sub
VBでしか動かせないものがある場合に使用出来ます。
VBフォームを予めOpenしておかなければならない点が我慢できるのであれば
選択肢として使えるのではないかと思います。
そんな場合にACCESSからパラメータとして文字送信をし
VBで受け取りその内容に応じて処理を行う
windows32 APIを利用 SendMessage
送信側 (ACCESS)
Option Compare Database
Option Explicit
'ウィンドウハンドル取得
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'子ウィンドウハンドル取得
Private Declare Function FindWindowExA Lib "user32" _
(ByVal hpar As Long, ByVal hchi As Long, ByVal cnm As String, ByVal cap As String) As Long
'メッセージ送信
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_COPYDATA = &H4A
Private Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As String
End Type
Function strSend()
Dim hWnd As Long
Dim sdtCOPYDATASTRUCT As COPYDATASTRUCT
Dim txtSendData As String
txtSendData = "ABCDEFG"
Dim Ret As Long
'送信データ格納
sdtCOPYDATASTRUCT.dwData = 0
sdtCOPYDATASTRUCT.cbData = LenB(txtSendData) + 1
If Nz(txtSendData, "") = "" Then
sdtCOPYDATASTRUCT.lpData = vbNullChar
Else
sdtCOPYDATASTRUCT.lpData = txtSendData '送信データ
End If
'受信側のウィンドウハンドル取得
hWnd = FindWindow(vbNullString, "フォーム名")
If hWnd <> 0 Then
Call SendMessage(hWnd, WM_COPYDATA, 0, sdtCOPYDATASTRUCT)
End If
End Function
受信側 VB.NET
'COPYDATASTRUCT構造体
Public Structure COPYDATASTRUCT
Public dwData As IntPtr '送信する32ビット値
Public cbData As Int32 'lpDataのバイト数
Public lpData As String '送信するデータへのポインタ(0も可能)
End Structure
Public Const WM_COPYDATA As Int32 = &H4A
Public Const WM_USER As Int32 = &H400
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_USER
'数値が送信されて来た
TextBox1.Text = m.WParam.ToString()
'txtInt2.Text = m.LParam.ToString()
Case WM_COPYDATA
'文字が送信されて来た
Dim mystr As COPYDATASTRUCT = New COPYDATASTRUCT()
Dim mytype As Type = mystr.GetType()
mystr = CType(m.GetLParam(mytype), COPYDATASTRUCT)
TextBox1.Text = mystr.lpData
End Select
MyBase.WndProc(m)
End Sub
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
’TextChangedイベントトラップを使って処理を実行
MessageBox.Show(Me.TextBox1.Text)
Me.TextBox1.Text = " "
End Sub
VBでしか動かせないものがある場合に使用出来ます。
VBフォームを予めOpenしておかなければならない点が我慢できるのであれば
選択肢として使えるのではないかと思います。
2013年7月18日木曜日
完全バックアップを別データベースに復元する方法
1.SQLServer Management Studio を起動
2.「データベース」を右クリックして、「新しいデータベース」を作成
3.「データベース」を右クリックして、「データベースの復元」をクリック
4.「全般」タブの復元先→復元先データベースに上で新規作成したデータベースを選択
5.「 復元用のソース」で「デバイスから」をチェックし、完全バックアップファイルを指定
6.[オプション]タブで「既存のデータベースを上書きする」をチェック
7.[OK]
8.完了
■注意1
「オプション」タブの「既存のデータベースを上書きする」のチェックを行いわないと
バックアップ セットは、既存のデータベース ‘%ls’ 以外のデータ
ベースのバックアップを保持しています。
といったエラーメッセージが表示される
■注意2
「オプション」タブの「次のデータベースファイルに復元」で
•databasename.mdf
•databasename_log.ldf
ともに、新しく作成したDBのものを参照していることを確認。間違ったパスを参照していると
サーバー’サーバ名’の復元に失敗しました。(Microsoft.SqlServer.Smo)
追加情報:
System.Data.SqlClient.SqlError:オペレーティング システム エラー3(指定されたパスが見つかりません)により、ファイル”mdf ファイルへのパス”のディレクトリ参照に失敗しました。(Microsoft.SqlServer.Smo)
といったメッセージが表示される。
2.「データベース」を右クリックして、「新しいデータベース」を作成
3.「データベース」を右クリックして、「データベースの復元」をクリック
4.「全般」タブの復元先→復元先データベースに上で新規作成したデータベースを選択
5.「 復元用のソース」で「デバイスから」をチェックし、完全バックアップファイルを指定
6.[オプション]タブで「既存のデータベースを上書きする」をチェック
7.[OK]
8.完了
■注意1
「オプション」タブの「既存のデータベースを上書きする」のチェックを行いわないと
バックアップ セットは、既存のデータベース ‘%ls’ 以外のデータ
ベースのバックアップを保持しています。
といったエラーメッセージが表示される
■注意2
「オプション」タブの「次のデータベースファイルに復元」で
•databasename.mdf
•databasename_log.ldf
ともに、新しく作成したDBのものを参照していることを確認。間違ったパスを参照していると
サーバー’サーバ名’の復元に失敗しました。(Microsoft.SqlServer.Smo)
追加情報:
System.Data.SqlClient.SqlError:オペレーティング システム エラー3(指定されたパスが見つかりません)により、ファイル”mdf ファイルへのパス”のディレクトリ参照に失敗しました。(Microsoft.SqlServer.Smo)
といったメッセージが表示される。
2012年3月8日木曜日
メモリ上のゴミ掃除アプリ empty.exe
動作が遅くなった場合に有効なアプリ empty.exe
入手方法
「Windows Server 2003 Resource Kit Tools」
これをダウンドーロ
ファイル名
「rktools.exe」をダウンロードし解凍する
その中の
rktools.msiをインストール
インストールされる場所だが32ビット版と64ビット版で以下のようになる。
32ビット版の場合:C:\Program Files\Windows Resource Kits\Tools\
64ビット版の場合:C:\Program Files (x86)\Windows Resource Kits\Tools\
■「empty.exe」をsystem32フォルダにコピーする
メモ帳を使ってバッチファイルを作成する
@echo
offempty.exe *
を入力
拡張子.batで登録完了
入手方法
「Windows Server 2003 Resource Kit Tools」
これをダウンドーロ
ファイル名
「rktools.exe」をダウンロードし解凍する
その中の
rktools.msiをインストール
インストールされる場所だが32ビット版と64ビット版で以下のようになる。
32ビット版の場合:C:\Program Files\Windows Resource Kits\Tools\
64ビット版の場合:C:\Program Files (x86)\Windows Resource Kits\Tools\
■「empty.exe」をsystem32フォルダにコピーする
メモ帳を使ってバッチファイルを作成する
@echo
offempty.exe *
を入力
拡張子.batで登録完了
2012年2月6日月曜日
スマートフォンを安く運用
イオンSIMで月980円 通信速度 100kbps ←これは基本
イオン新サービスで
音声通話プラン プラスで 月額基本料 1,290円(税込)プランS
無料通話 1,365円(最大32.5分)
超過分 21円/30秒
電話番号は変わらない
これで一応音声通話が可能
代替え案で
BlueSIPフォン
初期登録料・・・・・525円
基本料・・・・637.35円
通話料・・・・基本的に21円/分
電話番号はIPの電話番号に変わる
もう少しで今までのようにコストをかけなくてもスマートフォンをもつことができそうだ。
やはり少なからずスマホのサービスを教授できることがこれからは望ましいと思う。
イオン新サービスで
音声通話プラン プラスで 月額基本料 1,290円(税込)プランS
無料通話 1,365円(最大32.5分)
超過分 21円/30秒
電話番号は変わらない
これで一応音声通話が可能
代替え案で
BlueSIPフォン
初期登録料・・・・・525円
基本料・・・・637.35円
通話料・・・・基本的に21円/分
電話番号はIPの電話番号に変わる
もう少しで今までのようにコストをかけなくてもスマートフォンをもつことができそうだ。
やはり少なからずスマホのサービスを教授できることがこれからは望ましいと思う。
2012年2月5日日曜日
CPUの世代
最新CPUは高いので型落ちを狙います。その目安で一覧を確認。
年 コードネーム プロセス
2006年 Merom 65nm Core Micro Architecture
2007年 Penry 45nm Core Micro Architecture, SSE4.1
2008年 Nehalem 45nm Native Quad-core,メモリコントローラ統合
2010年 Westmere 32nm GPUコアを同一パッケージ化, AES-NI
2011年 SandyBridge 32nm GPUコアを1ダイに統合, AVX
2012年 IvyBridge 22nm Die stacking technology導入?
2013年 Haswell 22nm Die stacking technologyの本格導入が検討されているよう以前はこのあたりで“Larrabee”統合と言われていたようだが、現在では先送りされている
2014年? Broadwell 16nm 以前は“Rockwell”と言われていた世代
2015年? SkyLake 16nm Larrabee 2を統合するといわれているが、GenX graphicsも検討されているよう
2016年? Skymont 11nm
年 コードネーム プロセス
2006年 Merom 65nm Core Micro Architecture
2007年 Penry 45nm Core Micro Architecture, SSE4.1
2008年 Nehalem 45nm Native Quad-core,メモリコントローラ統合
2010年 Westmere 32nm GPUコアを同一パッケージ化, AES-NI
2011年 SandyBridge 32nm GPUコアを1ダイに統合, AVX
2012年 IvyBridge 22nm Die stacking technology導入?
2013年 Haswell 22nm Die stacking technologyの本格導入が検討されているよう以前はこのあたりで“Larrabee”統合と言われていたようだが、現在では先送りされている
2014年? Broadwell 16nm 以前は“Rockwell”と言われていた世代
2015年? SkyLake 16nm Larrabee 2を統合するといわれているが、GenX graphicsも検討されているよう
2016年? Skymont 11nm
2011年11月28日月曜日
DataGridviewのEnterによるタブ指定移動
久しぶりの投稿です。
DatagridviewによるEnterでのTAB移動は通常は下の段に移動します。これを横移動させる方法としては検索すると周知の通りだとおもいます。
さらにこの移動を自在にコントロールしたいと考えたのですがそこまでの需要が無いのか方法がまったくと言っていいほど見当たりませんでした。
そこで簡単に出来ないかと色々試したのですが一番簡単な方法としては次のようになりました。
まずはDatagridviewをオーバーライドします。このオーバーライドしたDatagridviewからでなければ話が先に進みません
Module Datagridview_EX
Public Class CustomDataGridView
Inherits DataGridView
Protected Overrides Function ProcessDialogKey( _
ByVal keyData As Keys) As Boolean
'Enterキーが押された際に、タブキーが押されたことにし、
'それ以外のキーの場合は、通常どおり実行します。
If (keyData And Keys.KeyCode) = Keys.Enter Then
Return Me.ProcessTabKey(keyData)
Else
Return MyBase.ProcessDialogKey(keyData)
End If
End Function
Protected Overrides Function ProcessDataGridViewKey( _
ByVal e As KeyEventArgs) As Boolean
'Enterキーが押された際に、タブキーが押されたことにし、
'それ以外のキーの場合は、通常どおり実行します。
If e.KeyCode = Keys.Enter Then
Return Me.ProcessTabKey(e.KeyCode)
Else
Return MyBase.ProcessDataGridViewKey(e)
End If
End Function
End Class
End Module
これで
CustomDataGridViewがツールボックスに新しいコンポーネントとして登録されます。
そこからですが
Return Me.ProcessTabKey(keyData)
この部分がTAB移動させるプロパティに
And Me.ProcessLeftKey(keyData)を後ろに追加する。これは矢印キーを押したことになります。
こうすることで左から順に処理されます。
それでカーソルの位置情報をから指定のTABオーダー制御すると簡単な移動であれば対処が可能となりました。
より複雑な移動は独自で関数などを作成しなければなりませので、判り次第追記しようとおもいます。
尚、Datagridviewで今いるセルの位置情報は下記で取得出来ます。
Private Sub CustomDataGridView1_CellEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles CustomDataGridView1.CellEnter
Me.ROWCNT.Text = e.RowIndex
Me.ColumnNo.Text = e.ColumnIndex
Me.ROWNO.Text = e.RowIndex
CustomDataGridView1.Focus()
End Sub
フォームにROWCNTのテキストBOXとColumnNoというテキストBOXを配置して下さい。
2011年10月31日月曜日
spoolsv.exe によるCPU使用率100%の怪
ある日突如としてPCの動きが明らかに遅くなった。
何だよ・・・ぶつぶつ言いながらタスクマネージャーをひらこうもそれすら遅い。
ようやく開くとCPU使用率が100%と表示され、そのタスクがspoolsv.exeとSNAP2RPK.exeさらにUPlive.exeだった。
これを特定するのにまた時間がかかった。なにをするにも遅い。とにかく遅い。
そして、原因がspoolsv.exeと特定出来たがそこからがまた厄介である。
なにせ、プリンタのドライバを削除しようとしてもハングしてまったく動かないのだ。
何度かトライしたが時間ばかりがたつ・・・
そこ記憶をたどって正常
何だよ・・・ぶつぶつ言いながらタスクマネージャーをひらこうもそれすら遅い。
ようやく開くとCPU使用率が100%と表示され、そのタスクがspoolsv.exeとSNAP2RPK.exeさらにUPlive.exeだった。
これを特定するのにまた時間がかかった。なにをするにも遅い。とにかく遅い。
そして、原因がspoolsv.exeと特定出来たがそこからがまた厄介である。
なにせ、プリンタのドライバを削除しようとしてもハングしてまったく動かないのだ。
何度かトライしたが時間ばかりがたつ・・・
そこ記憶をたどって正常
2011年10月26日水曜日
Windows Live メールCSVアドレス取込の文字化け
久しぶりの更新です
OutLookExpressでアドレス帳の取込をCSVで行っていたのだがこれをWindows Liveメールで行うと文字化け起こり取込が出来なかった。
レイアウトなどの問題はないのだが文字コードを
ANSIからUTF-8に変更をしなければならない
とりあえずアドレス帳だけだというのだが・・・
変更はメモ帳などで一度開いて文字コードを選択して保存すると出来る。
OutLookExpressでアドレス帳の取込をCSVで行っていたのだがこれをWindows Liveメールで行うと文字化け起こり取込が出来なかった。
レイアウトなどの問題はないのだが文字コードを
ANSIからUTF-8に変更をしなければならない
とりあえずアドレス帳だけだというのだが・・・
変更はメモ帳などで一度開いて文字コードを選択して保存すると出来る。
2011年8月9日火曜日
wuauclt.exeのWindows Updateのプロセスを軽くする WindowsXP
Automatic Updates(自動更新)サービスを停止します。
1. Windows の [スタート] メニューをクリックします。
2. [ファイル名を指定して実行] をクリックします。.
3. [名前] ボックスに「services.msc」と入力します。
4. [OK] をクリックします。
5. [Automatic Updates] (自動更新)サービスを右クリックします。
6. [停止] をクリックします。
DataStore フォルダの内容を削除します。
1. Windows の [スタート] メニューをクリックします。
2. [ファイル名を指定して実行] をクリックします。
3. [名前] ボックスに「%windir%\SoftwareDistribution」と入力します。
4. [OK] をクリックします。
5. DataStore フォルダを開きます。
6. DataStore フォルダのすべての内容を削除します。
7. ウィンドウを閉じます。
Automatic Updates(自動更新)サービスを開始します。
1. Windows の [スタート] メニューをクリックします。
2. [ファイル名を指定して実行] をクリックします。
3. [名前] ボックスに「services.msc」と入力します。
4. [OK] をクリックします。
5. [Automatic Updates] (自動更新)サービスを右クリックします。
6. [開始] をクリックします
それにしても昔のPC、特にPEN4は当時最速だとかで喜んでいたのに、今となってはインターネット専用マシンみたいな位置づけだね。
タイムマシンに乗って未来に行き、中古品を買い物したいって思っている人は相当いるのではないだろうかと思う。2011年6月6日月曜日
SONY HX800 活用 外付けHDD
SONY BRAVIA HX800を中心とした活用法を考えていてどこから手をつけていいやらと考えていましたが、まずは少し前にDSC-HX5Vを購入したのでこれとHX800との連携を考えてみた。
DSC-HX5Vはフルハイビジョンの動画もとれるので使い勝手がかなり良い。
さらに手ぶれ補正、光学ズーム10倍、デジタルズーム15倍で遠いところからでもかなりのズームが効くので大抵のことはこれ1台で足りてしまうといった具合である。
だが、あまりにも便利だとディスク容量があっという間に一杯になってしまいそれを気にして撮れなくなるといったことが発生してしまった。
そこで外付けHDDの選択が始まったわけである。
とりあえず、HDDはUSBのみかLANも併用できるのかを考えてみたが、自分のPCは古くLANがギガビットではないのでLANの運用は消えた。さらに作業はノートPCで無線LANときたものだからHDDの物自体を考えなくてはならない。
電源コードを引いてまで無線LANのノートPCの側に外付けHDDを置くっていうのは本末転倒・・・
そうしたら電源コードが無くても動くHDDがベストと思われた。
そこで値段もそこそこの
PQI H566
を購入した。
これはUSB3.0も対応しており今後においても十分使えるのではないかとの思惑もあった。
(USB2.0の10倍の転送スピードがあるが、書き込みの方速度の問題もあるので実際の体感はやってみなければわからないが・・・)
早速SONY BPMソフトでDSC-HX5Vからデータを抜いて適当に作成したフォルダの中に保存されるようにしてその中に今後のデータをため込んでいこうと考えていた。
それだけではPCでしか動画が見られないのでなんとかならないかと考えてみた。
そこでBRAVIA HX800はDLNA運用ができることを思い出し、一般的なファイルは再生可能なことを唱っているので、よもやとは思ったがHX800のUSBとPQI H566とを繋いでみたところUSBが認識して動画や写真の再生が出来ることが判明した。
再生出来ることに感動したがつかの間、人間の欲というものに負けてしまいHX5Vの動画が細切れな部分を結合したいとの欲が出てきた。
そう思ったのが運の尽きだった。
その動画の結合がPMBソフトで結合出来るマニュアルが存在しているが、自分のPMBでは結合のプロパティが存在しない。
ややしばらくああでもないこうでもないで調べていたが、どこかにファイルフォーマットがNTFSでなければ出来ませんみたいなことが書かれたところを見つけたりとかで色々為してみた。
それでもう一度HX800に繋いだところうんともすんとも言わなくなった。
これの現象を調べてみても決定的な事項がなかなか見つからない。
そんなこんなで・・・
HX800で見るのは止めにしようかと思ったところ、SONYで出している外付けHDDを見つけた。
パソコン無しで保存されている動画が見れますよ~・・・
的なことが書かれているのでもしかするとこれと同じ話か?と・・・
そこで仕様を見てみるとファイルフォーマットがFAT32でフォーマットされているではないか。
Windowsだけの話ではないので他のOSのことも考えるとFATなのだとか
さらに昔の知識でしかなかったのだがFATは昔、容量の制限で500Gみたいな容量は実現できないと思い込んでいたのも悪さをしていた。
ところが今はFAT32は2Tまで認識するとのこと。
いやはや・・・気を取り直してもう一度ファイルフォーマットをかけなおした。
無論XPでは無理なのでフリーソフトでFAT32にフォーマットし直した。
でHX800はちゃんとPQI H566を認識して動画を表示出来るようになった。
そこでまた画像の結合を改めて考えてみることにした。
ここまでくるとPMBでの結合を考えてもしかたがないと考えを改めてダメ元で結合ソフトを使用することにシフトしてみた。なるべくレジストリを必要としないもので考えて
ファイル破断+
を使用してみた。
なかなか結合は早く簡単にファイル結合したファイルが生成されたが、PMBには写されない。
そこでよく見てみるとファイルが3つあるので全てやってみた
.m2ts
.m2ts.modd
.m2ds.moff
この3つのファイル構成に則って結合したところ見事に再生出来ました。
まあ、テレビがその機能がなければ出来ない話なのだが、リモコンにお気に入りボタンがあるのでそれを押すと簡単に再生出来ることも判明。
ここまでくるともうなんだろう・・・使用者が使いやすいように使ってというくらいに機能と方法があるのですね。このごろの機械は・・・
まいりました
DSC-HX5Vはフルハイビジョンの動画もとれるので使い勝手がかなり良い。
さらに手ぶれ補正、光学ズーム10倍、デジタルズーム15倍で遠いところからでもかなりのズームが効くので大抵のことはこれ1台で足りてしまうといった具合である。
だが、あまりにも便利だとディスク容量があっという間に一杯になってしまいそれを気にして撮れなくなるといったことが発生してしまった。
そこで外付けHDDの選択が始まったわけである。
とりあえず、HDDはUSBのみかLANも併用できるのかを考えてみたが、自分のPCは古くLANがギガビットではないのでLANの運用は消えた。さらに作業はノートPCで無線LANときたものだからHDDの物自体を考えなくてはならない。
電源コードを引いてまで無線LANのノートPCの側に外付けHDDを置くっていうのは本末転倒・・・
そうしたら電源コードが無くても動くHDDがベストと思われた。
そこで値段もそこそこの
PQI H566
を購入した。
これはUSB3.0も対応しており今後においても十分使えるのではないかとの思惑もあった。
(USB2.0の10倍の転送スピードがあるが、書き込みの方速度の問題もあるので実際の体感はやってみなければわからないが・・・)
早速SONY BPMソフトでDSC-HX5Vからデータを抜いて適当に作成したフォルダの中に保存されるようにしてその中に今後のデータをため込んでいこうと考えていた。
それだけではPCでしか動画が見られないのでなんとかならないかと考えてみた。
そこでBRAVIA HX800はDLNA運用ができることを思い出し、一般的なファイルは再生可能なことを唱っているので、よもやとは思ったがHX800のUSBとPQI H566とを繋いでみたところUSBが認識して動画や写真の再生が出来ることが判明した。
再生出来ることに感動したがつかの間、人間の欲というものに負けてしまいHX5Vの動画が細切れな部分を結合したいとの欲が出てきた。
そう思ったのが運の尽きだった。
その動画の結合がPMBソフトで結合出来るマニュアルが存在しているが、自分のPMBでは結合のプロパティが存在しない。
ややしばらくああでもないこうでもないで調べていたが、どこかにファイルフォーマットがNTFSでなければ出来ませんみたいなことが書かれたところを見つけたりとかで色々為してみた。
それでもう一度HX800に繋いだところうんともすんとも言わなくなった。
これの現象を調べてみても決定的な事項がなかなか見つからない。
そんなこんなで・・・
HX800で見るのは止めにしようかと思ったところ、SONYで出している外付けHDDを見つけた。
パソコン無しで保存されている動画が見れますよ~・・・
的なことが書かれているのでもしかするとこれと同じ話か?と・・・
そこで仕様を見てみるとファイルフォーマットがFAT32でフォーマットされているではないか。
Windowsだけの話ではないので他のOSのことも考えるとFATなのだとか
さらに昔の知識でしかなかったのだがFATは昔、容量の制限で500Gみたいな容量は実現できないと思い込んでいたのも悪さをしていた。
ところが今はFAT32は2Tまで認識するとのこと。
いやはや・・・気を取り直してもう一度ファイルフォーマットをかけなおした。
無論XPでは無理なのでフリーソフトでFAT32にフォーマットし直した。
でHX800はちゃんとPQI H566を認識して動画を表示出来るようになった。
そこでまた画像の結合を改めて考えてみることにした。
ここまでくるとPMBでの結合を考えてもしかたがないと考えを改めてダメ元で結合ソフトを使用することにシフトしてみた。なるべくレジストリを必要としないもので考えて
ファイル破断+
を使用してみた。
なかなか結合は早く簡単にファイル結合したファイルが生成されたが、PMBには写されない。
そこでよく見てみるとファイルが3つあるので全てやってみた
.m2ts
.m2ts.modd
.m2ds.moff
この3つのファイル構成に則って結合したところ見事に再生出来ました。
まあ、テレビがその機能がなければ出来ない話なのだが、リモコンにお気に入りボタンがあるのでそれを押すと簡単に再生出来ることも判明。
ここまでくるともうなんだろう・・・使用者が使いやすいように使ってというくらいに機能と方法があるのですね。このごろの機械は・・・
まいりました
2011年5月26日木曜日
2011年4月7日木曜日
google カレンダーの予定作成で自然文字認識が治った
やっと・・・やっと治った。 先ほどまでダメだった自然文字認識が今出来るようになりました。 この機能はほんとうにないと不便。 当然の機能が無くなるとこんなにストレスがたまると改めて感じました。 システムに携わる人は改めてユーザーの気持ちになろう
登録:
投稿 (Atom)