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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0610
ぽいずんHSPで他の実行ファイルを終了させる方法について4未解決


ぽいずん

リンク

2014/6/10(Tue) 04:14:31|NO.62385

HSPで実行ファイルを開始するにはexecを使えばいいですが、終了させる為の命令はありますか?

※HSPで作成したファイルではなく、既存の実行ファイルです。



この記事に返信する


skyblue

リンク

2014/6/10(Tue) 07:22:44|NO.62386

標準ではなかったはずです。
APIなどを使えばあります。



ぽいずん

リンク

2014/6/10(Tue) 18:32:44|NO.62390

skyblueさん

お返事ありがとうございます。
APIとはなんのことでしょうか?



kanahiron

リンク

2014/6/10(Tue) 19:48:57|NO.62391

この場合のAPIとはwindows APIですね
winAPIとか単純にAPIと言われます
winAPIはDLLの形で利用することができます
#uselib
で使うDLLを指定して
#func や #cfunc
で使う関数を定義します

またHSPには標準で定義済みのヘッダーも付属しています
例えばuser32.dllの関数を使いたいなら、上記の用に#uselibを使うか、
#include "user32.as"
とすることで利用できます

以下質問に対しての簡単なサンプルです
#uselib "user32.dll"
#cfunc FindWindow "FindWindowA" sptr, sptr #define WM_CLOSE 0x0010 #define SC_CLOSE 0xF060 #define NULL 0 objsize 200,50 pos 10,10 button gosub "メモ帳を起動する",*execnotepad button gosub "無題のメモ帳を終了する",*closenotepad stop *execnotepad exec "notepad.exe" return *closenotepad titletext = "無題 - メモ帳" hwnd_t = FindWindow(null,titletext) if stat = 0:dialog "見つからないのです":return mes strf("メモ帳のウィンドウハンドル:%08X",hwnd_t) sendmsg hwnd_t,WM_CLOSE,SC_CLOSE,16 mes "消えましたか?" return

わからないところがあったらとりあえず検索してみましょう
どうしてもわからなければ聞いてください!



ぽいずん

リンク

2014/6/11(Wed) 04:40:02|NO.62396

kanahironさん

ありがとうございます!
もっと自分でいろいろやってみます!



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