[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 13:34 / Filesize : 197 KB / Number-of Response : 991
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【厨房満開】HSP初質51【ビラビラ満開】



1 名前:デフォルトの名無しさん [2006/03/17(金) 02:11:59 ]
■とりあえずこれを嫁。 
  www.geocities.jp/hsp_summary/law.html 

 ■ 前スレ 
  【オフィシャル発売】HSP初質P50【コンテスト選考】 
  pc8.2ch.net/test/read.cgi/tech/1132612819/ 

 ■HSPの入手はここから(HSP2.61、HSP3.0公開中。) 
  □Hot Soup Processor Page 
    www.onionsoft.net/hsp/ 

 ■HSPの各種情報 
  □HSP Wiki 
    quasiquote.org/hspwiki/ 
    quasiquote.org/hspwiki/2%a4%c1%a4%e3%a4%f3%a4%cd%a4%eb%a4%ce%a5%b9%a5%ec%a5%c3%a5%c9 

 ■HSPLetの入手はここから(ブラウザ上でHSPを動かす) 
  □HSP BIGINNER'S CLUB 
    www.rinku.zaq.ne.jp/ultimate/ 
  □HSPLet3.0
    www.group-finity.com/HSP/HSPLet/ 

 ■HSPスレまとめページ 
  □Hot Soup Processor@2ch 
    hsp2ch.hp.infoseek.co.jp/ 
    www.geocities.jp/hsp_summary/ 

407 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 15:33:55 ]
>>405
gui用にスクリプト書いて、apiでコンソールを操作するってのは?
hspでできるかは知らない。

408 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 17:54:13 ]
>>407
thx!APIで出せるのか。
とりあえずAllocConsole使って窓出すまでは出来た。
あとは文字の出力だが、これから調べてみる。

409 名前:405 mailto:sage [2007/04/28(土) 19:37:01 ]
AllocConsole、GetStdHandle、WriteConsole、SetConsoleScreenBufferSize
をつこうてサンプルコードできた。実装は今度にしようっと。


410 名前:デフォルトの名無しさん [2007/04/29(日) 02:58:37 ]
独り言は、ほどぼとに

411 名前:not 405 mailto:sage [2007/04/29(日) 08:44:28 ]
こんなスレでそんなこと言われてもw
それにちゃんとアドバイスに対する報告になってるじゃん。

412 名前:デフォルトの名無しさん [2007/04/29(日) 23:13:54 ]
独り言は、ほどぼとに

413 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 08:41:18 ]
「ほどぼと」ってなんだよw

