[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/01/13(Thu) 21:21
投稿者名:まさよし
Eメール:
URL :
タイトル:
外部アプリの終了方法
またやってきました。
sendkeysの送信は解決しましたが、次なる課題で躓いています。
Shellで起動した外部アプリ(AutoCAD-LT)をsendkeysの送信の後、終了させるには
どうすればいいのでしょうか?
自分なりにネットや書籍で調べましたがこれといって載っていませんでした。
教えて君で申し訳ありませんが、ご教授ねがえないでしょうか?
↓がソースの一部です。宜しくお願いいたします.

'AutoCAD LT 2004を起動
Ret = Shell("C:\Program Files\AutoCAD LT 2004\aclt.exe", vbMaximizedFocus)
Sleep (8000)
'AutoCADをアクティブにします。
AppActivate "AutoCAD"
'3000ミリ秒待機させる(3秒)
Sleep (3000)
'コマンドラインに送信
SendKeys "filedia" & Chr$(13) & "0" & Chr$(13) & &
quot;script" & Chr$(13)
& "c:\temp\scriptC.scr" & Chr$(13), True

投稿時間:2005/01/13(Thu) 22:53
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 外部アプリの終了方法
> 自分なりにネットや書籍で調べましたがこれといって載っていませんでした。
いくらでもありますよ。
hhttp://www.google.co.jp/search?hl=ja&inlang=ja&q=%E3%82%A2%E3%83%97%E3%83%AA%E3%80%80%E7%B5%82%E4%BA%86%E3%80%80VB&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

まずは、投稿するまえに、ここの逆引きヘルプや過去のログを検索してください。

ここの逆引きヘルプの[他のEXEのハンドルを取得しVBから終了する]を見て下さい。

投稿時間:2005/01/14(Fri) 08:42
投稿者名:まさよし
Eメール:
URL :
タイトル:
Re^2: 外部アプリの終了方法
花ちゃんさん、すみません<(_ _)>
このサイトは、逆引きヘルプはもちろんですが他の関連なども一応目は通しました。
しかし、私がしたいことがどれなのかわからずネット検索でも「VB6 外部アプリ 終了」
などで検索をかけていろいろみましたが、やはり理解ができません。ソースなどを記述するのですが
かならずエラーが出てしまいます。私は本当は超初心者でしてAPIなど手が出せる身分ではないのです。
未だ、ハンドル名やクラス名の取得の意味さえわかりません。教えていただいた[他のEXEのハンドルを
取得しVBから終了する]もたぶん、私のスキルでは駄目でしょう。ご迷惑をお掛けしました<(_ _)&g
t;
もう少し勉強してから投稿いたします。

投稿時間:2005/01/14(Fri) 09:43
投稿者名:YK
Eメール:
URL :
タイトル:
Re: 外部アプリの終了方法
こんにちは。

あんまりむずかしく考えずに

> 'コマンドラインに送信
> SendKeys "filedia" & Chr$(13) & "0" & Chr$(13) & &am
p;
> quot;script" & Chr$(13)
> & "c:\temp\scriptC.scr" & Chr$(13), True

SendKeys "{ESC}"
SendKeys "%{F4}N", True

を追加したらどうですか。

投稿時間:2005/01/14(Fri) 11:44
投稿者名:まさよし
Eメール:
URL :
タイトル:
Re^2: 外部アプリの終了方法
YK様 優しいお言葉有難うございます<(_ _)>

'コマンドラインに送信
SendKeys "filedia"−−中略−−& "c:\temp\scriptC.scr" & Chr$(13),
True
p;
↑のp;もいれるのですか?書くとエラーが出ました。
入れないで実行するとAutoCADLTが立ち上げってすぐに終了します。
"c:\temp\scriptC.scr"←のパスのscriptC.scrというファイルを読み取って
処理をするのですが、素通りして終了します。
ここに、処理が終了してから下のsendkeysを実行させる様にしたのですが可能でしょうか?
SendKeys "{ESC}"
SendKeys "%{F4}N", True

宜しくお願い致します。

投稿時間:2005/01/14(Fri) 14:12
投稿者名:YK
Eメール:
URL :
タイトル:
Re^3: 外部アプリの終了方法
こんにちは。

まさよしさんのやりたい事が良く分からないのですが。
終了させるように書いてありますから終了します。
このようなことですか。

Ret をモジュールレベルで書いて
Dim Ret as Long

Private Sub Command1_Click()
    Ret = Shell("C:\Program Files\AutoCAD LT 2004\aclt.exe", vbMaximizedFocus)
    Sleep (8000)
    'AutoCADをアクティブにします。
    AppActivate "AutoCAD"
    '3000ミリ秒待機させる(3秒)
    Sleep (3000)
    'コマンドラインに送信
    SendKeys "filedia" & Chr$(13) & "0" & Chr$(13) & &
    quot;script" & Chr$(13)
    & "c:\temp\scriptC.scr" & Chr$(13), True
End Sub

Private Sub Command2_Click()
    ' 保存しないで終了
    AppActivate Ret
    SendKeys "%{F4}N", True
End Sub

投稿時間:2005/01/14(Fri) 16:00
投稿者名:まさよし
Eメール:
URL :
タイトル:
Re^4: 外部アプリの終了方法
YK様、ご迷惑をお掛けします。
私の説明不足ですね。
Ret = Shell("C:\Program Files\AutoCAD LT 2004\aclt.exe", vbMaximizedFocus)
ここで、AutoCADが起動します。
    Sleep (8000)
    'AutoCADをアクティブにします。
    AppActivate "AutoCAD"
    '3000ミリ秒待機させる(3秒)
    Sleep (3000)
    'コマンドラインに送信
    SendKeys "filedia" & Chr$(13) & "0" & Chr$(13) & &
amp;
    quot;script" & Chr$(13)
    & "c:\temp\scriptC.scr" & Chr$(13), True
sendkeysでAutoCADのコマンドラインにコマンドが送られます。
一通り処理が終わります。
この時点で、AutoCADのウィンドウ画面がまだ立ち上がった状態なのです。
普通でしたら右上の×ボタンをマウスでクリックしてウインドウを閉じます。
それを、自動で閉じたいわけです。ご理解いただけたでしょうか?
「何だそれくらい我慢しろ!」と怒られるかもしれませんね。すみません。
でも、出来る限り自動でやりたいと思っただけです。今、教えて頂いたソースを書き加えましたが
駄目でした。やはりAPI関数を使用しないと駄目でしょうか?私には敷居が高すぎます。
今のままでも十分使えるのですが、我慢しなくてはいけませんね。
もう少し、自分なりに頑張ってみます。もしご教授願えたら幸いです。

投稿時間:2005/01/14(Fri) 16:51
投稿者名:YK
Eメール:
URL :
タイトル:
Re^5: 外部アプリの終了方法
こんにちは。

> sendkeysでAutoCADのコマンドラインにコマンドが送られます。
> 一通り処理が終わります。

だったら此処で

処理待ち時間
Sleep (3000)

フォーカスが外れるようでしたら
AppActivate Ret

終了
SendKeys "%{F4}N", True

で良いと思います。

投稿時間:2005/01/14(Fri) 23:01
投稿者名:まさよし
Eメール:
URL :
タイトル:
Re^6: 外部アプリの終了方法
YK様、駄目でした。書いてらっしゃる通りにした結果 scriptの処理はしましたが
ウインドウは終了してくれません。難しいですね....
もう少し、自己流で調べてみます。

投稿時間:2005/01/17(Mon) 10:32
投稿者名:INA
Eメール:
URL :
タイトル:
Re^7: 外部アプリの終了方法
APIについて、こちらのサイトは参考になりませんか?
hhttp://homepage1.nifty.com/MADIA/vb/VBKANREN.htm

投稿時間:2005/01/18(Tue) 12:20
投稿者名:いな
Eメール:
URL :
タイトル:
Re^8: 外部アプリの終了方法
APIのサンプル集 第2弾!

Win32 サンプル集
hhttp://nienie.com/~masapico/sample_index.html

API別 Win32 サンプル集
hhttp://nienie.com/~masapico/api_index.html

投稿時間:2005/01/19(Wed) 07:41
投稿者名:まさよし
Eメール:
URL :
タイトル:
Re^9: 外部アプリの終了方法
いな様 情報有難うございます。
参考にさせて頂きます。