あなたの天然記念物
ホーム更新雑談鉄ゲタランドナーコースガイド自転車JKFFハードソフトダウンロードLinuxリンク(Amiga)リンク(その他)連絡先経歴
    目次 ↓下へ ↑上へ
  1. メールソフトYAMでJISを使う方…
  2. 簡単なMakefile作成方法
  3. WWWサーバー Apacheを使ってみる
  4. ネットワークプログラミング
  5. Scala MM400を使いました
  6. メールソフトYAMで漢字を使う方法
  7. AWebIIで漢字を表示する方法
  8. インターネットでNiftyServeへログイ…
  9. チャットしませんか?
  10. インターネットでチャット(IRC)…
  11. あなたのブラウザに挑戦
  12. JKFFについて知っている二、三の…
  13. CD-ROMを焼き焼き
  14. Professional File System 2を使用開…
  15. 日本語エディタJKED
  16. P-MODELから曲を買ってCD-ROMに
  17. OS3.5インストール方法
  18. TAINACO-Eスクリーンブランカ
  19. Linuxとパラレル接続
  20. 動画ファイルを再生
  21. Real time graphics display trigger …
  22. JKFF最新リリース
  23. AmigaDOS3.9(アイコン編)
  24. AmigaDOS3.9(ファイルリクエスタ…
  25. AmigaDOS3.9(パーティション編)
  26. AmigaDOS3.9(AmiDock編)
  27. AmigaDOS3.9(Unarc編)
  28. AmigaDOS3.9(アイコン修正編)
  29. JKFFDisp最新リリース
  30. YAM用日本語マクロ
  31. 最強のAmigaエミュレータAmithlon
  32. MSでぇ得ぬ
  33. HDToolBoxの使い方
  34. 超高速起動のAmithlon
  35. HTMLのテンプレート処理(解説)
  36. ARexxでWorkbenchを制御(Ram D…
  37. ARexxでWorkbenchを制御(メニュ…
  38. あなたのブラウザに挑戦2
  39. BIOS変更で便利に楽しく
  40. Amithlon Contrib3bリリース
  41. Amithlonでキーボードマップを変更
  42. Amithlonでディジタルサウンド
  43. Perlに夢中
  44. ホームページ製作に夢中
  45. ホームページ作成スクリプト完成
  46. スクリプトのモジュール追加
  47. 文字コードチェックのモジュール追加
  48. 画像サイズ追加のモジュール追加
  49. 確率計算スクリプト
  50. タグIMG自動生成スクリプト
  51. ヘッダ生成モジュール改良
  52. 変換モジュール作成
  53. メニューを簡単に変更してみました
  54. Amithlonでアナログ録音
  55. 行変換のモジュール追加
  56. ページ末尾用のモジュール改善
  57. AmigaOSのシャットダウン用スクリ…
  58. ダウンロード用のモジュール追加
  59. ドローソフトの作成
  60. hpwakeのフロントエンド
  61. AmithlonでMIDI演奏
  62. 改行用のモジュール追加
  63. EはエンハンスドのEです
  64. Amithlonを使う方法-01
  65. Amithlonを使う方法-02
  66. Amithlonを使う方法-03
  67. Amithlonを使う方法-04
  68. フォント名の秘密
  69. 画像収集スクリプト
  70. やったね!AmigaOS4.0漢字表示サポ…
  71. 一言メモ-1
  72. DVD-Rを焼き焼き
  73. 海外送金も楽じゃない
  74. シューティングゲーム(の土台)作りま…
  75. Amithlonと行くLinux Kernelの旅
  76. メールソフトYAMで漢字を使う方法
  77. CDプレーヤ MCDPlayer
  78. 痛車が北海道に来るとAmigaで音声合…
  79. はちゅねをAmigaに連れてって
  80. パレット再配置スクリプト
  81. アクセス規制チェックスクリプト
  82. ニコニコ動画のサムネ表示モジュール…
  83. favicon表示対応
hpwakeのフロントエンド (2005.11.20)

パソコンをLANから電源ONできる設定を6台のパソコンに設定しましてAmigaからコマンドhpwakeを実行すると見事ONします。
ただしhpwakeはMACアドレスを指定する必要があるためにMACアドレス一覧表を見ながら指定することになります。それでは面倒
ですからテキストファイルにホスト名とMACアドレスの一覧を入れておいてホスト名を選択するとhpwakeを実行できるようにARexxで
スクリプトを作りました。

まずは設定ファイルから。

-----wakeup.config-----
abortive   01:23:45:67:89:ab
bade       01:23:45:67:89:ab
callback
darkages
easterner  01:23:45:67:89:ab
fallen     01:23:45:67:89:ab
garb       01:23:45:67:89:ab
halfhourly
iffy
jeep       01:23:45:67:89:ab
key        01:23:45:67:89:ab
----------
2005.11.20 MACアドレスの末尾につける記号がセミコロンだったのでコロンに修正しました。
そしてARexxスクリプト。

-----wakeup.rexx-----
/*
    $VER: wake up on lan. 1.0, 2005/11/04

CONFIG=wakeup.config
*/

OPTIONS RESULTS

config = getlinetype('CONFIG', 'PROGDIR:wakeup.config')
isopenconfig = OPEN(config_handle, config, READ)
hostcount = 0

IF isopenconfig THEN DO
    DO WHILE ~EOF(config_handle)
        linebuff = READLN(config_handle)
        IF 0 = LENGTH(linebuff) THEN DO
        END
        ELSE IF '#' = LEFT(linebuff, 1) THEN DO
        END
        ELSE IF 2 ~= WORDS(linebuff) THEN DO
        END
        ELSE DO
            host = WORD(linebuff, 1)
            mac = WORD(linebuff, 2)
            hosttable.hostcount.hostname = host
            hosttable.hostcount.macaddress = mac
            hostcount = hostcount + 1
        END
    END
END

hostlist = ''
i = 0
DO WHILE i < hostcount
    IF '' = hostlist THEN DO
        hostlist = '"'hosttable.i.hostname'"'
    END
    ELSE DO
        hostlist = hostlist' "'hosttable.i.hostname'"'
    END

    i = i + 1
END

ADDRESS COMMAND 'REQUESTCHOICE >ram:wakeup.temp wakeup "select host to wakeup" 'hostlist' "Cancel"'

selindex = -1
isopenselect = OPEN(select_handle, 'ram:wakeup.temp', READ)
IF isopenselect THEN DO
    linebuff = READLN(select_handle)
    IF 0 < linebuff THEN DO
        selindex = linebuff - 1
    END
END

IF 0 <= selindex THEN DO
    ADDRESS COMMAND 'toolsvol:hpwake/hpwake 'hosttable.selindex.macaddress
END

IF isopenconfig THEN DO
    junk = CLOSE(config_handle)
    isopenconfig = 0
END

IF isopenselect THEN DO
    junk = CLOSE(select_handle)
    isopenselect = 0
END

EXIT

getlinetype: PROCEDURE
    PARSE ARG typename, def

    v = def
    linenum = SOURCELINE()
    i = 1
    DO WHILE '*/' ~== SOURCELINE(i) & i <= linenum
        sl = SOURCELINE(i)
        IF 1 = INDEX(sl, typename'=') THEN DO
            v = SUBSTR(sl, INDEX(sl, '=') + 1)
            LEAVE
        END
        i = i + 1
    END

    RETURN v
----------
どのページも無断でリンクして構いません。
Valid HTML 4.01 Transitional