414 名前:デフォルトの名無しさん [2007/04/30(月) 18:14:34 ]
<丶`∀´> や〜〜い 馬鹿チョッパリw 釣れたニダ

415 名前:デフォルトの名無しさん [2007/04/30(月) 23:15:20 ]
じゃ、ほどほどに



416 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 01:06:20 ]
mes "A"+"A"+"A"+"A"+"A"
と同じ動作を
・mes "A"
・ループ処理おk
・posは使わない
の条件で簡単にできないでしょうか?

BASICだったら
FOR I=1 TO 5
PRINT "A";
NEXT I
ですぐに出来るのですが、HSPでは「;」が効かないっつーかコメントアウト用なので・・・

417 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 01:07:39 ]
416補正

ようするに、mes(print)実行後に自動改行させずに続けて表示させる方法が
posを使う以外にあるか?ってことです

418 名前:デフォルトの名無しさん [2007/05/01(火) 01:40:14 ]
何でpos以外なのか知らないが
そんなもんねーよ

419 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 01:56:12 ]
意味も無く抜け道を探そうとするのは初心者にありがちなことだから

420 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 02:50:26 ]
419=初心者

421 名前:sage [2007/05/01(火) 02:58:36 ]
>>416

sdim b
repeat 5
b = b+"A"
loop
mes b
;--------------
a= "A" : sdim c
repeat 5
c = c+a
loop
mes c

422 名前:421 mailto:sage [2007/05/01(火) 03:10:13 ]
すまんsage間違った。
それと第一条件の
・mes "A"
これを使用してないな……。
っていうかloopの中にmesを組み込むのも条件?

423 名前:デフォルトの名無しさん [2007/05/01(火) 03:10:21 ]
俺もそれは考えたけど
mes "A"
これを使うって言ってるからダメなんじゃね?
はっきり言って何でこれを使いたいのか分からないが・・・

なんでposを使えないのか理由がないから答えても無駄に終わるかもよ


424 名前:デフォルトの名無しさん [2007/05/01(火) 03:13:26 ]
川°A°)

425 名前:421 mailto:sage [2007/05/01(火) 03:33:06 ]
>>423
俺の予想では
repeat〜loopで"A"を横一列で連続表示したいよ。
でも(loopの中で)mesを使うと改行されちゃうよ。
だから(loopの中で)posで一文字ずつ場所指定して横一列にしなきゃらないないの? 
面倒くさいよ〜誰かタスケテ!!
といった所だと思う。
文字列の足し算が出来るっていうのを知らないんじゃない?



426 名前:デフォルトの名無しさん [2007/05/01(火) 03:52:49 ]
>>425
俺は改行されないmesは無いの?
って聞いてると思ったから無いと答えた

x=100
y=100
repeat 5
pos x,y
mes "A"
x+ginfo(14)
loop
これを使えない理由が思いつかないし・・・
コンテストのショート部門とかなら分かるが・・・

427 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 05:52:11 ]
>>426
彼は自分の書いたBASICのソースに縛られて「repeat中にmesで表示して並べていく」から脱却できていないと思う。
だから「mes "A"」ていう条件が出てきたと思う。(文字列変数を足して、後で一発表示という方法を思いつかない)
その上でシステム変数の存在知らなきゃrepeat中に改行した文字をposで一列に並べなおすのは面倒くさいだろうから「posは使わない」って条件が出てきたような気がする。

っていうか ginfo(14) こんなシステム変数をあったのね。


428 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 07:22:00 ]
まぁ、そういう命令があっても良い気はする。

429 名前:デフォルトの名無しさん [2007/05/01(火) 09:23:11 ]
自演も大変だねぇ
何時までも糞HSPにへばりつくウジムシどもWww

430 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 09:59:32 ]
/* ">417は推敲が不十分な文章である"と仮定し、「posを使う以外に」の部分は無視して、
「mesするたびに、自前で表示開始位置を管理するのが面倒くさいよママン」
というのが、彼の言いたいことであると修正解釈した。 */

#module
#deffunc bprint str _bpString
_bpStr = _bpString: _bpRight = strlen(_bpStr)-1
_bpSX = ginfo_cx: _bpSY = ginfo_cy
if ( peek(_bpStr,_bpRight)=';' ) {
poke _bpStr,_bpRight,$00: mes _bpStr
pos _bpSX + ginfo_mesx , _bpSY: return }
mes _bpStr: pos 0 , _bpSY + ginfo_mesy: return
#global
;--テスト--
repeat 2
mes "テスト"+(cnt+1)
repeat 5: bprint "あ;": loop //文字列末尾が;の場合、「改行しない」風味の動作
repeat 5: bprint "い" : loop //末尾が;でない場合、表示ごとに左端へ戻る
pos 320,240
loop

/* 複数行文字列とか、全角コードによっては不都合は出ると思いますが。
前述の仮定条件が違う(->posは絶対に使用禁止)というのなら、知らん。*/

431 名前:デフォルトの名無しさん [2007/05/01(火) 16:57:48 ]
何それwww
使えねぇウジモジュール書いてんじゃねーよ

432 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:47:13 ]
そうすると、
糞呼ばわりしている代物の関連スレに張り付いて
煽りレスを入れている人間は、フンコロガシって所か?

433 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 19:46:18 ]
ここの住人って正規3.0と3.1β、どっち使ってる人が多いんだろ?

434 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:53:12 ]
俺的には未だに2.61から離れられない

435 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 21:07:47 ]
俺はVC++に逃げたよ。



436 名前:デフォルトの名無しさん [2007/05/01(火) 21:27:43 ]
#module
#undef mes
#deffunc mes str a,int b
mes@hsp a
if b {pos ginfo(22)+ginfo(14),ginfo(23)-ginfo(15)}
return
#global
x=100
y=100
pos x,y
repeat 5
mes "A"
loop
repeat 5
mes "A",1
loop

モジュール作るならこうやるかな・・・

437 名前:デフォルトの名無しさん [2007/05/01(火) 22:58:09 ]
正の整数値を「16進数の文字列」に変換する時の
一番スマートな表記方法を教えてください

438 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:05:01 ]
strf("%X",整数値)

439 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 23:34:21 ]
>>434 = 垂餡

440 名前:デフォルトの名無しさん [2007/05/01(火) 23:54:49 ]
>>434
隗より始めよ

441 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:37:26 ]
>>437
www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla%3Aja%3Aofficial&hs=EBu&q=hsp+10%E9%80%B2%E6%95%B0+16%E9%80%B2%E6%95%B0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

442 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 02:37:00 ]
>>437
a=65535
hex="$"+strf("%X",a)

443 名前:デフォルトの名無しさん [2007/05/02(水) 02:50:29 ]
a=65535
mes strf("%X",a)
mes strf("$%X",a)
mes strf("$%08X",a)
mes strf("$%x",a)
mes strf("$%08x",a)
mes strf("0X%08X",a)

444 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 02:50:46 ]
あまり虐めてやるなよw

445 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 02:56:55 ]
縦スクロールバー付きのメッセージボックスを2つ用意して、
シンクロスクロールさせるのって可能?



446 名前:442 mailto:sage [2007/05/02(水) 02:58:06 ]
>>443
勉強になった

447 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 03:14:02 ]
>>445
できるけどWM_VSCROLL捕まえないと無理

448 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 04:10:52 ]
>>447
WM_VSCROLLか、ヒントdクス
WinAPI方面は苦手だけど頑張ってみる(`・ω・´)

