• 締切済み

ShellExecuteでURLのアドレス表示が変

どなたか教えて下さい。 開発環境は vb6 windowsXP sp2 です。 例えば ShellExecute(0, "open", App.Path & "http://hoge.htm", 0, 0, SW_SHOW) でIEを開いています。 開発環境では、うまくIEが開くのですが、 サーバーで実行すると、アドレスが 『http://hoge.htm%20"http://hoge.htm"』となってしまい画面がエラーとなってしまいます。 原因はサーバーなのでしょうか。 プログラムなのでしょうか。 サーバーはwindows2003サーバーです。

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

『App.Path & "http://hoge.htm"』 のうち『App.Path & 』が意味不明。 『"http://hoge.htm"』 『App.Path & "\" & "hoge.htm"』 のうちのいずれかでは? (注:後者の場合はルートドライブ対策を行うこと)

関連するQ&A

  • ShellExecuteでDOSコマンド実行したら...

    VC++6.0においてShellExecuteでDOS窓をたち上げてコマンドを 実行したいのですが、うまくいきません。 1.ShellExecute(m_hWnd,"open","command.com","dir",NULL,SW_SHOW); ...とすると”指定された COMMAND 検索ディレクトリが違います.”となり、 なにも実行されません。 2.ShellExecute(m_hWnd,"open","command.com","dir /?",NULL,SW_SHOW); ...とするとちゃんとdirのヘルプが表示されますが、すぐに窓が閉じます。 3.ShellExecute(m_hWnd,"open","command.com","dir /? > out.txt",NULL,SW_SHOW); ...としてもファイルが作られず、2.と全く同じ結果になってしまいます。 これはどうしてこのような現象が起きるのでしょうか? DOSプロンプトをたち上げて同様なコマンドを実行した場合はちゃんと期待通りの結果が得られます。 あと、DOS窓が閉じないようにするにはどうすればいいのでしょうか?

  • ShellExecuteのコマンドについて

    すみません、どなたか教えてください。 下記のコマンドですが、 ShellExecute(null,"open","cmd.exe","実行したいもの",NULL,SW_HIDE); "実行したいもの" の書き方なんですが、 "/c c:\\work\\test.bat" のように書くと、cmd.exeにtest.batを実行させることができたんですが、 実行したいtest.batが指定できず、変数でセットする場合の書き方が分かりません。 ShellExecute(null,"open","cmd.exe","/c c:\\work\\test.bat",NULL,SW_HIDE); ↓ ShellExecute(null,"open","cmd.exe","/c c:\\work\\ "" & 変数 & "",NULL,SW_HIDE); こんな感じだと思うのですが、変数をダブルクォーテーションで囲むときに、ダブルクォーテーションをいくつ重ねるのかが分かりません。ググっているのですが、どこを調べていいのか分からず、はまっています。どなかたアドバイスお願いします。C++です。

  • VB.netでShellExecuteがしたい

    VB6ですと ShellExecute(Me.Handle, "open", "History.csv", "", "", 3) とするとエクセルが開いて「History.csv」が観覧できるのですが、VB.netだと、エラーがでないもののエクセル画面がでてきません。なぜでしょうか? また、ShellExecuteに変わるような関数がありますでしょうか? 以下はソースです、パスは間違っていないし、返り値は562954248388610となっています。 i = ShellExecute(Me.Handle.ToInt64, "open", sFolderPullPath & "SerialHistory.csv", "", "", 3)

  • PATHを効かせてコマンド実行したい

    コンソールコンパイラランチャのアプリケーションを作っているのですが、 command.comの設定でつまずいてしまいました。 やりたいことは 1.コンパイラのパスを設定する 2.コンパイルコマンドをパラメータ付きで実行する の2ステップなんですが、ShellExecuteを使って別々なら出来るんですけど、 下記の方法では1.のパス設定が2回目のShellでは無効になってしまいます。 なにか良い方法はないでしょうか? ShellExecute(NULL,"open","command.com", "/c set PATH=%PATH%"+m_strCompPath,NULL,SW_SHOW); ShellExecute(NULL,"open","command.com", "/k "+CommandString,NULL,SW_SHOW); 環境はVC++6.0,MFCです。

  • ShellExecuteの使い方について

     既存のプログラム(他の人が作成したもの)を参考にプログラムを作成しましたが、どうしても、希望通りの挙動となりません。ShellExecuteの部分が要点と思いますので、その点について教えてください。言語は JavaScript です。  以下のような記述がありました。 ---- var launcher = new ActiveXObject("Shell.Application"); launcher.ShellExecute(cmd, param, "", "open", "1"); ----  ShellExecute の引き数の cmd は、実行ファイル名(ファイルパス付)、param は実行ファイルの引き数です。これはこれで動いています。  さて、これを参考に、cmd の部分にDOSコマンドを与えました。すると、DOSコマンドは実行されたものの、実行の瞬間に黒いウィンドウ(おそらく、コマンドプロンプトと思われます)が一瞬表示されました。この黒いウィンドウを表示させずにDOSコマンドを実行させたいのですが、引き数を調整することでそのようなことは可能でしょうか。  Webで調べたところ、ShellExecute の引き数として SW_SHOWNORMAL や SW_MAXIMIZE などを与える方法もあるようですが、SW_*** を紹介しているWebページでは、そもそも引き数の個数が上記と異なっていたりします。  ご助言をお願い致します。

  • ShellExecuteでエクセルファイルが起動しません。

     今、API関数GetOpenFileNameで「ファイルを開く」コモンダイアログを出して、  そこから選んだファイルのフルパスをテキストボックスに入れています。  さらにそのテキストボックスの中に入ったフルパスをAPI関数ShellExecuteで起動  させようとしているのですが、起動してくれません。  ちゃんとフルパスは入っています。  試しに新しいフォームを作ってShellExecute単独で、直接フルパスを  指定してやってみたところ起動できました。  問題は、パスではなく他の引数でしょうか??  ちなみに第1引数   : me.hwnd      第2引数   : "open"      第3引数   : フルパス      第4・5引数 : vbNullString      第6引数   : SW_SHOW と指定しました。  第4と5の引数はvbNullCharや""と指定してみました。  よろしくお願いします。

  • ShellExecuteについて質問です。

    ShellExecuteについて質問です。 ShellExecuteで関連づけられている画像ビューワを起動させたいと考えています。 (自分のマシンの場合、画像とFAXビューワが立ち上がります。) 画像はネットワークディスク上にあります。 以下コードです。 sPASS = ”画像のフルパス" lRet = ShellExecute(0, "open", sPASS, vbNull, vbNull, SW_NORMAL) しかし、ネットワーク上の他のマシンに画像ビューワが起動しないものがあります。 動作環境はAccess2000で、VBAで構築しています。 調べた結果、C:\WINDOWS\system32\shell32.dllは入っていました。 テスト結果は3台中、1台が起動しません。 何が原因しているのでしょうか? アドバイスよろしくお願いいたします。

  • ShellExecuteをつかって・・・

    もしかしたら非常に簡単な問題かもしれないんですけど、 SDIベースでShellExecuteをつかって以下のような関数を作ってコンパイルすると、 ”error C2065: 'm_hWnd' : 定義されていない識別子です。” がでます。 前に別プロジェクトでやったときは特に定義せず使えたような気がするのですが、 何か使い方が間違っているのでしょうか? #include "stdafx.h" #include "FCwin.h" #include "MainFrm.h" #include "FCwinDoc.h" #include "FCwinView.h" ・・・中略・・・ int CFCwinApp::DosFcExe() { HINSTANCE ret = ShellExecute(m_hWnd,"open","command.com",NULL,"c:\\",SW_SHOW); if((int)ret <= 32 ){AfxMessageBox("DOS窓開けません",MB_OK);return 1;} return 0; }

  • ActiveXコントロールの開発環境からのデバッグ方法

    VBで自作のActiveXコントロールを作成しました。 コンパイルして生成されたabcd.ocxを 自作のtest.htmファイル内に指定して、ActiveXコントロールから test.htmlに記述されたJavaScriptを制御します。 開発環境の実行を行わなわずに、test.htmをIEで表示させると、 ActiveXコントロールがダウンロードされ(すでにローカルにありますが)JavaScriptを実行することはできます。 やりたいのは、開発環境から実行させて、JavaScriptを動作させたのです。 どうすればいいのでしょうか? 環境は、VB6.0(SP5),IE5.5(SP1)です。

  • アプリケーション実行中にタスクバーに表示されない

    解かる方、ご伝授ください。 VB6sp5でAPPの作成、OSはWIN2000で開発、実行している環境です。 FORMから起動した場合はShowInTaskbarプロパティでタスクバーに追加するか設定できると思いますが、SubMainからの起動を行った場合の方法をご伝授ください。

専門家に質問してみよう