HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0719
ジョークソフト野郎ジョークソフト5未解決


ジョークソフト野郎

リンク

2010/7/19(Mon) 22:25:33|NO.33803

僕は、友達をジョークソフトでビビらす計画を立てています。
そこで考えた手順は、

1.ほかのソフトを使ってインストーラ形式にする。
2.インストーラを解凍するとき、「スタートアップ」に登録されるようにしておく。
3.インストールすると、次にPCを使うとき、
  立ち上げた瞬間自動でシャットダウンされるようになる。
4.これを2回繰り返され、終わったあと、立ち上げると「ビビったか」などのメッセージ
  を出して自動自己削除を行うようにする。

ですがHDLでシャットダウンと検索しても出ませんでした。
しかも、どうやって2回数えるかも調べましたがどうもよくわかりません。
誰かお助けを。



この記事に返信する


moritoshi

リンク

2010/7/19(Mon) 22:57:37|NO.33804

exec "cmd.exe shutdown -s"
でシャットダウン
何かのテキストファイルに回数を記録しておけばよいです。



GENKI

リンク

2010/7/19(Mon) 23:10:34|NO.33805

そういう時はGoogle先生にも聞いてみてください。

ジョークソフトは本当に忙しいときに起動すると、笑い事じゃすまなくなるので注意してください。
スタートアップに登録するということは、そういう危険もはらんでいることをお忘れなく。



moritoshi

リンク

2010/7/19(Mon) 23:28:36|NO.33806

スタートアップのフォルダは dirinfo($10018)で取得できるので、
インストールもHSPでできると思います。


buf="0" notesel buf exist "tmp" if refstr!=0:noteload "tmp" noteget a,0 if {a<=1:a++ noteadd a,0:notesave "tmp" exec "cmd shutdown -s"} if a>=2:delete "tmp" dialog "びびったか" exec "cmd del 実行ファイル名" end



テック

リンク

2010/7/19(Mon) 23:48:04|NO.33808

>僕は、友達をジョークソフトでビビらす計画を立てています。
GENKIさんが、仰られているように、笑い事じゃすまなくなるので注意してください。
また正常に動作するまで確認する場合、自分の端末が起動するたびに
シャットダウンする状態になり、自業自得になる可能性もありますので注意してください。

それでもよければ、ある程度ググりましたので、少しアドバイスを^^;

>ですがHDLでシャットダウンと検索しても出ませんでした。
シャットダウンする方法は、moritoshiさんが仰られているように
exec "cmd.exe shutdown -s" 命令を使用するか
sysexit 2 命令を使用する方法があります。

でシャットダウンするときに気をつけなければならないのが、
↓のサイトに記載されていましたが、
OSのシャットダウン権限を持っていなければならないようです。
その方法も↓のサイトに記載されているので、参考にしてみるとよいかと。
http://lldev.jp/hsp/module/exit_windows_nt.html

>しかも、どうやって2回数えるかも調べましたがどうもよくわかりません。
メモリの内容は、電源が落ちたら消えてしまうので、
moritoshiさんが仰られているように、または↓のサイトに記載されているように
テキストファイルに回数を記録しておけばよいと思います。
http://geocities.yahoo.co.jp/gl/gbmogiki/view/20090113/1231849411

以下にサンプルスクリプトを記載しますので、参考にしてみるといいかも。

#include "hspext.as" // マクロの宣言 #define INI_FILE_NAME "HSP.ini" // 定数の宣言 #const SYSEXIT_TYPE_LOGOFF 0 // ログオフ #const SYSEXIT_TYPE_REBOOT 1 // 再起動 #const SYSEXIT_TYPE_SHUTDOWN 2 // シャットダウン // グローバル変数宣言 g_strBufferAll = "" g_strBufferLine = "" g_nBufferLine = 0 // 対象バッファを指定する notesel g_strBufferAll // 指定したファイルのバッファを読み込む // ※読み込んだデータは、notesel命令で指定した //  g_strBufferAllに格納される noteload INI_FILE_NAME // 読み込んだバッファから1行目のデータを読み込む noteget g_strBufferLine, 0 // 1行目のデータを表示する mes g_strBufferLine // notesel, noteget命令の引数の指定した変数は、 // 文字列型になるので、整数型に変換する g_nBufferLine = int(g_strBufferLine) // データが2以上の場合 if (g_nBufferLine >= 2) { // デバッグメッセージを出力する mes "自動自己削除処理を行います" // HSPを一時停止する stop // データが2未満の場合 } else { // デバッグメッセージを出力する mes "シャットダウン処理を行います" // 起動した回数をカウントアップする g_nBufferLine = g_nBufferLine + 1 // カウントアップした回数を文字列に変換する g_strBufferLine = str(g_nBufferLine) // 文字列を指定した行に上書きする noteadd g_strBufferLine, 0, 1 // 変更したバッファを指定ファイルに保存する notesave INI_FILE_NAME // Windowsシステムをシャットダウンする // sysexit SYSEXIT_TYPE_SHUTDOWN // HSPを終了する // end // HSPを一時停止する stop }



moritoshi

リンク

2010/7/20(Tue) 02:36:04|NO.33810

インストールみたいなものは、
パックファイル機能を使って、
bcopyで取り出すという形でできると思います。



ONION software Copyright 1997-2023(c) All rights reserved.