449 名前:デフォルトの名無しさん [2007/05/02(水) 14:19:44 ]
<丶`∀´> 呼んだニカ ホルホル

450 名前:デフォルトの名無しさん [2007/05/02(水) 16:54:58 ]
>>448
標準命令だけやってみた

a=""
repeat 50:a+str(cnt)+"\n":loop
mesbox a,64,64:idA=stat:mesboxhwnd(idA)=objinfo(idA,2):_lparam=mesboxhwnd(idA)
pos 64,0:mesbox a,64,64,0:idB=stat:mesboxhwnd(idB)=objinfo(idB,2)
dim len,idB+1:dim lin_old,idB+1
oncmd gosub *WM_COMMAND,$111
repeat
repeat 2,idA:lin_old(cnt)=len(cnt):sendmsg mesboxhwnd(cnt),$CE,0,0:len(cnt)=stat
if lin_old(cnt) not len(cnt) {_lparam=mesboxhwnd(cnt)}:loop
gosub *EM_LINESCROLL
await 10:loop
*WM_COMMAND
if iparam!$111 or $602!(wparam>>16) {return}
_lparam=lparam:_wparam=wparam
sendmsg mesboxhwnd(idA),$CE,0,0:len(idA)=stat
sendmsg mesboxhwnd(idB),$CE,0,0:len(idB)=stat
*EM_LINESCROLL
if len(idA) not len(idB){
if _lparam=mesboxhwnd(idA) {sendmsg mesboxhwnd(idB),$B6,0,len(idA)-len(idB):len(idB)=len(idA)
}else{sendmsg mesboxhwnd(idA),$B6,0,len(idB)-len(idA):len(idA)=len(idB)}}
return

/*
俺に出来るのはここまでだ・・・

451 名前:デフォルトの名無しさん [2007/05/05(土) 23:30:34 ]
じっ じっ 自己解決ゥ! アーイェー! チェケラ!

452 名前:448 mailto:sage [2007/05/06(日) 23:19:05 ]
>>450
d

っていうかすげー!まさに自分がやりたかった効果!
あとは、右のスクロールバーのドラッグ中は反映されない部分を直せるよう
頑張ってみるです

453 名前:448 mailto:sage [2007/05/06(日) 23:20:10 ]
× 右のスクロールバーのドラッグ中は反映されない
○ 縦のスクロールバーのドラッグ中はシンクロ反映されない

454 名前:デフォルトの名無しさん [2007/05/07(月) 02:27:27 ]
>>453
それが実装出来なくて
>俺に出来るのはここまでだ・・・
と言う最後の言葉になったのは秘密だw

User32.dllのGetScrollPosもやってみたけどドラッグ中の位置は収得できなかった・・・




455 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 03:50:31 ]
ドラッグ中もなんらかの動作をさせたいなら、
このへんが参考になるかと。
yokohama.cool.ne.jp/chokuto/advanced/usertimer.html

>450のスクリプトのoncmdを利用したメッセージ処理(スクロールバー監視?)は
無効にしても動くみたいだから、バーの監視を、メインループでやってる方にまかせて、
代わりに、oncmdはタイマーメッセージの処理に使うようにしてー以下略



456 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:57:11 ]
>>452
無理だろ。HSPじゃ。
その辺がこの糞ツールの仕様だからな。

457 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:46:50 ]
>456
いや、できるぞ。というかオレはできたぞ。
糞ツールとあなどって思考停止してる人には無理なのかもしれんが。

458 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:50:22 ]
精神的に向上心の無い者はばかだ

459 名前:454 [2007/05/08(火) 06:54:30 ]
>>455
ほうほう
#include "User32.as"
WM_TIMER=$113:EM_LINESCROLL=$B6
goto *@f
#deffunc Quit onexit
KillTimer hwnd,1:return
*@
font "MS 明朝",20,1:objmode 2:a="":repeat 30:a+str(cnt)+" ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"\n":loop:mbsizx=96:mbsizy=128
repeat 2:pos cnt*mbsizx,0:mesbox a,mbsizx,mbsizy,(cnt^1)+4:mbid(cnt)=stat:V(cnt)=0:V_old(cnt)=0:H(cnt)=0:H_old(cnt)=0:loop
wait 1:SCIF=28,1|2|4|8|$10,0,0,0,0,0 :gosub *GSR
temp=" ":mesbox temp,1,1,4:t=stat:wait 1:sendmsg objinfo(tempstat,2),EM_LINESCROLL,1:GetScrollPos objinfo(tempstat,2),0
scrsizex=stat:clrobj t,t:oncmd gosub *timersub,WM_TIMER:SetTimer hwnd,1,50,0:stop
*timersub
vscrolf=0:hscrolf=0:sendmsg objinfo(mbid(0),2),0x00B8,0,0
if stat {objprm mbid(1),a:gosub *GSR:H_old(1)=0:H(1)=0: V_old(1)=0:V(1)=0:sendmsg objinfo(mbid(0),2),0x00B9,0,0:hmbno=0:hscrolf=1:vmbno=0:vscrolf=1}
repeat 2:V_old(cnt)=V(cnt):GetScrollPos objinfo(mbid(cnt),2),1:V(cnt)=stat:if V_old(cnt) not V(cnt) {vmbno=cnt:vscrolf=1}
H_old(cnt)=H(cnt):GetScrollPos objinfo(mbid(cnt),2),0:H(cnt)=stat:if H_old(cnt) not H(cnt) {hmbno=cnt:hscrolf=1}:loop
if vscrolf {sendmsg objinfo(mbid(vmbno^1),2),EM_LINESCROLL,0,V(vmbno)-V(vmbno^1):V(vmbno^1)=V(vmbno)}
if hscrolf {
sendmsg objinfo(mbid(hmbno^1),2),EM_LINESCROLL,(H(hmbno)-H(hmbno^1))/scrsizex-(H(hmbno)=0)+(H(hmbno)>smaxsizx)
GetScrollPos objinfo(mbid(hmbno^1),2),0:H(hmbno^1)=stat}
title "id0h("+(H(0))+ ") id1h("+(H(1))+") id1v("+(V(0))+") id1v("+(V(1))+") 水平スクロール最大("+smaxsizx+") 水平スクロール1ブロック("+scrsizex+")"
return
*GSR:GetScrollInfo objinfo(mbid(0),2),0,varptr(SCIF):smaxsizx=(SCIF(3)-SCIF(2)-SCIF(4)):return

460 名前:454 [2007/05/08(火) 07:05:05 ]
ふう、やっと1レスに収まったw

ついでに水平もやってみたけどかなり無理やりだw
GetScrollPosとEM_LINESCROLで単位が違うから面倒な事になってる・・・


461 名前:デフォルトの名無しさん [2007/05/08(火) 07:15:18 ]
<丶`∀´> ご苦労ニダ ホルホル
<丶`∀´> それは、ウリが書いた事になったニダ

<丶`∀´> つSゥォン 口留め料ニダ

