查看完整版本: VB6 程式A使用shell開啟程式B的問題
頁: [1]

sky_body 發表於 2021-5-11 11:32 PM

VB6 程式A使用shell開啟程式B的問題

本帖最後由 sky_body 於 2021-5-11 03:35 PM 編輯

請問各位大大, 不知道是不是win10的關係, 在使用shell開啟另一個執行檔時都會找不資料
以下 程式A
Shell "cmd.exe /c start R:\bbb.exe", vbHide

以下 程式B

Private Sub Form_Load()
Dim a As String
    Text1.Text = ""
    Open ".\Config.ini" For Input As #1
        Do Until EOF(1)
            Line Input #1, a
                Text1.Text = Text1.Text & a & vbCrLf

        Loop
    Close #1
End Sub
直接開啟程式B的話就都正常讀的到資料, 但是如果使用程式A去開啟程式B就會找不到資料
請問這是哪裡出了問題, 試了一整天都試不出結果{:38:}






...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

johnwanz 發表於 2021-5-12 09:16 AM

我懷疑是, 執行路徑的問題.

Open ".\Config.ini" 這個相對路徑的起點,
會是執行檔? 還是Shell? 可能要再確認一下.

Debug時, 丟個位置資訊出來看看.

sky_body 發表於 2021-5-12 10:30 AM

johnwanz 發表於 2021-5-12 01:16 AM static/image/common/back.gif
我懷疑是, 執行路徑的問題.

Open ".\Config.ini" 這個相對路徑的起點,


就是A程式使用shell去開啟bbb.exe, 然後bbb.exe去讀取Config.ini
昨晚測試到兩點半終於找到問題在哪了
Open ".\Config.ini" 改成 Open App.Path & "\Config.ini" 就可以了
想請問的是上面一個是相對路徑, 另一個應該是絕對路徑吧
但是bbb.exe跟Config.ini是放在一起的為啥會有這樣的問題呢{:36:}...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

johnwanz 發表於 2021-5-13 09:02 AM

我懷疑, 執行時的.\Config.ini, 是你shell的預設路徑, 而不是你bbb.exe的路徑.
所以, 你透過App.Path, 取得bbb.exe的絕對路徑,
以這個為基準, 再去作相對路徑的參考, 就不會有執行上的問題了.

tryit244178 發表於 2021-5-13 06:54 PM

我先做成執行檔,然後透過執行檔來跑是沒問題的
不要用F5來測試試試<br><br><br><br><br><div></div>
頁: [1]