• ベストアンサー

vb.netでエラー

こんにちわ。 いまvb.netの勉強をしている者です。 初歩的な質問になるかと思いますが,教えてください。 フォーム上のリンクラベルをクリックして,あるwebページを 表示するために下記のコーディングをしました。 「System.Diagnostics.Process.Start("http://www.microsoft.com/japan/")」 実行するとこの行で, "Win32Exceptionはハンドルされませんでした" というメッセージが表示されてしまいます。 この場合何が原因と考えられるでしょうか? 教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1>スタートメニューのファイル名を指定して実行からURLを入力しても"アプリケーションが見つかりません"というメッセージが表示されてしまいます。 ファイル名を指定して実行からURLを入力して実行できない場合、 Process.Start でもURLのみを指定して起動はできないです。 URLに対してブラウザを起動する設定になっていないのだと思います。 System.Diagnostics.Process.Start("iexplore.exe","URL") か System.Diagnostics.Process.Start("C:\Program Files\Internet Explorer\iexplore.exe","URL") の様にしてみてはどうでしょう

tatsurou
質問者

お礼

BLUEPIXYさん 教えて頂いた通り, URLに対してブラウザを起動する設定になっていないことが原因のようです。 System.Diagnostics.Process.Start("iexplore.exe","URL")と System.Diagnostics.Process.Start("C:\Program Files\Internet Explorer\iexplore.exe","URL") のいずれにおいても正しく表示されました。 ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

.NET 2.0 XPPro ですが、問題なく実行できました。 例えば、スタートメニューのファイル名を指定して実行から 質問文のURLアドレスを入力してマイクロソフトのサイトが開けますか? あと、他にも表示されているメッセージがあれば補足してください。

tatsurou
質問者

補足

BLUEPIXYさん 回答ありがとうございます。 スタートメニューのファイル名を指定して実行から URLを入力しても"アプリケーションが見つかりません" というメッセージが表示されてしまいます。 ただ 「System.Diagnostics.Process.Start("notepad.exe")」 などと入力すると「メモ帳」が起動してくれます。 あと.NET実行時には"Win32Exceptionはハンドルされませんでした" というメッセージ以外は表示されていません。 詳細な情報が乏しく申し訳ありませんが, よろしくお願いします。

