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
環境的にWin9x系が無いので全てではありませんが・・・
mspaint.exeのありかについては、通常のシステムの状態
であれば、環境変数のPathで、パスが通っているので、
フルパス指定しなくても、起動できましたが・・・
※ 何か画像ファイルを食わせて開かせるならば、関連付け
されたソフトが起動してしまいますが、BMPの場合、デ
フォルトでは、ペイントなので・・・そういう手もあり
ますが・・・
関連付けの件は、この掲示板の過去に投稿がありますので
検索してみて下さい。
ご検討下さい。
以上。
岡田さん 書き込みありがとうございます。
このような感じに書き換えました。
ありがとうございました。
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