質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

3回答

911閲覧

Windows Form アプリの exe を vbs から起動するとメインフォームが不完全に表示された後、システムダウンする。

oribe

総合スコア17

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2022/12/08 02:12

前提

開発環境:Visual Studio 2019
開発言語:VB.NET
アプリ:Windows Form

ビルドした exe をダブルクリックして起動すると正常にフォームが表示されます。
勿論、Visual Studio でデバッグ開始しても正常にフォームが表示されます。

実現したいこと

vbs からその exe を起動したい。

発生している問題・エラーメッセージ

vbs から exe を起動するとメインフォーム内の各コントロールにテキストなどが設定されていない状態で表示された次の瞬間、システムダウンします。

該当のソースコード

option Explicit Dim objWshShell Set objWshShell = CreateObject("WScript.Shell") objWshShell.Run "C:\Users\User\以下省略\〇〇〇.exe"

試したこと

管理者権限で実行されるように vbs を修正しましたが、結果は同じでした。

補足情報(FW/ツールのバージョンなど)

別の Windows Form アプリでは上記同様の vbs からその exe を起動しても、正しく立ち上がり、実行できています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2022/12/08 02:22

「システムダウン」と聞くと、Windowsと言うOSごと異常終了したことを指すようにも思えますが、そういうことですか? それとも起動したWindows Formsのアプリだけが異常終了してしまったということでしょうか。 > 管理者権限で実行されるように vbs を修正しましたが、結果は同じでした もともとのWindows Formsのアプリは管理者権限で動く必要は無いのですよね。 > objWshShell.Run "C:\Users\User\以下省略\〇〇〇.exe" なんとなくですが、実行時のカレントディレクトリがその「〇〇〇.exe」と同じになっていなければいけないアプリなのではないでしょうか。
oribe

2022/12/08 07:49

●Windows Form アプリが異常終了となります。 ●「実行時のカレントディレクトリと exe が同じ」旨のご指摘、ありがとうございました。
guest

回答3

0

自己解決

dodox86 様のご指摘を受け、vbs を以下のように修正し、正しく起動することを確認しました。

WshShell.CurrentDirectory = Session.Property("TARGETDIR")

otn 様、YAmaGNZ 様、ご回答をくださり、誠にありがとうございました。

dodox86 様の指摘を受けての自己解決ということで本件クローズとさせてください。

投稿2022/12/08 07:57

oribe

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

VBScript

1option Explicit 2Dim objWshShell 3Set objWshShell = CreateObject("WScript.Shell") 4objWshShell.CurrentDirectory = "C:\Users\User\以下省略" 5objWshShell.Run "C:\Users\User\以下省略\〇〇〇.exe"

VBScript

1option Explicit 2Dim objWshShell 3Set objWshShell = CreateObject("WScript.Shell") 4objWshShell.Run "cmd /c ""cd /d C:\Users\User\以下省略 & 〇〇〇.exe"""

投稿2022/12/08 04:45

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

objWshShell.CurrentDirectoryで作業フォルダを指定してはどうでしょうか

投稿2022/12/08 04:40

YAmaGNZ

総合スコア10258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問