ShellExecuteでd:\ドライブのアプリ起動するには?

解決


f@初心者  2003-10-12 22:04:44  No: 109077

すいません、間違えて解決押して立て直しました

ShellExecuteを使ってやると
C:\windows\の中のファイルしか起動できませんでした
d:\の中などのファイル起動出来ないです

中身はここの解説ページそのままです
ShellExecute(Me.hWnd, "Open", "Calc.exe", "c:\windows\", "", SW_SHOW)
のところを ShellExecute(Me.hWnd, "Open", "a.txt", "d:\", "", SW_SHOW)
に変えて実行しただけなんですがボタン押してもエラー文も反応もありません
d:\a.txtファイルの起動の仕方を教えてください

'標準モジュール
Public Declare Function ShellExecute  Lib "SHELL32"  Alias "ShellExecuteA" (ByVal hWnd&, ByVal lpOperation$, ByVal lpFile$, ByVal lpParameters$, ByVal lpDirectory$, ByVal nShowCmd&) As Long

Public Const SW_SHOW = 5 'ウインドウをアクティブにする

'ここからはフォーム内の処理です
Private Sub Command1_Click()
    Dim Ret As Long
      ShellExecute(Me.hWnd, "Open", "Calc.exe", "c:\windows\", "", SW_SHOW)
End Sub


たかみちえ  URL  2003-10-13 03:10:51  No: 109078

第4引数の使い方が違うと思います。
第4引数に指定してるもの自体は問題ないと思いますけど、
それは別に、第3引数でパスを省略してもよいということではありません。(と思います)
第3引数にディレクトリを含めたパスを指定してください。


たかみちえ  URL  2003-10-13 03:14:37  No: 109079

追記します。
電卓が普通に起動できたのは、
Calc.exeがC:\Windowsにあったから起動できた  というだけです。

  C:\Windowsを含めいくつかのフォルダは、
Windowsにパスが登録されているので、
省略してもいい  というだけです。


f@初心者  2003-10-13 05:04:27  No: 109080

なるほどです
ありがとでした

ShellExecute(Me.hWnd, "Open", "d:\a.txt", "d:\", "", SW_SHOW)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加