弐条海月の とはずがたり

そこはかとなく書き綴るブログなるもの

» 2011-08-18の日記

WindowsノートPCの修復…その5というか完

前回より半月が経過しました…預かっていてWindowsノートPCの修復作業がようやく終わりました。前々回までにOSがらみの問題は解決、前回で不具合のあったキーの物理的修復も済んでおります。今回は、サーバーにアクセスする際のユーザ名とパスワードを保存できない問題をプログラムを組んで強制的に解決しました(笑)。そのお話。

Windows XP Home Editionって、サーバーにアクセスする際のユーザ名とパスワードを保存できない仕様だというのを最近知ったのです(笑)。今年に入ってから以前いた部署のノートPCを何台か相次いでセットアップしましたけれども、その中にも他と同様に設定したはずなのにユーザ名とパスワードを保存できないPCがあったことを思い出しました。調べてみると…それらはすべてHome Editionであり、反対にユーザ名やパスワードを保存できるマシンはいずれもProfessionalだったんですよね。なるほど…。

つまりはHome Editionであっても毎回、サーバーにアクセスする際にユーザ名とパスワードを入力すれば良い話ではあるのですが…それが面倒だという人が部署の中にいる以上、このマシンも含めて何とかしなければならないと思い、一番手っ取り早い方法を取ることにしました。それは、自動でサーバー接続できるアプリケーションの開発(笑)。Windowsで動作するインタプリタ型のプログラム言語「HSP(Hot Soup Processor)」にて、ササッと作ってしまうことにしました。

仕様は至ってシンプルです。ユーザ名とパスワード、接続したいサーバーのディレクトリ名を記述した設定ファイルを用意し、プログラムの起動時に読み込みます。サーバーのディレクトリが存在するかどうかチェックし、存在しなければ未接続状態と判断。ユーザ名とパスワードの入力を求めるダイアログが表示されるのを待ちます。もともとあって無いようなセキュリティは今回は度外視しておりますよ(笑)。

ダイアログが表示されたら、ユーザ名とパスワードを自動入力してサーバに接続するという仕組み。サーバーのディレクトリが存在していれば、そのままそのディレクトリを開けばよいのです。プログラムの仕様上、接続したいディレクトリ毎に実行ファイルと設定ファイルを用意する必要がありますけれども、実行ファイルのショートカットを作ってネットワークディレクトリっぽいアイコンにしておけばOKでしょうね。このあたりの処理はとても簡単なので、サクサクとプログラムを書きました。ただし、私が仕事で使っているマシンはWindows98SEなので、ある程度プログラムを書いたら、Windows XP Home Editionを搭載した実機にてテストしました。

ところが…未接続状態にあるサーバーのショートカットのパスをプログラム上で開くことができないんですよね。これではユーザ名とパスワードの入力を求めるダイアログを表示することができない…なので力技。ショートカットを置いたパスを開き、HSPお得意のアプリケーションキャプチャー命令を使ってショートカットを選択しダブルクリックすると…ダイアログが出ました(笑)。

続いて…ダイアログ内にユーザ名とパスワードを入力する処理。これもアプリケーションキャプチャー命令を使うつもりだったのですが…受け付けないみたいです。常用しているモジュールの命令文でもダメでした。これがうまく行かないとプログラム的にはアウトなのですが…HSP2.61のころにお世話になった外部プラグイン「Exforce.dll」
を使ってみると…キー入力を受け付けることが分かりました(喜)。ところが「Exforce.dll」のキー入力を司る命令文「vkey」ではキーの情報は遅れても変数を扱えないので、汎用性が低い…。ユーザ名やパスワードが変わる度にプログラムも書き直してコンパイル、EXE化は面倒。なので…さらに力技を実施することにしました。

さらなる力技…それはユーザ名、パスワードの文字列を一旦クリップボードに転送し、vkey命令で「Ctrl+Vキー」を押したことにしてペーストする方法です(笑)。すごい無理矢理感がありますけれども、これならばバッチリですね。

最後にEXE化して最終テスト…期待の動作ができたのでプログラムは完成、のはずが…なぜかVisual C++のランタイムエラーというダイアログが表示されます。Win32APIを扱うHSPソースのどこかに私の記述ミスがあると思うのですが…分からない。ただし、エラーを吐き出すのはサーバーに接続しプログラムを終了する時のことなので、ダイアログさえ消してしまえば問題はないです。解決方法が分からないのですが…パソコンの持ち主は「ユーザ名とパスワードを入力しなくて済むなら、ウィンドウ1枚消すのは全然苦じゃないです」と言ってくれたので、これで良しとします(笑)。

いずれにしても、HSPは開発環境を用意するのも簡単。公式サイトからダウンロードしてインストールするだけですからね本当に簡単です。ただし、自作のモジュールとか常用している外部プラグインなどを入れる必要はありましたけれども。まぁ、それだって所定の場所にファイルをコピーするだけですから、やっぱり簡単。さて、これでやっとWindowsノートの修復作業が終了しました。予定よりかなり遅れておりますが、やっと新しい分野の仕事(詳しくは書けない)に取りかかれそうです(笑)。


固定ページ

最近の投稿

カテゴリー





カレンダー

2011年8月
1234567
891011121314
15161718192021
22232425262728
293031  

過去の日記はこちら

キーワードで検索