462 名前:デフォルトの名無しさん [2007/05/11(金) 01:24:09 ]
画面(HSPじゃなくて全画面)の左上を0.0としたときに、指定した場所から指定した場所へ線を引きたい。
そしてその線の下をクリックできるようにしたい。
line命令はHSPの画面上にしか描写できないし、screenで大きな画面を作ってもその下がクリックできない。

どうすればいいですか?

463 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 04:00:03 ]
>>462
もっと詳しく

464 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 04:11:20 ]
寝マクロツールでも作るんだろ

465 名前:デフォルトの名無しさん [2007/05/11(金) 04:25:41 ]
>>462
HSPプログラムコンテスト2006一般部門 応募作品(2)
ttp://hsp.tv/contest2006/list_n2.html
の150番みたいな事?




466 名前:462 [2007/05/11(金) 05:54:41 ]
>>463
なんていうか・・・定規みたいなやつ。
x軸とy軸の値を入力して、その場所から線を引きたいんだ。
んでその線の下の部分(デスクトップや違うアプリケーション)はクリックできるようにしたい。
>>464
寝マクロツールってなんですか?
>>465
ちょっと違う・・・。


467 名前:馬鹿が mailto:sage [2007/05/11(金) 06:16:05 ]
一々アゲてんじゃねーよ糞餓鬼が

