2008-10-01から1ヶ月間の記事一覧

LinuxでDiskの情報を取得する

久しぶりに日記の更新です。 前回Windows系の情報収集等のプログラミングをやって来ていたんですが、先週はLinux系の情報収集に翻弄されていました。 その第一弾はDisk情報の取得で、WindowsだとWMIを使って比較的簡単に取得できたんですが、Linuxの方は取得…

変換するロケールをjapanese以外にも出来るかな

昨日作ったJavaの文字化けを修正するプログラムですが、一方的にJapaneseしか扱っていなかったので、新しいLocaleをパラメータで渡すように変更しました。 また、クラスの名前もJapaneseだったのをCharSetに、メソッド名もFixCharsetをchangeLocaleに変更し…

NetworkInterface.getDisplayName()で発生する文字化けをチェック

Javaのjava.net.NetworkInterfaceにある、getDisplayName()メソッドで文字化けするために、IPHLPAPIを使って新たにクラスを作るということを以前していましたが、何故文字化けするのか調査しようと思って、簡単なテストプログラムを作ってみました。 Javaのj…

ルート情報を通知するJNIクラスを一部修正しました。

どうもsave_class()関数のロジックでjfieldID等を取得する部分を毎回実行するって言うのが気に入らなくて色々と試して見ました。 まぁ、ロジックが冗長になったのは、Javaから呼び出した時に内部エラーが発生していたので、てっきりC++のロジックの作り方の…

ルート情報の変更を通知するJavaのクラスを作りました。

C++用に作成されたクラスを利用してJavaでもルートの変更通知を受取るクラスを作りました。 Javaのクラスとしては、通知処理を司るRouteCheckクラスと、通知をイベントとして受取るRouteCheckListenerクラスを作りました。 RouteCheck.java package net; pub…

ルート情報が変更されると通知するクラスを作りました

必要にせまられてルート情報の変更を取得したいということで、IPHLPAPIを使ってルート情報の変更を通知するクラスを作りました。 NotifyRouteChange()関数には、同期タイプと非同期タイプの両方あるのですが、今回は非同期モードにしてWaitForSingleObject()…

コンソールを出さないように書き換えました。

やっぱり、Windowsアプリケーションでコンソール出力は邪道だとおもって、これもかなり怠慢ですが、Javaのコンソール出力をキャプチャして、最終的にMessageBoxで結果を表示させるように組み替えてみました。 #include "wjnicall.h" int APIENTRY _tWinMain(…

サンプルプログラムをWindowsアプリケーションで・・・

9/30に作ったJavaアプリケーション呼び出しのサンプルプログラムが結局コンソールアプリケーションだったので、それをWindowsアプリケーションで作り直してみました。 コンソールアプリケーションと違ってWindowsアプリケーションは実行時のパラメータを一つ…