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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1128
No Name別のプログラムの終了3未解決


No Name

リンク

2008/11/28(Fri) 23:47:00|NO.21118

exec命令を使えば、ソフトを起動できるのは、わかったのですが、
その起動したソフトを(強制)終了させたりはできるのでしょうか?
例えば、起動してからX秒たつと、起動したソフトを強制終了する。みたいな感じのものです。
よろしくおねがいします。



この記事に返信する


ANTARES

リンク

2008/11/29(Sat) 00:55:51|NO.21119

 aplsel, aplact, aplkeyでAlt+F4を押せばできますが、
aplkeyでAlt+×は利かない場合があるようなので、
Win32APIのkeybd_eventを使う方がいいかも。



a

リンク

2008/11/29(Sat) 15:57:57|NO.21125

GetActiveWindowとかFindWindowで起動したソフトのウィンドウハンドルを取得して、
WM_CLOSE か、WM_DESTROYをSendMessageすればできると思う



hspail

リンク

2008/11/29(Sat) 19:03:53|NO.21136

暇だったので作ってみました。

ShellExecuteExを実行すると、shexec.14にプロセスのハンドルが返るので、
3秒間待ってから、TerminateProcessで強制終了します。
最後の CloseHandle でプロセスのハンドルを閉じます。


#uselib "kernel32.dll" #func TerminateProcess "TerminateProcess" int, int #func CloseHandle "CloseHandle" int #uselib "shell32.dll" #func ShellExecuteEx "ShellExecuteExA" var #define SW_SHOWNORMAL 1 // 通常状態で起動 #define SEE_MASK_NOCLOSEPROCESS 0x00000040 app = "notepad.exe" // 実行するプロセス dim shexec, 60 // SHELLEXECUTEINFO構造体 shexec.0 = 60 shexec.1 = SEE_MASK_NOCLOSEPROCESS shexec.4 = varptr(app) shexec.7 = SW_SHOWNORMAL ShellExecuteEx shexec wait 300 // 3秒間待つ TerminateProcess shexec.14, 0 // プロセスを強制終了 CloseHandle shexec.14 print "完了."



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