教えねーよ 馬鹿にはww

468 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 08:10:07 ]
>>466
A点とB点が同じ高さでいいなら、bgscrで出来ないかな?

futosa=2
a_ten=10
b_ten=210
takasa=100

bgscr 2,b_ten-a_ten,futosa,0,a_ten,takasa,b_ten-a_ten,futosa
color 255,0,0 : boxf

stop


469 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:28:53 ]
>>466
ディスクトップ上に一時的な斜線を引きたい
ttp://dream.freespace.jp/perl-bin/puma/lng/joyful.cgi?search

470 名前:デフォルトの名無しさん [2007/05/13(日) 12:26:35 ]
インライン展開(インラインアセンブル)できますか?

471 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 13:10:25 ]
そもそもどういうものなの?
アセンブリコードを実行していく仮想マシンと
中間コードへ変換して実行していくスクリプトシステム。

中間コードをアセンブラとして認識していいの?
とすると、アセンブラがあってもいいのだけど。

472 名前:デフォルトの名無しさん [2007/05/13(日) 17:13:33 ]
WinXP以降で実行ディスクリプリタ(RO/RW)のチェックが入るようになったんだな。
互換性と普及度に問題がありそうだから使わないようにするよ。

473 名前:デフォルトの名無しさん [2007/05/13(日) 17:14:54 ]
× ディスクリプリタ
○ ディスクリプタ

474 名前:デフォルトの名無しさん [2007/05/17(木) 01:04:55 ]
自己解決で保守!

475 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 12:29:12 ]
荒らし一人が粘着してるのか



476 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 12:48:55 ]
PCを再起動させたいのですが、以下を書いて
F5→ボタンクリックしても反応がありません。
これだけでは駄目なんでしょうか?ご教授願います。

#include "hspext.as"
button "再起動",*saikidou
stop
*saikidou
sysexit 1

477 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 12:53:18 ]
>>476
>sysexit命令の後は、 end命令を入れてHSPのスクリプトも終了させてください。

これじゃない?試してないけどw

478 名前:476 mailto:sage [2007/05/18(金) 12:57:05 ]
>>477
レスありがとうございます。
end入れてみましたが反応なしでした・・。

#include "hspext.as"
button "再起動",*saikidou
stop
*saikidou
sysexit 1
end

479 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 13:06:02 ]
あとは、一旦実行ファイル作ってから、エディタ終了させて単独で実行?

480 名前:476 mailto:sage [2007/05/18(金) 13:14:27 ]
>>479
そのとうりにやってみましたが
やはり画面が消えるだけで反応なしでした・・。