関連するQ&A

  • VB.NETからPerlを呼び出す

    メール自動送信機能をPerlで作成しました。 (仮にhello.plとします)hello.plを「C:\」においています。 コマンドプロンプトから次のようにperlコマンドを実行してた場合、 メールが自動送信されたことは確認できています。 perl hello.pl 同じようにVB.NETから実行したいのですが、上手くいきません。 ソース記述は以下の通りです。 Dim p As System.Diagnostics.Process = _ System.Diagnostics.Process.Start("C:\hello.pl") p.WaitForExit() どなたか分かる方がいらしたら、教えてください。

  • Process.Startで起動したアプリを最大化したいです。VB.NET

    こんにちは、お世話になっております。 下記のようなコードでアプリケーションを起動して ウィンドウを最大化したいのですが、 どのようにしたら良いでしょうか。 3行目のように大きさを画面いっぱいに設定する方法は 出来たのですが、最大化の方法がわかりません。 申し訳ありませんが、教えて頂きたくお願いいたします。 Dim p As System.Diagnostics.Process p = System.Diagnostics.Process.Start("***") MoveWindow(p.MainWindowHandle, 0, 0, 1024, 768, 1)

  • vb.netでEXCEL起動がうまくできないのですが原因は何が考えられ

    vb.netでEXCEL起動がうまくできないのですが原因は何が考えられるでしょうか? VB.NETでEXCELのファイルを作成し、その後、 System.Diagnostics.Process.Start("C:\Test.xls") でファイルを開こうとすると、Excelのタイトルバー、メニューバー、ステータスバーのみ表示 された状態で、内容が表示されません。(Windowsの背景が表示された状態) この状態でもファイルは正しく保存されています。 以前は開けていたようなのですが、最近は100%開けないようです。 これはメモリ不足が原因なのでしょうか? メモリは確か1G程度しかなかったと思います。 お願いいたします。 OS:WindowsXP SP3 VB:VB.Net2008 Excel:Excel2000

  • VB.NET で

    VB.NETでWindowsアプリを作成しているのですが、任意に入力されたメールアドレスへ、ある画像の添付ファイルを送信したいと思っています。 System.Diagnostics.Process.Start("Netscp.exe", "mailto:" & TextBox1.Text)  ここまではできているのですが、添付はどうすればよいのかわかりません。教えてください。よろしくお願いします。

  • VB6→VS2005アップグレード後のエラーについて

    VBを勉強中です。 段階としては書籍やサイトの見本プログラムを いくつか真似て作っているところです。 VB6で作られたプログラムのバージョンアップを 行う作業で、VB6→VS2005アップグレード完了後、 ビルドは完了するものの以下の警告が発生します。 変数 'int_d_sh' は、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。 「int_d_shが宣言された後、If int_d_sh = "PSUP" Thenまでの間で If int_d_shに値が入っていないのが原因なのでしょうか?」 「又、それが原因かどうかはわからないのですが デバッグ中に下記の例外エラーメッセージが発生し デバッグが完了しませんでした。」 [InvalidOperationExceptionはハンドルされませんでした。] フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: System.Security.Permissions.SecurityPermission 「詳細を表示したのですが、どこを参照すれば良いのか わかりませんでした。 どうすれば解決するのでしょうか? 以下は例外エラーが示したコード部分です。 よろしくお願いします。」 <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>Partial Class frm○○(プロジェクト名) #Region "Windows フォーム デザイナによって生成されたコード " <System.Diagnostics.DebuggerNonUserCode()> Public Sub New() MyBase.New() 'この呼び出しは、Windows フォーム デザイナで必要です。 InitializeComponent() End Sub

  • VB.NETでWebブラウザのお気に入り機能を作成する

    今後の仕事で使用するとのことで、自主的にVB.NETをVisualStudio2005で学習中の者です。 ちなみにレベルは初心者で学習の日も浅いです。 現在、自分でプログラムを組んでみようと思い、Webブラウザを作成しています。 困っていることですが、一般的なブラウザに見られる「お気に入り」という機能をこれから自分で作成したブラウザに追加しようと思っているのですが、一体どうやって作成すればいいのかが全くわかりません(泣) そもそもこの機能がVB.NETでできるのかも私にはわかりません(^^; 現段階では、 (1)フォーム内の「お気に入り」ボタンを押すとフォームの左側にIEと同じようにお気に入りのホームページへのリンクが記してあるはずのPanelが表示される。(私の場合真っ白なPanelが表示されるだけで、 リンクラベルはまだ何も配置していません。) (2)フォーム内のMemuStrip内の「お気に入りに追加」というMemuItem(でいいのでしょうか?)と押すと、「現在表示しているページをお気に入りに追加しますか?」というメッセージと「OK」「キャンセル」ボタンがある別のフォームが現在のフォームの上に表示される。 ここまで作成して作業が止まっています。私が一番わからないのは「お気に入りに追加しますか?」というフォームが表示された後、「OK」ボタンを押下するとお気に入りのホームページへのリンクが記されるPanelにリンクラベルを追加したいのですが、どのようなやり方でやればいいのかということです。 非表示のリンクラベルをPanel上に予めたくさん作っておいて…という考えも浮かびましたが、それだと作成できるリンクの数が決まってしまいますし、第一面倒ですよね。 皆さんの知恵を貸していただきたいです。 参考のホームページ等があればそれも教えていただきたく思います。 よろしくお願いいたします。

  • VS2008 VB.NETでのWindowsサービスアプリケーションに

    VS2008 VB.NETでのWindowsサービスアプリケーションについて VS2008 VB.NET でプログラムの勉強と思いWindowsサービス アプリケーションを作っています。 機能は、自分が起動したら指定された別のアプリケーションを 起動するという簡単なものです。 試しに別アプリケーションとしてメモ帳を指定してみました。 XPでは、メモ帳の画面が表示されたのですが、Vistaでは 「対話型サービスアプリケーションの検出」という画面が表示さ れメモ帳の画面が表示されませんでした。 起動の方法は以下のとおりです。 Dim psi As New System.Diagnostics.ProcessStartInfo() psi.FileName=<メモ帳のファイル名> psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal System.Diagnostics.Process.Start(psi) Vistaではこの方法ではいけないのでしょうか。 よろしくお願いいたします。

  • VB.NETで他のアプリが完全に起動するまで待機する方法を教えて

    VB.NET+WinXP環境なのですが、VB.NETで他のアプリを開いて MainWindowTitleでウィンドウタイトルを取得して、 それを元にFindWindowExでハンドル(Hwnd)を取得したいのですが Process.Start(ApplicationA) でアプリが完全に起動し終わる前に次の処理へ移ってしまい、 MainWindowTitleを取得する時に中身が""になってしまったり、 本来なら例えば 「Yahoo! JAPAN - Microsoft Internet Explorer」となるべきところを 「 - Microsoft Internet Explorer」の状態で取得して 次に進んでしまったりします。 起動を実行した後に、Sleep(2000)などを入れると大丈夫なのですが、 必要なSleep時間はマシンや開くアプリによって違うので不都合があります。 APIのWaitForInputIdleもHwndが取得できてからでないと使用できないようです。 恐れ入りますが、良い方法がありましたら、 ご教示頂きたく、お願い致します。

  • VB.NET 2003 でグラフィックの表示。

    VB.NETをはじめたばかりです。 プログラムのスタート時、まずフォーム内でGraphicsオブジェクトを取得して表示させたいのですが、グラフィックに関する事項が表示しません。 一方、同じコード記述をButtonイベント内に記述し、ボタンONではグラフィック部分の描画が可能です。 フォーム内の記述だけでスタート時にグラフィックを表示するにはどのようにすればよろしいのでしょうか。 なお、フォーム内のテキスト表示、ラベルなどはイベントの発生なしでも表示します。

  • VB6.0からVB.Netへの移行時に

    現在、VB6.0からVB.netへの移行作業をしています。 VB.netでは、Sub_Mainに書かれた処理が終了すると、 アプリケーションも終了するという事がヘルプに書かれて いました。変更手順もありましたので、その通りに 表示したいフォームをスタートアップオブジェクトに指定し、フォームのLoadイベントからSub_Mainを呼び出すように変更しました。 が、エラーがでます。 「System.InvalidOperationException' のハンドルされていない例外が system.windows.forms.dll で発生しました。」 「追加情報 : 1 つのスレッド上で、2 つ目のメッセージ ループを開始できません。Application.RunDialog または Form.ShowDialog を代わりに使用してください。」 .netに触るのは初めてで、入門書と格闘してますが、 エラーの意味する事すらわかりません。 何が問題なのでしょうか? 新規にフォームを作成したものは、問題なく表示されたのですが、VB6.0から移行したものは表示すらできない情況です。

専門家に質問してみよう