ペイントの起動について

解決


XYLIMATE2  2004-02-09 09:29:59  No: 81909  IP: [192.*.*.*]

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 09:41:34  No: 81910  IP: [192.*.*.*]

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

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

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

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

ご検討下さい。

以上。

編集 削除
XYLIMATE2  2004-02-09 17:29:39  No: 81911  IP: [192.*.*.*]

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

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

編集 削除