481 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 16:38:55 ]
>>476
昔HSP2でもうまくいかなくて、俺はNT系では
exec "shutdown -r"
を実行するようにした。ちょっとかっこわるいけど。
ちなみにOSの情報はsysinfo(0)でゲット。

482 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 18:15:57 ]
>>481
NT系でうまくいかないのは終了操作の権限が足りないからだと思われる
「シャットダウン API」で具ぐるとやり方は調べられる

483 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 19:25:28 ]
>>476
× ご教授願います(ごきょうじゅねがいます)
○ ご教示願います(ごきょうじねがいます)

484 名前:476 mailto:sage [2007/05/18(金) 21:15:44 ]
ありがとうございます!無事再起動出来ました。

ただダイアログと共に待ち時間が発生したので
すぐにシャットダウン出来る方法はないかと"shutdown -f"(適当)
などにしてみましたが、おかしな挙動(完全にシャットダウンせずに立ち上がる?)
をするので試行錯誤してみます。

ヘルプ通りにやってうまくいかないとなると、先は長い気がします・・
ともあれ、ご教示ありがとうございました。

485 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:18:33 ]
ご教授を願うって何を願うんだ?



486 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:22:09 ]
>>484
shutdonw -r -t 0

DOS窓でshutdonwだけでやってみ。使い方が出る

487 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:22:54 ]
×shutdonw
○shutdown

488 名前:481 mailto:sage [2007/05/19(土) 08:10:09 ]
ネットを参考にして作ってみた。XPでのみ動作確認。ExitWindowsEx
のかわりにsysexitでもOK。

#include "kernel32.as"
#include "advapi32.as"
#include "user32.as"
#const FALSE 0
#const NULL 0
#const TOKEN_ADJUST_PRIVILEGES 0x20
#const TOKEN_QUERY 0x08
#const SIZE_LUID 8 // 構造体サイズ
#const SIZE_LUID_AND_ATTRIBUTES 12
#const SIZE_TOKEN_PRIVILEGES 16 // 特権情報を1つだけ設定する場合(PRIVILEGE_COUNT=1)
#define SE_SHUTDOWN_NAME "SeShutdownPrivilege"
#const SE_PRIVILEGE_ENABLED 0x02
#const PRIVILEGE_COUNT 1
#const EWX_LOGOFF 0
#const EWX_SHUTDOWN 1
#const EWX_REBOOT 2


489 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 08:10:36 ]
;(つづき)
/* 現在のプロセスのアクセストークンを取得 */
GetCurrentProcess
hproc = stat // 現在のプロセスの擬似ハンドル。クローズ不要。
htoken = 0 // SE_SHUTDOWN_NAME 特権を設定するためのアクセストークン。要クローズ。
OpenProcessToken hproc, (TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY), varptr(htoken)
/* アクセストークンのSE_SHUTDOWN_NAME 特権を有効に */
dim luid, SIZE_LUID / 4 // LUID 構造体
dim luid_and_attributes, SIZE_LUID_AND_ATTRIBUTES / 4 // LUID_AND_ATTRIBUTES 構造体
dim token_privileges, SIZE_TOKEN_PRIVILEGES / 4 // TOKEN_PREVILEGES 構造体
LookupPrivilegeValue NULL, SE_SHUTDOWN_NAME, varptr(luid)
luid_and_attributes = luid(0), luid(1), SE_PRIVILEGE_ENABLED
token_privileges = PRIVILEGE_COUNT, luid_and_attributes(0), luid_and_attributes(1), luid_and_attributes(2)
AdjustTokenPrivileges htoken, FALSE, varptr(token_privileges), 0, NULL, NULL
CloseHandle htoken
/* 終了 */
ExitWindowsEx EWX_REBOOT, NULL
end


490 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 08:44:40 ]
dialog "再起動しないと絶対に許さないんだからね!"
end

491 名前:476 mailto:sage [2007/05/19(土) 11:26:32 ]
>>486
おお凄い!うまいこと望み通りに動作しました。
なんかちょっと楽しくて笑ってしまいました。

>>488
実行したらダイアログなしに即、再起動かかりました。
shutdown -r -t 0だと一行ですむのをこんなに長いバージョンが
あるということははキレイに(?)終わらせるためなんでしょうか。
さっぱりわからないのでちょっとずつ分解してみます。

