請各位大大指教一下,我用程式在做刪檔的動作.但它會跳出一個確認的視窗(不給他跳這個確認視窗的話會出現錯誤訊息),所以想問說有沒有辦法就是在程式裡直接下指令去按下enter鍵嗎<br>
SendKeys {Enter},True
SendKeys "{Enter}" 請問一下 是這樣子用嗎
SendKeys string[, wait] string 必要引數。指定要送出之按鍵訊息的字串運算式。 Wait 選擇性引數。指定等待模式的 Boolean 值。如果是 False(預設值),則駐點在按鍵送出後立刻回到程序。如果是 True,按鍵訊息必須在駐點回到程序前加以處理。 以上的資料是MSDN找出的
1.如果是在該表單全域下按,記得KeyPreview=True 2. Kill path+"\*.*",會有確認視窗? 我試沒有!
感謝苦於思考的人,我已經做出來了 To~學到老 雖然我已經找到解決的方法,不過咱們還是互相研究一下唄,看看有沒有好一點的方法 以下是我Form_load時做的事 If Command = "S" Then Do While Timer - T < 3 DoEvents '*****dick Loop Call CopyNewVersion(App.Path & "\UPDATE.EXE", App.Path & "\PRU.EXE") DoEvents Shell App.Path & "\PRU.EXE S1" End ElseIf Command = "S1" Then Do While Timer - T < 3 DoEvents '*****dick Loop If Dir(App.Path & "\UPDATE.EXE") <> "" Then line = "1" WriteToBat line = "1-1" Sleep 2000 Shell App.Path & "\deletefile.bat" line = "2" MsgBox "請再次執行本程式,感謝您!" End End If End If l_Version = My.QryVal("mvarFileName", "pruDataBase") & "\PRU.EXE" l_LocalVersion = App.Path & "\PRU.EXE" s_ServerVer = GetfileVersion(l_Version) l_ServerVer = GetfileVersion(l_LocalVersion) If s_ServerVer = l_ServerVer Then Me.Show Else FileCopy l_Version, App.Path & "\UPDATE.EXE" Shell App.Path & "\UPDATE.EXE S" End End If 第一次執行時不會傳入任何參數... 這是我目前最後的版本啦 但若在line="2"時做Kill App.Path & "\UPDATE.EXE"會有錯誤訊息出現 所以之後我用了 With ShellCall .hwnd = hwnd .wFunc = FO_DELETE 'FO_MOVE .pFrom = DelFile '來源檔案 .hNameMappings = 0 End With lngResult = SHFileOperation(ShellCall) 的方式來做但他就會出現確認視窗,但若不讓確認視窗出現又會有跟之前一樣的錯誤訊息,因為那時update.exe會仍在執行中