HTA + VBScript(+ Javascript)で「特定のファイルをイントラネット内の別PC(Server)からコピーするツール」を作成しました。イメージ的にはフォーム上の「更新ボタン」をクリックするとコピーダイアログが表示されるようなものです。
このツールを使いファイルコピー中(コピーダイアログが表示されているとき)にHTAのフォームを終了するとプロセス上にmshta.exeが残りHTAを再度実行することができない状態になります。
そこで「コピー中のみHTAフォームに付随するコントロールボックスの×ボタンを無効にする」ような機能を追加したいのですが、HTA + VBScriptでコントロールボックスの制御に介入することはできるのでしょうか?
コントロールボックス自体を非表示にすることはできますが認知度の高い表現なので残したいと考えています。
また、コピー中にHTAフォームのvisibilityをhiddenにしてフォームを隠しておく方法も考えたのですが、フォーム上にコピー中であることを示すメッセージを表示したりしているのでこの案もできれば採用したくありません。
何か良い方法がありましたら教えてください。よろしくお願いします。
OS:Windows XP Pro
IE:Internet Explorer
No.2ベストアンサー
- 回答日時:
別法です。
コピー自体は別プロセスであると割り切ってしまっては?コピー自体(CopyHereメソッドと思われます)を別のVBSとして
保存し、ボタンのイベント処理ではRunメソッド(非同期)で、この
VBSを実行するようにします。非同期のRunメソッドはプロセス起動後
直ぐに制御を戻しますので、×ボタンでHTAを閉じてもmshta.exeが
残る可能性は殆どありません。
但し、コピーがいつ終了したかは直接確かめる方法がないので、
コピー中メッセージを表示しないか、VBSからHTA画面にSendKeysを
発行する等の方法で同期を取ります。
試験的にvbs外部ファイルを作成し試してみましたが、仰る通りHTAを閉じてもmshta.exeが残らないことを確認しました。
ありがとうございました。
No.1
- 回答日時:
「閉じる」ボタンだけを抑止する方法は無いようです。
もし、C言語等でプログラムできるなら、画面のウィンドウハンドルを
使って制御することができます。
尚、SYSMENUを非表示にしても Alt + F4 で閉じますので、KeyDown
イベントで抑えておかないと「抜け道」が残ってしまいます。
やはりHTAではコントロールボックスに介入はできないのですね。。。
本職ではないのでプログラム言語は扱えないです。
現象の発生条件自体、通常使用では起こらないと思われるので仕様として残すことも考えます。
Alt + F4はとりあえずコントロールボックス制御が解決できてから考えようと思っておりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
エクセルのハイパーリンクがコ...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセルファイルに「コピー」...
-
バッチファイルのコピーで
-
アクセス クエリを別のファイ...
-
Gitについて質問。 クローンし...
-
開いている別のファイルにExcel...
-
xcopyでのバッチコピー方法でコ...
-
FSO.CopyFileでのエラー無視方法
-
エクセルVBAで開いているファイ...
-
vbsでファイルやフォルダのコピ...
-
FTPとファイルコピーの違いにつ...
-
ワードへのハイパーリンク貼り...
-
VB6でのファイルコピーの終了検...
-
[エクセル]コピーするとオブジ...
-
現在のブックを閉じないで、マ...
-
エクセル 同じデータなのに違う...
-
同じファイル名 上書きしないフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
エクセルのマクロについて教え...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセルのハイパーリンクがコ...
-
エクセルVBAで開いているファイ...
-
ファイルサーバ上のファイルが...
-
エクセル2010、図が大きすぎま...
-
[エクセル]コピーするとオブジ...
-
バッチファイルのコピーで
-
アクセス クエリを別のファイ...
-
Vba初心者です。下記のコード助...
-
バッチファイル 別ファイルにリ...
-
同じファイル名 上書きしないフ...
-
Gitについて質問。 クローンし...
-
vbsでExcelのシートをコピーす...
-
xcopyでのバッチコピー方法でコ...
-
マインクラフトPCをプレイしよ...
-
ファイルをコピーできない
おすすめ情報