492 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 18:34:25 ]
自演 乙

493 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 18:44:19 ]
>>491
長いってもマクロは使わなくても支障ないけどね。

494 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 05:36:09 ]
R-TYPEやXマルチプライのようなシューティングは作れますか?

495 名前:デフォルトの名無しさん [2007/05/21(月) 06:31:29 ]
作れない理由は特に無い
特定のPC性能指定して可能かどうかを聞くならともかく
作れる作れないはお前次第



496 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 07:05:44 ]
だろうな
関数とかよくわからんが
書籍なり解説サイトなりを見て頑張れって事だな
非常に参考になった
サンクス

497 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:06:25 ]
透過PNGをうまく表示する方法が無くて、泣きながらググってたら
過去ログ(23スレ)のおかげで解決しそうです。
どこの何方か存じませんがありがとう><

HSP3.1で llmod3.hsp と unicode.hsp を入手してインクルードしてやったら動きました。
unicode.hsp は何故か120行目をコメントアウトしないとエラーになりましたが。。

↓一応転載します

498 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:07:07 ]
== 転載 ==
もういっちょ 透過PNGを読み込む やつ
著作権を主張します 一部を改変して実行ファイル化したものを配布することをかたく禁じます。
なーんちゃって バーカ バーカ ガハハ
#include "llmod.as"   
#include "unicode.as"
ll_libload _GDIPLUS ,"gdiplus.dll" : onexit *exit : mref bmscr, 67
dim GdiplusStartupInput,4 : GdiplusStartupInput.0=1 : sdim path,260 : sdim unipath,520
getptr prm.0,pimg : getptr prm.1,GdiplusStartupInput : prm.2=0 : dllproc "GdiplusStartup",prm,3,_GDIPLUS
;picload "hsp2ttl.jpg"
objsize 50,20 : pos 0,0 : button "FILE", *fff
stop
*fff : dialog "*.*",16 : path=refstr
wait 4 : to_uni unipath,path,-1
getptr prm.0,unipath : getptr prm.1,img
dllproc "GdipLoadImageFromFileICM",prm,2,_GDIPLUS
prm.0=img : getptr prm.1,High
dllproc "GdipGetImageHeight",prm,2,_GDIPLUS
getptr prm.1,Widt : dllproc "GdipGetImageWidth",prm,2,_GDIPLUS
prm.0=bmscr.4 : getptr prm.1,hbitmap
prm.2=0 : dllproc "GdipCreateFromHDC",prm,3,_GDIPLUS
prm.0=hbitmap,img,0,30,Widt,High : dllproc "GdipDrawImageRectI",prm,6,_GDIPLUS
redraw
dllproc "GdipDisposeImage",img,1,_GDIPLUS : dllproc "GdipDeleteGraphics",hbitmap,1,_GDIPLUS
stop
*exit:dllproc "GdiplusShutdown",pimg,1,_GDIPLUS:end

499 名前:デフォルトの名無しさん [2007/05/22(火) 01:14:01 ]
>>498
実行ファイルにしたら498の著作権は無くなるから問題ないw


500 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:29:48 ]
透過は読み込むのはまあいいが、そのままαチャネル保持したまま使うのがHSPだと面倒だな。

501 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 11:59:55 ]
>>497 >>498
HSP3ならそれをやるのにllmodは不必要
gdiplus直接叩けますよ
#funcの練習のつもりで自分で書き直してみると良いんじゃないかな

某氏が作りかけてるgdiplus使ったモジュールに激しく期待

502 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 12:33:04 ]
ワザワザ そんな糞モジュール作らんでも
HSPCV で出来んだろwww

503 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 12:58:37 ]
>>346

504 名前:デフォルトの名無しさん [2007/05/22(火) 19:54:44 ]
結局、HSPは糞って事で OK?

505 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 23:08:25 ]
>>501
ありがとうございます
調べてみようと思います



506 名前:デフォルトの名無しさん [2007/05/22(火) 23:12:27 ]
ついでに言うと
糞に沸くのは蛆虫

507 名前:デフォルトの名無しさん [2007/05/23(水) 06:07:21 ]
オマエらの事だろww

蛆虫君






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<197KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef