ペイントの起動について

解決


XYLIMATE2  2004-02-09 18:29:59  No: 81909

VB6でプレゼンテーションソフトを作成しております。
windowsの持っているペイント(mspaint.exe)を起動する
ボタンを付けました。
  インストールファイルも作成したのですが,win9x系,2000,XPで
mspaint.exeのあるフォルダが違うので,下記のようにしましたが,
2000では,うまく起動しません。(OneMore:  のところです)
9x系,XPでは大丈夫なんですが・・・・。
どなたか  ご教授頂きたいのですが,よろしくお願いします。

Private Sub cmdDrow_Click()
    'お絵かき
    Dim Ret As Long
    Dim MyFile As String
    On Error GoTo nextChance:
    MyFile = Chr$(34) & "C:\Program Files\Accessories\MSPAINT.EXE" & Chr$(34)
    Ret = Shell(MyFile, vbNormalFocus)
    Exit Sub

nextChance:
    On Error GoTo OneMore
    MyFile = Chr$(34) & "C:\windows\System32\mspaint.exe" & Chr$(34)
    Ret = Shell(MyFile, vbNormalFocus)
    Exit Sub

OneMore:
    On Error GoTo ErrExit
    MyFile = Chr$(34) & "c:\WINNT\System32\mspaint.exe" & Chr$(34)
    Ret = Shell(MyFile, vbNormalFocus)
    Exit Sub

ErrExit:
End Sub


岡田 之仁  2004-02-09 18:41:34  No: 81910

環境的にWin9x系が無いので全てではありませんが・・・

mspaint.exeのありかについては、通常のシステムの状態
であれば、環境変数のPathで、パスが通っているので、
フルパス指定しなくても、起動できましたが・・・

※  何か画像ファイルを食わせて開かせるならば、関連付け
    されたソフトが起動してしまいますが、BMPの場合、デ
    フォルトでは、ペイントなので・・・そういう手もあり
    ますが・・・

関連付けの件は、この掲示板の過去に投稿がありますので
検索してみて下さい。

ご検討下さい。

以上。


XYLIMATE2  2004-02-10 02:29:39  No: 81911

岡田さん  書き込みありがとうございます。
このような感じに書き換えました。
ありがとうございました。

Private Sub cmdDrow_Click()
    'お絵かき
    Dim Ret As Long
    Dim MyFile As String
    On Error GoTo err03
    MyFile = Chr$(34) & "\MSPAINT.EXE" & Chr$(34)
    Ret = Shell(MyFile, vbNormalFocus)
    Exit Sub
err03:
    MsgBox "ペイントソフトが見つかりませんでした。", vbCritical, vbOKOnly
    Exit Sub
End Sub


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

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






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